Punctuality of Swiss public transportWeek 5222 Dec – 28 Dec 2025
93.6% of 855,205 trips were on time. The best day was Thursday 25 December with 95.7%, the worst Monday 22 December with 91.5%. Of the busy lines, Bus 101 Cormondrèche, Grand'Rue – Marin-Epagnier, gare had the lowest share on time: 35.1%.
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.
93.6%
+6.8 ptsWeek before: 86.8% · 855,205 trips with live data
Average delay
+0.8 min
Canceled trips
1,677
0.2% of the trips
Day by day
The share on time of each day. A day opens its page.
- 95%
- Average: 93.6%
- Best day
- Thu 25 Dec · 95.7%
- Worst day
- Mon 22 Dec · 91.5%
- Worst hour
- Mon 15:00–16:00 · 79.9%
By mode
-
Train 97.2%
93,659 trips · avg +0.5 min
-
Tram 89%
68,531 trips · avg +1.3 min
-
Bus 93.6%
689,282 trips · avg +0.8 min
-
Metro 98.9%
1,904 trips · avg +0.8 min
-
Boat 50.6%
1,829 trips · avg +3.9 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
-
Bus 101 Cormondrèche, Grand'Rue – Marin-Epagnier, gareCormondrèche, Grand'Rue – Marin-Epagnier, gare 35.1%
849 trips · avg +4.2 min
-
M2 Genève-Pâquis (lac) – Genève-Quai Gustave Ador (lac)Genève-Pâquis (lac) – Genève-Quai Gustave Ador (lac) 38.2%
767 trips · avg +4.8 min
-
767 trips · avg +4.2 min
-
1,043 trips · avg +3.5 min
-
1,117 trips · avg +3.1 min
-
518 trips · avg +4.1 min
-
Bus 109 Neuchâtel, Place Pury – Neuchâtel, Trois-ChênesNeuchâtel, Place Pury – Neuchâtel, Trois-Chênes 63.9%
1,111 trips · avg +2.6 min
-
416 trips · avg +2.9 min
Show 17 more
-
671 trips · avg +2.2 min
-
Bus 301 Davos Glaris, Ortolfi – Davos Laret, LandhausDavos Glaris, Ortolfi – Davos Laret, Landhaus 69.8%
938 trips · avg +2.3 min
-
1,769 trips · avg +1.7 min
-
Tram 8 Basel, Neuweilerstrasse – Weil am Rhein, Bahnhof/ZentrumBasel, Neuweilerstrasse – Weil am Rhein, Bahnhof/Zentrum 72.6%
878 trips · avg +2.1 min
-
Bus 898 Büren an der Aare, Bahnhof – Münchenbuchsee, BahnhofBüren an der Aare, Bahnhof – Münchenbuchsee, Bahnhof 72.8%
302 trips · avg +2 min
-
708 trips · avg +2.9 min
-
1,071 trips · avg +1.9 min
-
1,206 trips · avg +2.7 min
-
Bus 11 Chur, Bahnhofplatz – Felsberg, Rjterstutz/AeuliChur, Bahnhofplatz – Felsberg, Rjterstutz/Aeuli 75.2%
1,025 trips · avg +2.1 min
-
Bus 50 Basel EuroAirport, Verwaltung – Basel, Bahnhof SBBBasel EuroAirport, Verwaltung – Basel, Bahnhof SBB 76.1%
1,150 trips · avg +2.1 min
-
428 trips · avg +1.9 min
-
Bus 436 Crans-Montana, gare – Crans-Montana, MarignyCrans-Montana, gare – Crans-Montana, Marigny 77.2%
378 trips · avg +2.7 min
-
Bus 601 St. Moritz, Bahnhof – Sils/Segl Maria, PostaSt. Moritz, Bahnhof – Sils/Segl Maria, Posta 77.3%
428 trips · avg +2.8 min
-
414 trips · avg +4.6 min
-
304 trips · avg +2.2 min
-
Bus 2 Fribourg, Schönberg Dunant – Villars-sur-Glâne, Les DaillesFribourg, Schönberg Dunant – Villars-sur-Glâne, Les Dailles 77.8%
1,281 trips · avg +2.5 min
-
Bus 61 Wallisellen, Glatt (Bus) – Zürich, MühlackerWallisellen, Glatt (Bus) – Zürich, Mühlacker 77.9%
972 trips · avg +1.8 min
Most punctual busy lines
-
1,470 trips · avg +0.3 min
-
Bus 781 Zürich Oerlikon, Bahnhof – Glattbrugg, GiebeleichstrasseZürich Oerlikon, Bahnhof – Glattbrugg, Giebeleichstrasse 99.4%
1,337 trips · avg +0.5 min
-
Bus 101 Bern, Hauptbahnhof – Hinterkappelen, SchlossmattBern, Hauptbahnhof – Hinterkappelen, Schlossmatt 99%
1,203 trips · avg +0.3 min
-
1,904 trips · avg +0.8 min
-
1,191 trips · avg +0.4 min
-
1,875 trips · avg +0.6 min
-
Bus 1 Winterthur, Oberwinterthur – Winterthur, TössWinterthur, Oberwinterthur – Winterthur, Töss 97.9%
1,686 trips · avg +0.7 min
-
Bus 3 Winterthur, Oberseen – Winterthur, RosenbergWinterthur, Oberseen – Winterthur, Rosenberg 97.7%
1,682 trips · avg +0.4 min
Least punctual busy lines
-
671 trips · avg +2.2 min
-
414 trips · avg +4.6 min
-
532 trips · avg +1.5 min
-
392 trips · avg +1.2 min
-
771 trips · avg +1.2 min
-
518 trips · avg +1.2 min
-
379 trips · avg +0.8 min
-
363 trips · avg +0.9 min
Show 17 more
-
490 trips · avg +0.9 min
-
284 trips · avg +0.5 min
-
640 trips · avg +0.6 min
-
526 trips · avg +0.8 min
-
287 trips · avg +0.7 min
-
335 trips · avg +0.6 min
-
326 trips · avg +0.6 min
-
558 trips · avg +0.5 min
-
312 trips · avg +0.4 min
-
330 trips · avg +0.8 min
-
287 trips · avg +0.3 min
-
292 trips · avg +0.4 min
-
552 trips · avg +0.6 min
-
553 trips · avg +0.4 min
-
333 trips · avg +0.4 min
-
481 trips · avg +0.4 min
-
290 trips · avg +0.3 min
Most punctual busy lines
-
546 trips · avg +0.1 min
-
532 trips · avg +0 min
-
470 trips · avg +0.1 min
-
462 trips · avg +0.1 min
-
404 trips · avg +0.2 min
-
381 trips · avg +0.1 min
-
1,015 trips · avg +0.1 min
-
450 trips · avg +0.2 min
Least punctual busy lines
-
1,769 trips · avg +1.7 min
-
Tram 8 Basel, Neuweilerstrasse – Weil am Rhein, Bahnhof/ZentrumBasel, Neuweilerstrasse – Weil am Rhein, Bahnhof/Zentrum 72.6%
878 trips · avg +2.1 min
-
Tram 14 Basel, Dreirosenbrücke – Pratteln, SchlossstrasseBasel, Dreirosenbrücke – Pratteln, Schlossstrasse 79.3%
1,709 trips · avg +2.1 min
-
Tram 8 Bern, Saali – Bern Brünnen Westside, BahnhofBern, Saali – Bern Brünnen Westside, Bahnhof 81.3%
999 trips · avg +1.9 min
-
1,663 trips · avg +1.9 min
-
1,702 trips · avg +1.6 min
-
1,893 trips · avg +1.5 min
-
1,663 trips · avg +1.7 min
Show 17 more
-
1,799 trips · avg +1.3 min
-
497 trips · avg +1.3 min
-
625 trips · avg +1.3 min
-
352 trips · avg +1 min
-
291 trips · avg +1.4 min
-
1,991 trips · avg +1.3 min
-
Tram 9 Wabern, Tram-Endstation – Bern Wankdorf, BahnhofWabern, Tram-Endstation – Bern Wankdorf, Bahnhof 92.1%
2,104 trips · avg +1.6 min
-
Tram 51 Zürich Altstetten, Bahnhof N – Zürich, SeebachZürich Altstetten, Bahnhof N – Zürich, Seebach 92.1%
1,855 trips · avg +1.1 min
-
1,766 trips · avg +0.8 min
-
1,835 trips · avg +1.1 min
-
Tram 10 Zürich Flughafen, Fracht – Zürich, Bahnhofplatz/HBZürich Flughafen, Fracht – Zürich, Bahnhofplatz/HB 92.7%
993 trips · avg +1 min
-
483 trips · avg +1.2 min
-
Tram 2 Binningen, Kronenplatz – Basel, Badischer BahnhofBinningen, Kronenplatz – Basel, Badischer Bahnhof 93.5%
863 trips · avg +1.3 min
-
1,823 trips · avg +1 min
-
1,496 trips · avg +1 min
-
1,796 trips · avg +1.2 min
-
667 trips · avg +0.9 min
Most punctual busy lines
-
510 trips · avg +0.1 min
-
Tram 15 Zürich, Bahnhofstrasse/HB – Zürich Tiefenbrunnen, BahnhofZürich, Bahnhofstrasse/HB – Zürich Tiefenbrunnen, Bahnhof 98.9%
636 trips · avg +0.5 min
-
1,771 trips · avg +0.7 min
-
Tram 11 Zürich, Central – Zürich Tiefenbrunnen, BahnhofZürich, Central – Zürich Tiefenbrunnen, Bahnhof 96.8%
914 trips · avg +0.7 min
-
Tram 12 Stettbach, Bahnhof – Zürich Flughafen, FrachtStettbach, Bahnhof – Zürich Flughafen, Fracht 96.5%
462 trips · avg +1.1 min
-
Tram 20 Killwangen, Bahnhof – Zürich Altstetten, BahnhofKillwangen, Bahnhof – Zürich Altstetten, Bahnhof 96.5%
1,083 trips · avg +0.8 min
-
Tram 7 Stettbach, Bahnhof – Zürich, WollishoferplatzStettbach, Bahnhof – Zürich, Wollishoferplatz 96.4%
920 trips · avg +1.4 min
-
919 trips · avg +0.6 min
Least punctual busy lines
-
Bus 101 Cormondrèche, Grand'Rue – Marin-Epagnier, gareCormondrèche, Grand'Rue – Marin-Epagnier, gare 35.1%
849 trips · avg +4.2 min
-
1,043 trips · avg +3.5 min
-
1,117 trips · avg +3.1 min
-
518 trips · avg +4.1 min
-
Bus 109 Neuchâtel, Place Pury – Neuchâtel, Trois-ChênesNeuchâtel, Place Pury – Neuchâtel, Trois-Chênes 63.9%
1,111 trips · avg +2.6 min
-
416 trips · avg +2.9 min
-
Bus 301 Davos Glaris, Ortolfi – Davos Laret, LandhausDavos Glaris, Ortolfi – Davos Laret, Landhaus 69.8%
938 trips · avg +2.3 min
-
Bus 898 Büren an der Aare, Bahnhof – Münchenbuchsee, BahnhofBüren an der Aare, Bahnhof – Münchenbuchsee, Bahnhof 72.8%
302 trips · avg +2 min
Show 17 more
-
708 trips · avg +2.9 min
-
1,071 trips · avg +1.9 min
-
1,206 trips · avg +2.7 min
-
Bus 11 Chur, Bahnhofplatz – Felsberg, Rjterstutz/AeuliChur, Bahnhofplatz – Felsberg, Rjterstutz/Aeuli 75.2%
1,025 trips · avg +2.1 min
-
Bus 50 Basel EuroAirport, Verwaltung – Basel, Bahnhof SBBBasel EuroAirport, Verwaltung – Basel, Bahnhof SBB 76.1%
1,150 trips · avg +2.1 min
-
428 trips · avg +1.9 min
-
Bus 436 Crans-Montana, gare – Crans-Montana, MarignyCrans-Montana, gare – Crans-Montana, Marigny 77.2%
378 trips · avg +2.7 min
-
Bus 601 St. Moritz, Bahnhof – Sils/Segl Maria, PostaSt. Moritz, Bahnhof – Sils/Segl Maria, Posta 77.3%
428 trips · avg +2.8 min
-
304 trips · avg +2.2 min
-
Bus 2 Fribourg, Schönberg Dunant – Villars-sur-Glâne, Les DaillesFribourg, Schönberg Dunant – Villars-sur-Glâne, Les Dailles 77.8%
1,281 trips · avg +2.5 min
-
Bus 61 Wallisellen, Glatt (Bus) – Zürich, MühlackerWallisellen, Glatt (Bus) – Zürich, Mühlacker 77.9%
972 trips · avg +1.8 min
-
Bus 182 Chur, Postautostation – Lenzerheide/Lai, PostChur, Postautostation – Lenzerheide/Lai, Post 78.3%
483 trips · avg +2 min
-
Bus 9 Villars-sur-Glâne, Coulat – Corminboeuf, Jo-SiffertVillars-sur-Glâne, Coulat – Corminboeuf, Jo-Siffert 78.4%
444 trips · avg +2.3 min
-
390 trips · avg +2.1 min
-
1,136 trips · avg +1.9 min
-
862 trips · avg +1.8 min
-
1,474 trips · avg +1.7 min
Most punctual busy lines
-
1,470 trips · avg +0.3 min
-
1,142 trips · avg +0.4 min
-
Bus 781 Zürich Oerlikon, Bahnhof – Glattbrugg, GiebeleichstrasseZürich Oerlikon, Bahnhof – Glattbrugg, Giebeleichstrasse 99.4%
1,337 trips · avg +0.5 min
-
1,151 trips · avg +0.3 min
-
Bus 1 Schaffhausen, Waldfriedhof – Neuhausen, HerbstäckerSchaffhausen, Waldfriedhof – Neuhausen, Herbstäcker 99.1%
1,132 trips · avg +0.6 min
-
Bus 101 Bern, Hauptbahnhof – Hinterkappelen, SchlossmattBern, Hauptbahnhof – Hinterkappelen, Schlossmatt 99%
1,203 trips · avg +0.3 min
-
1,191 trips · avg +0.4 min
-
Bus 5 St. Gallen, Riethüsli – St. Gallen, RotmontenSt. Gallen, Riethüsli – St. Gallen, Rotmonten 98.5%
1,119 trips · avg +0.6 min
Least punctual operators
-
Mouettes genevoises 50.6%
1,829 trips · avg +3.9 min
-
Verkehrsbetrieb der Landschaft Davos 76.5%
2,715 trips · avg +2.1 min
-
Sierre-Montana-Crans 79.2%
1,909 trips · avg +2.3 min
-
Bus und Service 82.3%
9,021 trips · avg +1.9 min
-
TPL 82.7%
9,617 trips · avg +1.5 min
-
BVB 84.2%
25,920 trips · avg +1.7 min
-
Verkehrsbetrieb LIECHTENSTEINmobil 84.5%
4,312 trips · avg +1.7 min
-
Busbetrieb Rapperswil-Eschenbach-Rüti ZH 85.1%
1,555 trips · avg +1.5 min
Show 17 more
-
Transports Publics Neuchâtelois 86.4%
13,012 trips · avg +1.3 min
-
Automobil Rottal 87%
2,581 trips · avg +1.3 min
-
Berner Oberland-Bahnen 87.1%
924 trips · avg +1.4 min
-
Autolinee Bleniesi 87.3%
931 trips · avg +1.8 min
-
VBL 87.4%
22,916 trips · avg +1.4 min
-
Bus Sierrois 87.6%
1,512 trips · avg +1.3 min
-
AFA Bus 88.1%
1,492 trips · avg +1.1 min
-
Stadtbus Frauenfeld 88.8%
2,761 trips · avg +1.4 min
-
TPG 88.9%
51,958 trips · avg +1.2 min
-
Transports publics Vevey-Montreux-Chillon-Villeneuve 90.1%
6,840 trips · avg +1.3 min
-
TPF 90.8%
22,586 trips · avg +1 min
-
Auto AG Rothenburg 90.9%
4,397 trips · avg +1 min
-
Matterhorn Gotthard Bahn 91.2%
2,392 trips · avg +1.2 min
-
Busbetrieb Solothurn und Umgebung 91.3%
3,883 trips · avg +1 min
-
Regiobus Gossau SG 91.7%
2,865 trips · avg +1 min
-
Regionale Verkehrsbetriebe Baden-Wettingen 91.9%
8,282 trips · avg +1 min
-
Montreux-Oberland Bernois 92.4%
929 trips · avg +1 min
Most punctual operators
-
Sihltal-Zürich-Uetliberg-Bahn 99.8%
1,850 trips · avg +0.3 min
-
Zentralbahn 99.7%
2,285 trips · avg +0.2 min
-
Regionalverkehr Bern-Solothurn 99.5%
3,583 trips · avg +0.2 min
-
THURBO 99.3%
7,679 trips · avg +0.2 min
-
Schweizerische Südostbahn 99.1%
3,453 trips · avg +0.3 min
-
Automobildienst SZU 98.9%
10,591 trips · avg +0.3 min
-
BLS 98.5%
10,369 trips · avg +0.4 min
-
Verkehrsbetriebe Herisau 98.8%
1,552 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 98%
11,620 departures · avg +0.8 min
-
Bern 98.8%
6,951 departures · avg +0.7 min
-
Zürich Oerlikon 98.9%
6,131 departures · avg +0.7 min
-
Zürich Stadelhofen 98.4%
4,884 departures · avg +0.9 min
-
Winterthur 98.5%
4,823 departures · avg +0.8 min
-
4,702 departures · avg +1.5 min
-
Olten 97.1%
4,222 departures · avg +0.9 min
-
Lausanne 96.4%
3,772 departures · avg +1 min
-
Aarau 98.3%
3,528 departures · avg +0.7 min
-
Renens VD 96.9%
3,520 departures · avg +0.8 min
-
St. Gallen 97.5%
3,452 departures · avg +0.9 min
-
Luzern 98.8%
3,165 departures · avg +0.6 min
-
Bern, Bahnhof 97%
17,651 departures · avg +1 min
-
Genève, gare Cornavin 89.1%
16,603 departures · avg +1.2 min
-
Genève, Bel-Air 88.4%
16,230 departures · avg +1.5 min
-
Luzern, Kantonalbank 90.4%
14,671 departures · avg +1.4 min
-
Bern, Hirschengraben 94.2%
13,710 departures · avg +1.3 min
-
13,297 departures · avg +1.6 min
-
Zürich, Central 95.7%
13,256 departures · avg +1 min
-
Basel, Schifflände 87.4%
13,047 departures · avg +1.7 min
-
Bern, Zytglogge 94.5%
12,930 departures · avg +1.3 min
-
Luzern, Bahnhof 95.3%
12,835 departures · avg +1 min
-
Zürich, Bellevue 94.4%
12,147 departures · avg +1.1 min
-
Basel, Bankverein 88.7%
11,789 departures · avg +1.7 min
-
Muhen Nord 77.1%
942 departures · avg +1.5 min
-
Oberentfelden Engelplatz 77.1%
942 departures · avg +1.5 min
-
Mulhouse 80.1%
713 departures · avg +3.2 min
-
Wilderswil 80.1%
910 departures · avg +2.2 min
-
Matten b. Interlaken 80.2%
910 departures · avg +2.2 min
-
Zweilütschinen 85.2%
825 departures · avg +1.7 min
-
Täsch 85.5%
829 departures · avg +2 min
-
Martigny 86.6%
1,394 departures · avg +1.6 min
-
Como S. Giovanni 88.1%
767 departures · avg +1.6 min
-
Chiasso 89.6%
1,204 departures · avg +1.5 min
-
Reichenau-Tamins 90.7%
905 departures · avg +1.4 min
-
Cham Alpenblick 90.8%
797 departures · avg +1.7 min
Largest delays
- Bus 613 St. Moritz, Bahnhof – Zuoz, staziun Zuoz, staziunand 1 more trips of this line +201 min
- S17 Dietikon – Wohlen AG Dietikon +175 min
- Bus 1 Ebikon, Fildern – Obernau, Dorf Obernau, Dorf +155 min
- Bus 9 Corminboeuf, Jo-Siffert +155 min
- Bus 361 Kleinteil, Postand 1 more trips of this line +129 min
- EC Bregenz – Zürich HB Zürich HBand 2 more trips of this line +117 min
- Bus 61 Luzern, Bahnhof +112 min
- Bus 1 Gebenstorf, Reuss – Würenlos, Bettlen Würenlos, Bettlenand 5 more trips of this line +101 min
- Bus 21 Paudex, Verrière +101 min
- Bus 812 Uster, Bahnhof – Uster, Bahnhof Uster, Bahnhof +97 min
- Bus 72 Arisdorf, Weieren +95 min
- Bus 100 Aarberg, Post/Bahnhof – Bern, Hauptbahnhof Aarberg, Post/Bahnhofand 1 more trips of this line +92 min
- Tram 18 Grand-Lancy, Palettes – Meyrin, CERN Grand-Lancy, Palettesand 1 more trips of this line +91 min
- TGV Zürich HBand 1 more trips of this line +90 min
- ICE Interlaken Ostand 1 more trips of this line +90 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.
- Tram 12 Thônex, Moillesulazand 9 more trips of this line +446 min
- Bus 648 Knonau, Bahnhofand 2 more trips of this line +421 min