Punctuality of Swiss public transportWeek 5115 Dec – 21 Dec 2025
86.8% of 955,925 trips were on time. The best day was Sunday 21 December with 92.3%, the worst Wednesday 17 December with 84.4%. Of the busy lines, M2 Genève-Pâquis (lac) – Genève-Quai Gustave Ador (lac) had the lowest share on time: 34.7%.
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.8%
−2.2 ptsWeek before: 89% · 955,925 trips with live data
Average delay
+1.3 min
Canceled trips
3,064
0.3% of the trips
Day by day
The share on time of each day. A day opens its page.
- 95%
- Average: 86.8%
- Best day
- Sun 21 Dec · 92.3%
- Worst day
- Wed 17 Dec · 84.4%
- Worst hour
- Tue 17:00–18:00 · 63.5%
By mode
-
Train 95.1%
95,710 trips · avg +0.8 min
-
Tram 79.5%
76,486 trips · avg +1.9 min
-
Bus 86.5%
779,545 trips · avg +1.3 min
-
Metro 95.2%
2,184 trips · avg +0.9 min
-
Boat 54.7%
2,000 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) 34.7%
784 trips · avg +5.1 min
-
1,043 trips · avg +3.6 min
-
1,171 trips · avg +4.6 min
-
688 trips · avg +4.3 min
-
429 trips · avg +3.2 min
-
Bus 50 Basel EuroAirport, Verwaltung – Basel, Bahnhof SBBBasel EuroAirport, Verwaltung – Basel, Bahnhof SBB 48.5%
441 trips · avg +3.4 min
-
Bus 109 Neuchâtel, Place Pury – Neuchâtel, Trois-ChênesNeuchâtel, Place Pury – Neuchâtel, Trois-Chênes 49.8%
791 trips · avg +3.3 min
-
Bus 898 Büren an der Aare, Bahnhof – Münchenbuchsee, BahnhofBüren an der Aare, Bahnhof – Münchenbuchsee, Bahnhof 53.9%
332 trips · avg +3.3 min
Show 17 more
-
1,140 trips · avg +4.1 min
-
1,310 trips · avg +5.7 min
-
Tram 8 Basel, Neuweilerstrasse – Weil am Rhein, Bahnhof/ZentrumBasel, Neuweilerstrasse – Weil am Rhein, Bahnhof/Zentrum 56.6%
465 trips · avg +3.5 min
-
314 trips · avg +2.9 min
-
300 trips · avg +3 min
-
Tram 14 Basel, Dreirosenbrücke – Pratteln, SchlossstrasseBasel, Dreirosenbrücke – Pratteln, Schlossstrasse 61.7%
1,891 trips · avg +3 min
-
Bus 3 Canobbio, Mercato Resega – Breganzona, PostaCanobbio, Mercato Resega – Breganzona, Posta 62.2%
1,390 trips · avg +3.7 min
-
1,141 trips · avg +2.6 min
-
Bus 61 Wallisellen, Glatt (Bus) – Zürich, MühlackerWallisellen, Glatt (Bus) – Zürich, Mühlacker 62.6%
1,064 trips · avg +2.9 min
-
911 trips · avg +2.6 min
-
374 trips · avg +6.6 min
-
1,264 trips · avg +2.8 min
-
1,928 trips · avg +2.8 min
-
1,898 trips · avg +2.8 min
-
Bus 33 Zürich, Triemli – Zürich Tiefenbrunnen, BahnhofZürich, Triemli – Zürich Tiefenbrunnen, Bahnhof 66.6%
2,005 trips · avg +2.6 min
-
Bus 11 Chur, Bahnhofplatz – Felsberg, Rjterstutz/AeuliChur, Bahnhofplatz – Felsberg, Rjterstutz/Aeuli 67.1%
1,024 trips · avg +2.5 min
-
1,495 trips · avg +2.6 min
Most punctual busy lines
-
1,542 trips · avg +0.5 min
-
2,031 trips · avg +0.8 min
-
2,184 trips · avg +0.9 min
-
1,478 trips · avg +1 min
-
Bus 1 Winterthur, Oberwinterthur – Winterthur, TössWinterthur, Oberwinterthur – Winterthur, Töss 94.4%
1,841 trips · avg +1 min
-
Bus 101 Bern, Hauptbahnhof – Hinterkappelen, SchlossmattBern, Hauptbahnhof – Hinterkappelen, Schlossmatt 94%
1,530 trips · avg +0.9 min
-
Bus 781 Zürich Oerlikon, Bahnhof – Glattbrugg, GiebeleichstrasseZürich Oerlikon, Bahnhof – Glattbrugg, Giebeleichstrasse 93.1%
1,513 trips · avg +1 min
-
1,624 trips · avg +1.1 min
Least punctual busy lines
-
374 trips · avg +6.6 min
-
803 trips · avg +1.9 min
-
518 trips · avg +1.7 min
-
548 trips · avg +1 min
-
756 trips · avg +1.5 min
-
527 trips · avg +1.2 min
-
307 trips · avg +1.4 min
-
682 trips · avg +1.2 min
Show 17 more
-
467 trips · avg +0.8 min
-
820 trips · avg +1.1 min
-
287 trips · avg +1.2 min
-
332 trips · avg +1 min
-
329 trips · avg +0.9 min
-
365 trips · avg +1 min
-
500 trips · avg +1 min
-
560 trips · avg +0.8 min
-
560 trips · avg +0.7 min
-
546 trips · avg +0.8 min
-
586 trips · avg +0.7 min
-
386 trips · avg +0.7 min
-
546 trips · avg +1 min
-
551 trips · avg +0.8 min
-
290 trips · avg +0.7 min
-
497 trips · avg +0.7 min
-
498 trips · avg +1 min
Most punctual busy lines
-
553 trips · avg +0.2 min
-
462 trips · avg +0.2 min
-
456 trips · avg +0.1 min
-
867 trips · avg +0.3 min
-
1,163 trips · avg +0.3 min
-
474 trips · avg +0.1 min
-
451 trips · avg +0.4 min
-
555 trips · avg +0.5 min
Least punctual busy lines
-
Tram 8 Basel, Neuweilerstrasse – Weil am Rhein, Bahnhof/ZentrumBasel, Neuweilerstrasse – Weil am Rhein, Bahnhof/Zentrum 56.6%
465 trips · avg +3.5 min
-
Tram 14 Basel, Dreirosenbrücke – Pratteln, SchlossstrasseBasel, Dreirosenbrücke – Pratteln, Schlossstrasse 61.7%
1,891 trips · avg +3 min
-
1,954 trips · avg +2 min
-
1,813 trips · avg +2.5 min
-
1,905 trips · avg +2.3 min
-
Tram 8 Bern, Saali – Bern Brünnen Westside, BahnhofBern, Saali – Bern Brünnen Westside, Bahnhof 72.6%
532 trips · avg +2.2 min
-
2,373 trips · avg +2.6 min
-
1,814 trips · avg +2.3 min
Show 17 more
-
2,650 trips · avg +2.3 min
-
653 trips · avg +2.8 min
-
2,041 trips · avg +1.9 min
-
2,028 trips · avg +1.8 min
-
1,984 trips · avg +1.6 min
-
1,967 trips · avg +1.9 min
-
Tram 9 Wabern, Tram-Endstation – Bern Wankdorf, BahnhofWabern, Tram-Endstation – Bern Wankdorf, Bahnhof 82.3%
2,049 trips · avg +1.9 min
-
Tram 51 Zürich Altstetten, Bahnhof N – Zürich, SeebachZürich Altstetten, Bahnhof N – Zürich, Seebach 82.5%
2,035 trips · avg +1.7 min
-
Tram 7 Stettbach, Bahnhof – Zürich, WollishoferplatzStettbach, Bahnhof – Zürich, Wollishoferplatz 83%
487 trips · avg +1.5 min
-
Tram 2 Binningen, Kronenplatz – Basel, Badischer BahnhofBinningen, Kronenplatz – Basel, Badischer Bahnhof 84.2%
463 trips · avg +1.7 min
-
2,018 trips · avg +1.5 min
-
1,040 trips · avg +1.7 min
-
Tram 11 Zürich, Central – Zürich Tiefenbrunnen, BahnhofZürich, Central – Zürich Tiefenbrunnen, Bahnhof 84.7%
484 trips · avg +1.5 min
-
353 trips · avg +1.4 min
-
Tram 10 Zürich Flughafen, Fracht – Zürich, Bahnhofplatz/HBZürich Flughafen, Fracht – Zürich, Bahnhofplatz/HB 88%
408 trips · avg +1.3 min
-
1,960 trips · avg +1.1 min
-
1,951 trips · avg +1.1 min
Most punctual busy lines
-
971 trips · avg +0.3 min
-
1,478 trips · avg +1 min
-
Tram 20 Killwangen, Bahnhof – Zürich Altstetten, BahnhofKillwangen, Bahnhof – Zürich Altstetten, Bahnhof 92.9%
1,082 trips · avg +1.2 min
-
1,951 trips · avg +1.1 min
-
1,960 trips · avg +1.1 min
-
Tram 10 Zürich Flughafen, Fracht – Zürich, Bahnhofplatz/HBZürich Flughafen, Fracht – Zürich, Bahnhofplatz/HB 88%
408 trips · avg +1.3 min
-
353 trips · avg +1.4 min
-
Tram 11 Zürich, Central – Zürich Tiefenbrunnen, BahnhofZürich, Central – Zürich Tiefenbrunnen, Bahnhof 84.7%
484 trips · avg +1.5 min
Least punctual busy lines
-
1,043 trips · avg +3.6 min
-
1,171 trips · avg +4.6 min
-
429 trips · avg +3.2 min
-
Bus 50 Basel EuroAirport, Verwaltung – Basel, Bahnhof SBBBasel EuroAirport, Verwaltung – Basel, Bahnhof SBB 48.5%
441 trips · avg +3.4 min
-
Bus 109 Neuchâtel, Place Pury – Neuchâtel, Trois-ChênesNeuchâtel, Place Pury – Neuchâtel, Trois-Chênes 49.8%
791 trips · avg +3.3 min
-
Bus 898 Büren an der Aare, Bahnhof – Münchenbuchsee, BahnhofBüren an der Aare, Bahnhof – Münchenbuchsee, Bahnhof 53.9%
332 trips · avg +3.3 min
-
1,140 trips · avg +4.1 min
-
1,310 trips · avg +5.7 min
Show 17 more
-
314 trips · avg +2.9 min
-
300 trips · avg +3 min
-
Bus 3 Canobbio, Mercato Resega – Breganzona, PostaCanobbio, Mercato Resega – Breganzona, Posta 62.2%
1,390 trips · avg +3.7 min
-
1,141 trips · avg +2.6 min
-
Bus 61 Wallisellen, Glatt (Bus) – Zürich, MühlackerWallisellen, Glatt (Bus) – Zürich, Mühlacker 62.6%
1,064 trips · avg +2.9 min
-
911 trips · avg +2.6 min
-
1,264 trips · avg +2.8 min
-
1,928 trips · avg +2.8 min
-
1,898 trips · avg +2.8 min
-
Bus 33 Zürich, Triemli – Zürich Tiefenbrunnen, BahnhofZürich, Triemli – Zürich Tiefenbrunnen, Bahnhof 66.6%
2,005 trips · avg +2.6 min
-
Bus 11 Chur, Bahnhofplatz – Felsberg, Rjterstutz/AeuliChur, Bahnhofplatz – Felsberg, Rjterstutz/Aeuli 67.1%
1,024 trips · avg +2.5 min
-
1,495 trips · avg +2.6 min
-
471 trips · avg +3 min
-
Bus 32 Zürich, Strassenverkehrsamt – Zürich, HolzerhurdZürich, Strassenverkehrsamt – Zürich, Holzerhurd 67.4%
2,119 trips · avg +2.4 min
-
682 trips · avg +3.1 min
-
1,499 trips · avg +2.5 min
-
Bus 206 Montreux, rue de la Gare – Montreux, casinoMontreux, rue de la Gare – Montreux, casino 68.5%
295 trips · avg +2.6 min
Most punctual busy lines
-
Bus 1 Schaffhausen, Waldfriedhof – Neuhausen, HerbstäckerSchaffhausen, Waldfriedhof – Neuhausen, Herbstäcker 97.2%
1,315 trips · avg +0.9 min
-
1,542 trips · avg +0.5 min
-
Bus 6 St. Gallen, Bach St. Georgen – St. Gallen, HeiligkreuzSt. Gallen, Bach St. Georgen – St. Gallen, Heiligkreuz 96.5%
1,297 trips · avg +0.6 min
-
1,291 trips · avg +1 min
-
Bus 1 Winterthur, Oberwinterthur – Winterthur, TössWinterthur, Oberwinterthur – Winterthur, Töss 94.4%
1,841 trips · avg +1 min
-
1,270 trips · avg +0.9 min
-
Bus 101 Bern, Hauptbahnhof – Hinterkappelen, SchlossmattBern, Hauptbahnhof – Hinterkappelen, Schlossmatt 94%
1,530 trips · avg +0.9 min
-
1,376 trips · avg +0.8 min
Least punctual operators
-
Mouettes genevoises 54.7%
2,000 trips · avg +3.6 min
-
TPL 68.2%
10,472 trips · avg +3 min
-
Busbetrieb Rapperswil-Eschenbach-Rüti ZH 71.8%
1,901 trips · avg +2.1 min
-
BVB 71.9%
29,542 trips · avg +2.4 min
-
VBL 72.6%
25,731 trips · avg +2.3 min
-
Automobil Rottal 74.1%
2,963 trips · avg +2.1 min
-
Verkehrsbetrieb LIECHTENSTEINmobil 74.6%
5,421 trips · avg +2.2 min
-
Transports Publics Neuchâtelois 74.8%
10,845 trips · avg +2.1 min
Show 17 more
-
Lugano-Ponte Tresa 75.6%
803 trips · avg +1.9 min
-
TPG 77.1%
60,592 trips · avg +2.1 min
-
Bus Nyon-Prangins 78.1%
2,264 trips · avg +1.9 min
-
Bus und Service 79.2%
10,079 trips · avg +1.8 min
-
Transports publics Vevey-Montreux-Chillon-Villeneuve 79.2%
7,538 trips · avg +1.9 min
-
Auto AG Rothenburg 79.6%
4,986 trips · avg +1.8 min
-
Zentralbahn AG Ersatzverkehr 79.7%
817 trips · avg +1.7 min
-
Busbetrieb Solothurn und Umgebung 80.2%
4,660 trips · avg +1.8 min
-
Autolinee Regionali Luganesi 80.4%
1,421 trips · avg +1.9 min
-
Stadtbus Frauenfeld 80.8%
3,522 trips · avg +1.8 min
-
Regionale Verkehrsbetriebe Baden-Wettingen 81.3%
8,551 trips · avg +1.7 min
-
Busbetrieb Aarau 82%
6,310 trips · avg +1.7 min
-
VBZ 82.3%
108,659 trips · avg +1.7 min
-
Regiobus Gossau SG 82.9%
3,413 trips · avg +1.6 min
-
TPF 83%
26,167 trips · avg +1.4 min
-
Bus Sierrois 83.5%
1,561 trips · avg +1.5 min
-
tl 84.5%
45,040 trips · avg +1.5 min
Most punctual operators
-
Sihltal-Zürich-Uetliberg-Bahn 99.1%
2,031 trips · avg +0.6 min
-
Regionalverkehr Bern-Solothurn 98.6%
3,938 trips · avg +0.4 min
-
Aare Seeland mobil 98.5%
2,058 trips · avg +0.4 min
-
THURBO 97.6%
7,793 trips · avg +0.4 min
-
BLS 97.5%
10,667 trips · avg +0.5 min
-
Zentralbahn 97.7%
2,186 trips · avg +0.3 min
-
Schweizerische Südostbahn 97.4%
3,531 trips · avg +0.5 min
-
Auto AG Schwyz 97.1%
5,043 trips · avg +0.4 min
Stations
The share of the departures less than 3 minutes late. A train station has departures of trains.
-
Zürich HB 94.3%
11,911 departures · avg +1.1 min
-
Bern 97.6%
7,235 departures · avg +0.9 min
-
Zürich Oerlikon 94%
6,285 departures · avg +1.1 min
-
Zürich Stadelhofen 89.1%
4,919 departures · avg +1.5 min
-
Winterthur 96.9%
4,851 departures · avg +1 min
-
Zürich Hardbrücke 82.6%
4,746 departures · avg +2.1 min
-
Olten 94.5%
4,247 departures · avg +1.1 min
-
Lausanne 91.6%
3,774 departures · avg +1.4 min
-
Aarau 95.5%
3,628 departures · avg +0.9 min
-
St. Gallen 93.2%
3,605 departures · avg +1.3 min
-
Renens VD 92.8%
3,471 departures · avg +1.2 min
-
Luzern 96.8%
3,263 departures · avg +0.9 min
-
Genève, gare Cornavin 78.6%
19,983 departures · avg +2.2 min
-
Bern, Bahnhof 92.9%
19,481 departures · avg +1.3 min
-
Genève, Bel-Air 80.3%
19,316 departures · avg +2.1 min
-
Luzern, Kantonalbank 78.3%
16,285 departures · avg +2.1 min
-
Basel, Schifflände 78.6%
14,867 departures · avg +2.1 min
-
Zürich, Central 85.7%
14,867 departures · avg +1.8 min
-
Bern, Hirschengraben 88.9%
14,780 departures · avg +1.6 min
-
Bern, Zytglogge 88.3%
14,202 departures · avg +1.6 min
-
Luzern, Bahnhof 87.3%
14,197 departures · avg +1.5 min
-
Lausanne, Bel-Air 69.2%
14,137 departures · avg +2.7 min
-
Zürich, Bellevue 83.4%
13,956 departures · avg +1.9 min
-
Basel, Bankverein 79.2%
13,435 departures · avg +2.2 min
-
Magliaso Paese 60.3%
803 departures · avg +3.2 min
-
Agno 62.5%
803 departures · avg +3.2 min
-
Magliaso 64.3%
803 departures · avg +3 min
-
Serocca 65.4%
803 departures · avg +2.9 min
-
Bioggio Molinazzo 67.2%
803 departures · avg +2.8 min
-
Bioggio 70.6%
803 departures · avg +2.5 min
-
Caslano 72.2%
803 departures · avg +2.6 min
-
Muhen Nord 72.5%
1,025 departures · avg +1.8 min
-
Oberentfelden Engelplatz 72.7%
1,025 departures · avg +1.7 min
-
Zug Chollermüli 73.2%
941 departures · avg +2.3 min
-
Cham Alpenblick 73.3%
948 departures · avg +2.3 min
-
Zufikon 73.9%
1,027 departures · avg +2.2 min
Largest delays
- TGV Zürich HB +200 min
- Bus 1 Gebenstorf, Reuss – Würenlos, Bettlen Baden, Bahnhof Ost +173 min
- Bus 870 Rüti ZH, Bahnhof – Hinwil, Bahnhof Rüti ZH, Bahnhofand 1 more trips of this line +172 min
- Bus 3 Wettingen, Brunnenwiese +170 min
- Bus 884 Rüti ZH, Bahnhof – Rüti ZH, Bahnhof Rüti ZH, Bahnhof +154 min
- Tram 14 Basel, Dreirosenbrücke – Pratteln, Schlossstrasse Basel, Dreirosenbrücke +145 min
- Bus 869 Wetzikon ZH, Bahnhofand 1 more trips of this line +138 min
- Bus 72 Zürich, Milchbuck – Zürich, Morgental Zürich, Milchbuck +132 min
- Bus 857 Wetzikon ZH, Zentrum – Wetzikon ZH, Bahnhof Wetzikon ZH, Zentrumand 2 more trips of this line +125 min
- NJ Feldkirch – Zürich HB Zürich HBand 2 more trips of this line +122 min
- Bus 19 Onex, cité – Vernier, village Vernier, villageand 1 more trips of this line +102 min
- Bus 1 Genève, Jardin Botanique – Thônex, Hôpital Trois-Chêne Thônex, Hôpital Trois-Chêneand 3 more trips of this line +98 min
- Bus 870 Hinwil, Bahnhof +96 min
- Bus 869 Wetzikon ZH, Bahnhof +89 min
- Bus 818 Uster, Bahnhof – Uster, Sportanlage Uster, Sportanlageand 1 more trips of this line +85 min