Punctuality of Swiss public transportWeek 3921 Sept – 27 Sept 2026
86.6% of 984,017 trips were on time. The best day was Sunday 27 September with 89.8%, the worst Friday 25 September with 84.2%. Of the busy lines, M2 Genève-Pâquis (lac) – Genève-Quai Gustave Ador (lac) had the lowest share on time: 36.3%.
On time
What counts as on time?
On time means less than 3 minutes late. Only trips with live data count, and only trips that run mostly in Switzerland; cable cars do not count.
86.6%
−0.4 ptsWeek before: 87% · 984,017 trips with live data
Average delay
+1.4 min
Canceled trips
4,265
0.4% of the trips
Day by day
The share on time of each day. A day opens its page.
- 95%
- Average: 86.6%
- Best day
- Sun 27 Sept · 89.8%
- Worst day
- Fri 25 Sept · 84.2%
- Worst hour
- Tue 17:00–18:00 · 65.3%
By mode
-
Train 94.3%
96,107 trips · avg +0.8 min
-
Tram 83.7%
77,560 trips · avg +1.7 min
-
Bus 86.1%
805,346 trips · avg +1.4 min
-
Metro 85.1%
2,064 trips · avg +1.7 min
-
Boat 55.5%
2,940 trips · avg +3.6 min
Hour by hour
The share of the trips on their way that are less than 3 minutes late, each hour. A day opens its page.
- ≥ 95%
- 90–95%
- 85–90%
- 75–85%
- < 75%
The network by punctuality
Each train, tram and metro line in the color of its share on time.
- ≥ 95%
- 90–95%
- 85–90%
- 75–85%
- < 75%
- no data
Least punctual busy lines
-
M2 Genève-Pâquis (lac) – Genève-Quai Gustave Ador (lac)Genève-Pâquis (lac) – Genève-Quai Gustave Ador (lac) 36.3%
1,098 trips · avg +5 min
-
Bus 109 Neuchâtel, Place Pury – Neuchâtel, Trois-ChênesNeuchâtel, Place Pury – Neuchâtel, Trois-Chênes 38.3%
1,403 trips · avg +4.5 min
-
614 trips · avg +4.8 min
-
1,098 trips · avg +4.3 min
-
492 trips · avg +3.7 min
-
Bus 9 Vernier, Lignon Tours – Thônex, Belle-Terre Pl. AraireVernier, Lignon Tours – Thônex, Belle-Terre Pl. Araire 50.2%
1,355 trips · avg +4.1 min
-
994 trips · avg +4.2 min
-
598 trips · avg +3.9 min
Show 17 more
-
Bus 61 Wallisellen, Glatt (Bus) – Zürich, MühlackerWallisellen, Glatt (Bus) – Zürich, Mühlacker 55.5%
1,065 trips · avg +3.2 min
-
1,730 trips · avg +3.5 min
-
1,054 trips · avg +3.2 min
-
1,189 trips · avg +3.5 min
-
Tram 8 Basel, Neuweilerstrasse – Weil am Rhein, Bahnhof/ZentrumBasel, Neuweilerstrasse – Weil am Rhein, Bahnhof/Zentrum 58.4%
449 trips · avg +3.1 min
-
876 trips · avg +2.9 min
-
Bus 62 Zürich, Waidhof – Zürich, SchwamendingerplatzZürich, Waidhof – Zürich, Schwamendingerplatz 58.5%
1,204 trips · avg +2.8 min
-
939 trips · avg +3.8 min
-
770 trips · avg +3.7 min
-
1,139 trips · avg +2.9 min
-
1,171 trips · avg +3.2 min
-
Bus 22 Carouge GE, Rondeau – Genève, Jardin BotaniqueCarouge GE, Rondeau – Genève, Jardin Botanique 60.9%
524 trips · avg +3.2 min
-
Bus 108 Neuchâtel, Temple Valangines – Neuchâtel, Place PuryNeuchâtel, Temple Valangines – Neuchâtel, Place Pury 60.9%
1,304 trips · avg +3.3 min
-
314 trips · avg +3 min
-
1,896 trips · avg +3.4 min
-
900 trips · avg +2.8 min
-
1,460 trips · avg +2.9 min
Most punctual busy lines
-
1,515 trips · avg +0.3 min
-
2,050 trips · avg +0.6 min
-
1,612 trips · avg +0.8 min
-
Bus 101 Bern, Hauptbahnhof – Hinterkappelen, SchlossmattBern, Hauptbahnhof – Hinterkappelen, Schlossmatt 96.9%
1,531 trips · avg +0.6 min
-
2,365 trips · avg +0.9 min
-
1,861 trips · avg +0.7 min
-
1,433 trips · avg +0.9 min
-
1,516 trips · avg +1 min
Least punctual busy lines
-
735 trips · avg +2.6 min
-
454 trips · avg +7.9 min
-
782 trips · avg +2.3 min
-
511 trips · avg +2 min
-
359 trips · avg +1.4 min
-
494 trips · avg +1.2 min
-
385 trips · avg +1 min
-
418 trips · avg +1.3 min
Show 17 more
-
543 trips · avg +0.9 min
-
375 trips · avg +1.2 min
-
370 trips · avg +0.7 min
-
286 trips · avg +0.6 min
-
308 trips · avg +0.9 min
-
560 trips · avg +0.9 min
-
420 trips · avg +0.7 min
-
406 trips · avg +0.8 min
-
448 trips · avg +0.7 min
-
359 trips · avg +0.7 min
-
457 trips · avg +0.6 min
-
417 trips · avg +0.7 min
-
550 trips · avg +0.7 min
-
803 trips · avg +0.8 min
-
332 trips · avg +0.6 min
-
355 trips · avg +0.6 min
-
490 trips · avg +0.6 min
Most punctual busy lines
-
406 trips · avg +0 min
-
1,163 trips · avg +0.1 min
-
867 trips · avg +0.3 min
-
474 trips · avg +0.2 min
-
712 trips · avg +0.5 min
-
990 trips · avg +0.2 min
-
491 trips · avg +0.3 min
-
383 trips · avg +0.3 min
Least punctual busy lines
-
Tram 8 Basel, Neuweilerstrasse – Weil am Rhein, Bahnhof/ZentrumBasel, Neuweilerstrasse – Weil am Rhein, Bahnhof/Zentrum 58.4%
449 trips · avg +3.1 min
-
Tram 14 Basel, Dreirosenbrücke – Pratteln, SchlossstrasseBasel, Dreirosenbrücke – Pratteln, Schlossstrasse 68.2%
1,883 trips · avg +2.6 min
-
1,923 trips · avg +2.1 min
-
1,908 trips · avg +2.5 min
-
1,166 trips · avg +2.4 min
-
1,944 trips · avg +1.9 min
-
1,847 trips · avg +2 min
-
1,884 trips · avg +1.7 min
Show 17 more
-
2,288 trips · avg +1.9 min
-
2,015 trips · avg +1.7 min
-
351 trips · avg +1.5 min
-
Tram 7 Stettbach, Bahnhof – Zürich, WollishoferplatzStettbach, Bahnhof – Zürich, Wollishoferplatz 83.1%
468 trips · avg +1.8 min
-
Tram 2 Binningen, Kronenplatz – Basel, Badischer BahnhofBinningen, Kronenplatz – Basel, Badischer Bahnhof 83.3%
462 trips · avg +1.8 min
-
1,928 trips · avg +2.1 min
-
1,958 trips · avg +1.6 min
-
Tram 9 Wabern, Tram-Endstation – Bern Wankdorf, BahnhofWabern, Tram-Endstation – Bern Wankdorf, Bahnhof 85.5%
2,294 trips · avg +1.6 min
-
2,666 trips · avg +2.5 min
-
1,898 trips · avg +1.8 min
-
Tram 51 Zürich Altstetten, Bahnhof N – Zürich, SeebachZürich Altstetten, Bahnhof N – Zürich, Seebach 87.6%
1,952 trips · avg +1.7 min
-
1,849 trips · avg +1.4 min
-
Tram 11 Zürich, Central – Zürich Tiefenbrunnen, BahnhofZürich, Central – Zürich Tiefenbrunnen, Bahnhof 90%
448 trips · avg +1.5 min
-
1,919 trips · avg +1.1 min
-
Tram 10 Zürich Flughafen, Fracht – Zürich, Bahnhofplatz/HBZürich Flughafen, Fracht – Zürich, Bahnhofplatz/HB 91%
411 trips · avg +1.3 min
-
1,096 trips · avg +1.1 min
-
1,907 trips · avg +1.1 min
Most punctual busy lines
-
975 trips · avg +0.1 min
-
Tram 20 Killwangen, Bahnhof – Zürich Altstetten, BahnhofKillwangen, Bahnhof – Zürich Altstetten, Bahnhof 95.9%
1,079 trips · avg +1 min
-
1,516 trips · avg +1 min
-
1,907 trips · avg +1.1 min
-
1,096 trips · avg +1.1 min
-
Tram 10 Zürich Flughafen, Fracht – Zürich, Bahnhofplatz/HBZürich Flughafen, Fracht – Zürich, Bahnhofplatz/HB 91%
411 trips · avg +1.3 min
-
1,919 trips · avg +1.1 min
-
Tram 11 Zürich, Central – Zürich Tiefenbrunnen, BahnhofZürich, Central – Zürich Tiefenbrunnen, Bahnhof 90%
448 trips · avg +1.5 min
Least punctual busy lines
-
Bus 109 Neuchâtel, Place Pury – Neuchâtel, Trois-ChênesNeuchâtel, Place Pury – Neuchâtel, Trois-Chênes 38.3%
1,403 trips · avg +4.5 min
-
614 trips · avg +4.8 min
-
492 trips · avg +3.7 min
-
Bus 9 Vernier, Lignon Tours – Thônex, Belle-Terre Pl. AraireVernier, Lignon Tours – Thônex, Belle-Terre Pl. Araire 50.2%
1,355 trips · avg +4.1 min
-
994 trips · avg +4.2 min
-
598 trips · avg +3.9 min
-
Bus 61 Wallisellen, Glatt (Bus) – Zürich, MühlackerWallisellen, Glatt (Bus) – Zürich, Mühlacker 55.5%
1,065 trips · avg +3.2 min
-
1,730 trips · avg +3.5 min
Show 17 more
-
1,054 trips · avg +3.2 min
-
1,189 trips · avg +3.5 min
-
876 trips · avg +2.9 min
-
Bus 62 Zürich, Waidhof – Zürich, SchwamendingerplatzZürich, Waidhof – Zürich, Schwamendingerplatz 58.5%
1,204 trips · avg +2.8 min
-
939 trips · avg +3.8 min
-
770 trips · avg +3.7 min
-
1,139 trips · avg +2.9 min
-
1,171 trips · avg +3.2 min
-
Bus 22 Carouge GE, Rondeau – Genève, Jardin BotaniqueCarouge GE, Rondeau – Genève, Jardin Botanique 60.9%
524 trips · avg +3.2 min
-
Bus 108 Neuchâtel, Temple Valangines – Neuchâtel, Place PuryNeuchâtel, Temple Valangines – Neuchâtel, Place Pury 60.9%
1,304 trips · avg +3.3 min
-
314 trips · avg +3 min
-
1,896 trips · avg +3.4 min
-
900 trips · avg +2.8 min
-
1,460 trips · avg +2.9 min
-
1,295 trips · avg +3.2 min
-
1,902 trips · avg +2.9 min
-
431 trips · avg +2.8 min
Most punctual busy lines
-
1,515 trips · avg +0.3 min
-
1,294 trips · avg +0.5 min
-
1,612 trips · avg +0.8 min
-
Bus 101 Bern, Hauptbahnhof – Hinterkappelen, SchlossmattBern, Hauptbahnhof – Hinterkappelen, Schlossmatt 96.9%
1,531 trips · avg +0.6 min
-
2,365 trips · avg +0.9 min
-
Bus 6 St. Gallen, Bach St. Georgen – St. Gallen, HeiligkreuzSt. Gallen, Bach St. Georgen – St. Gallen, Heiligkreuz 96.1%
1,298 trips · avg +0.6 min
-
1,338 trips · avg +0.7 min
-
1,861 trips · avg +0.7 min
Least punctual busy lines
-
M2 Genève-Pâquis (lac) – Genève-Quai Gustave Ador (lac)Genève-Pâquis (lac) – Genève-Quai Gustave Ador (lac) 36.3%
1,098 trips · avg +5 min
-
1,098 trips · avg +4.3 min
-
372 trips · avg +0.5 min
-
M4 Genève-Port Noir (lac) – Genève-De-Châteaubriand (lac)Genève-Port Noir (lac) – Genève-De-Châteaubriand (lac) 99.2%
372 trips · avg +0.5 min
Least punctual operators
-
Mouettes genevoises 55.5%
2,940 trips · avg +3.6 min
-
Transports Publics Neuchâtelois 65%
18,662 trips · avg +2.9 min
-
VBL 65.9%
25,593 trips · avg +2.8 min
-
Lugano-Ponte Tresa 72%
782 trips · avg +2.3 min
-
TPG 73.1%
61,192 trips · avg +2.4 min
-
TPL 73.5%
10,368 trips · avg +2.6 min
-
Busbetrieb Aarau 75.7%
6,338 trips · avg +2.1 min
-
Auto AG Rothenburg 77.1%
4,843 trips · avg +1.9 min
Show 17 more
-
Autobetrieb Sernftal 78.2%
889 trips · avg +2.2 min
-
BVB 78.5%
31,523 trips · avg +2 min
-
Verkehrsbetrieb LIECHTENSTEINmobil 78.8%
5,374 trips · avg +1.9 min
-
Matterhorn Gotthard Bahn 79.2%
2,195 trips · avg +1.9 min
-
Automobil Rottal 79.3%
2,938 trips · avg +1.8 min
-
Service d'automobiles TRN 79.8%
1,414 trips · avg +2.3 min
-
Bus und Service 80.3%
10,120 trips · avg +1.8 min
-
tl 81.4%
45,005 trips · avg +1.7 min
-
VBZ 82.6%
109,387 trips · avg +1.7 min
-
Bus Sierrois 82.6%
1,722 trips · avg +1.6 min
-
Busbetrieb Rapperswil-Eschenbach-Rüti ZH 82.7%
1,874 trips · avg +1.7 min
-
Busbetrieb Solothurn und Umgebung 82.7%
4,845 trips · avg +1.6 min
-
Transports publics Vevey-Montreux-Chillon-Villeneuve 83.4%
7,099 trips · avg +1.4 min
-
Regionale Verkehrsbetriebe Baden-Wettingen 83.7%
9,091 trips · avg +1.5 min
-
Bus Nyon-Prangins 83.7%
2,252 trips · avg +2.9 min
-
Regiobus Gossau SG 84.9%
3,514 trips · avg +1.5 min
-
Stadtbus Frauenfeld 85.9%
3,459 trips · avg +2.3 min
Most punctual operators
-
Aare Seeland mobil 99.2%
2,193 trips · avg +0.3 min
-
Regionalverkehr Bern-Solothurn 99%
3,945 trips · avg +0.2 min
-
Zentralbahn 98.5%
2,481 trips · avg +1 min
-
THURBO 97.7%
7,821 trips · avg +0.4 min
-
Schweizerische Südostbahn 97.8%
3,511 trips · avg +0.5 min
-
BLS 96.9%
10,698 trips · avg +0.5 min
-
Wengernalpbahn 97.7%
923 trips · avg +0.4 min
-
Sihltal-Zürich-Uetliberg-Bahn 96.7%
1,786 trips · avg +0.6 min
Stations
The share of the departures less than 3 minutes late. A train station has departures of trains.
-
Zürich HB 92.7%
10,734 departures · avg +1.3 min
-
Bern 97%
7,235 departures · avg +0.9 min
-
Zürich Oerlikon 93.1%
6,235 departures · avg +1.2 min
-
Zürich Stadelhofen 89.5%
4,846 departures · avg +1.5 min
-
Winterthur 95.7%
4,746 departures · avg +1.2 min
-
Zürich Hardbrücke 82.6%
4,689 departures · avg +2.2 min
-
Olten 93.5%
4,231 departures · avg +1.3 min
-
St. Gallen 94.7%
3,595 departures · avg +1.3 min
-
Aarau 94.8%
3,556 departures · avg +0.9 min
-
Lausanne 91.5%
3,340 departures · avg +1.4 min
-
Luzern 97.9%
3,270 departures · avg +0.8 min
-
Renens VD 91.4%
3,237 departures · avg +1.3 min
-
Genève, gare Cornavin 72.3%
20,014 departures · avg +2.4 min
-
Genève, Bel-Air 75.5%
19,420 departures · avg +2.3 min
-
Bern, Bahnhof 95.7%
18,955 departures · avg +1.1 min
-
Luzern, Kantonalbank 73.7%
14,951 departures · avg +2.4 min
-
Zürich, Central 90.1%
14,932 departures · avg +1.3 min
-
14,844 departures · avg +1.9 min
-
Lausanne, Bel-Air 67.5%
13,924 departures · avg +2.7 min
-
Basel, Bahnhof SBB 87.5%
13,920 departures · avg +1.7 min
-
Zürich, Bellevue 90.7%
13,476 departures · avg +1.4 min
-
Luzern, Bahnhof 83.7%
13,438 departures · avg +1.7 min
-
Bern, Zytglogge 94.8%
13,253 departures · avg +1.2 min
-
St. Gallen, Bahnhof 86.7%
13,219 departures · avg +1.4 min
-
Magliaso Paese 60%
782 departures · avg +3.4 min
-
Magliaso 62.8%
782 departures · avg +3.2 min
-
Agno 62.9%
782 departures · avg +3.2 min
-
Serocca 65.5%
782 departures · avg +3 min
-
Bioggio Molinazzo 66.6%
782 departures · avg +2.9 min
-
Caslano 67.5%
782 departures · avg +3.1 min
-
Bioggio 72.9%
782 departures · avg +2.5 min
-
Colombier NE Littorail 74.4%
893 departures · avg +2.8 min
-
Cappella-Agnuzzo 74.4%
782 departures · avg +2.4 min
-
Oberentfelden Engelplatz 74.8%
1,025 departures · avg +1.6 min
-
Muhen Nord 75.1%
1,025 departures · avg +1.5 min
-
Como S. Giovanni 75.7%
810 departures · avg +2.7 min
Largest delays
- EC Bregenz – Zürich HB Zürich HBand 6 more trips of this line +214 min
- Bus 380 Neuchâtel, gare sud – Le Locle, gare/centre ville Le Locle, gare/centre ville +205 min
- Bus 4 Prilly, Coudraie – Lausanne, Faverges Prilly, Coudraieand 2 more trips of this line +202 min
- Bus 422 Villiers, centre +191 min
- Bus 7 Wettingen, Tägi +178 min
- Bus 501 Scheid, Oberscheid – Tumegl/Tomils, Curschiglias Scheid, Oberscheidand 3 more trips of this line +175 min
- Bus 68 Lutry, Croix/Lutry – Lutry, gare Lutry, gareand 3 more trips of this line +175 min
- Bus 21 Paudex, Verrièreand 2 more trips of this line +170 min
- Tram 12 Lancy-Bachet, gare – Thônex, Moillesulaz Lancy-Bachet, gareand 13 more trips of this line +158 min
- Bus 80 Genève, Bel-Air – Saint-Julien, gare Genève, Bel-Air +151 min
- Tram 13 Zürich, Bahnhofstrasse/HB +146 min
- NJ Zürich HB +144 min
- Tram 4 Zürich, Rehalp – Zürich, Bahnhofstrasse/HB Zürich, Bahnhofstrasse/HB +132 min
- S41 Fribourg/Freiburg +131 min
- NJ Basel Bad Bfand 1 more trips of this line +126 min
›Probably errors in the feed (2)
Delays of more than 6 hours. The real-time feed sent them, but they are probably not real.