Punctuality of Swiss public transportWeek 129 Dec – 4 Jan 2026
93.5% of 868,781 trips were on time. The best day was Monday 29 December with 94.4%, the worst Saturday 3 January with 92.2%. Of the busy lines, M2 Genève-Pâquis (lac) – Genève-Quai Gustave Ador (lac) had the lowest share on time: 24.9%.
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.5%
±0 ptsWeek before: 93.6% · 868,781 trips with live data
Average delay
+0.9 min
Canceled trips
1,942
0.2% of the trips
Day by day
The share on time of each day. A day opens its page.
- 95%
- Average: 93.5%
- Best day
- Mon 29 Dec · 94.4%
- Worst day
- Sat 3 Jan · 92.2%
- Worst hour
- Wed 02:00–03:00 · 60.5%
By mode
-
Train 96.1%
93,890 trips · avg +0.6 min
-
Tram 89.9%
71,214 trips · avg +1.3 min
-
Bus 93.7%
700,294 trips · avg +0.9 min
-
Metro 97.6%
1,840 trips · avg +1.1 min
-
Boat 42.5%
1,543 trips · avg +4.5 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) 24.9%
668 trips · avg +5.8 min
-
Bus 101 Cormondrèche, Grand'Rue – Marin-Epagnier, gareCormondrèche, Grand'Rue – Marin-Epagnier, gare 41%
874 trips · avg +3.6 min
-
661 trips · avg +4.5 min
-
518 trips · avg +7 min
-
1,041 trips · avg +2.8 min
-
715 trips · avg +5.9 min
-
1,144 trips · avg +2.7 min
-
Bus 301 Davos Glaris, Ortolfi – Davos Laret, LandhausDavos Glaris, Ortolfi – Davos Laret, Landhaus 57.9%
944 trips · avg +3.6 min
Show 17 more
-
426 trips · avg +3.3 min
-
386 trips · avg +4 min
-
Bus 50 Basel EuroAirport, Verwaltung – Basel, Bahnhof SBBBasel EuroAirport, Verwaltung – Basel, Bahnhof SBB 66.4%
669 trips · avg +2.9 min
-
Bus 436 Crans-Montana, gare – Crans-Montana, MarignyCrans-Montana, gare – Crans-Montana, Marigny 66.7%
378 trips · avg +6.7 min
-
Tram 8 Basel, Neuweilerstrasse – Weil am Rhein, Bahnhof/ZentrumBasel, Neuweilerstrasse – Weil am Rhein, Bahnhof/Zentrum 67.9%
1,198 trips · avg +2.7 min
-
Bus 109 Neuchâtel, Place Pury – Neuchâtel, Trois-ChênesNeuchâtel, Place Pury – Neuchâtel, Trois-Chênes 68.1%
1,143 trips · avg +2.3 min
-
337 trips · avg +5.7 min
-
936 trips · avg +2.2 min
-
Bus 601 St. Moritz, Bahnhof – Sils/Segl Maria, PostaSt. Moritz, Bahnhof – Sils/Segl Maria, Posta 71.3%
418 trips · avg +3.2 min
-
404 trips · avg +2.3 min
-
1,822 trips · avg +1.7 min
-
Bus 11 Chur, Bahnhofplatz – Felsberg, Rjterstutz/AeuliChur, Bahnhofplatz – Felsberg, Rjterstutz/Aeuli 74%
1,015 trips · avg +2.1 min
-
712 trips · avg +3.4 min
-
Bus 605 St. Moritz, Bahnhof – Sils/Segl Maria, PostaSt. Moritz, Bahnhof – Sils/Segl Maria, Posta 75.4%
378 trips · avg +2.6 min
-
Bus 9 Villars-sur-Glâne, Coulat – Corminboeuf, Jo-SiffertVillars-sur-Glâne, Coulat – Corminboeuf, Jo-Siffert 76%
442 trips · avg +2.4 min
-
342 trips · avg +2 min
-
1,171 trips · avg +2 min
Most punctual busy lines
-
1,425 trips · avg +0.3 min
-
1,254 trips · avg +0.3 min
-
1,878 trips · avg +0.6 min
-
Bus 101 Bern, Hauptbahnhof – Hinterkappelen, SchlossmattBern, Hauptbahnhof – Hinterkappelen, Schlossmatt 98.3%
1,211 trips · avg +0.3 min
-
1,829 trips · avg +0.9 min
-
Bus 30 Basel, Badischer Bahnhof – Basel, Bahnhof SBBBasel, Badischer Bahnhof – Basel, Bahnhof SBB 97.6%
1,859 trips · avg +0.5 min
-
Bus 17 Lausanne, Vigie – Villars-Ste-Croix, Croix-PéageLausanne, Vigie – Villars-Ste-Croix, Croix-Péage 97.6%
1,490 trips · avg +0.4 min
-
Bus 3 Winterthur, Oberseen – Winterthur, RosenbergWinterthur, Oberseen – Winterthur, Rosenberg 97.6%
1,678 trips · avg +0.4 min
Least punctual busy lines
-
337 trips · avg +5.7 min
-
518 trips · avg +2.1 min
-
536 trips · avg +1.2 min
-
391 trips · avg +1 min
-
734 trips · avg +0.9 min
-
639 trips · avg +1.1 min
-
283 trips · avg +0.7 min
-
527 trips · avg +0.9 min
Show 17 more
-
R15 Boudry Littorail – Neuchâtel Place Pury LittorailBoudry Littorail – Neuchâtel Place Pury Littorail 94%
400 trips · avg +0.8 min
-
519 trips · avg +0.6 min
-
785 trips · avg +0.7 min
-
363 trips · avg +1.1 min
-
327 trips · avg +0.6 min
-
314 trips · avg +0.5 min
-
835 trips · avg +0.8 min
-
819 trips · avg +0.8 min
-
380 trips · avg +0.6 min
-
282 trips · avg +0.8 min
-
553 trips · avg +0.6 min
-
532 trips · avg +0.9 min
-
804 trips · avg +0.6 min
-
546 trips · avg +0.6 min
-
288 trips · avg +0.5 min
-
482 trips · avg +0.3 min
-
336 trips · avg +0.5 min
Most punctual busy lines
-
1,016 trips · avg +0.1 min
-
358 trips · avg +0 min
-
837 trips · avg +0.2 min
-
543 trips · avg +0.2 min
-
532 trips · avg +0.1 min
-
486 trips · avg +0.3 min
-
470 trips · avg +0.2 min
-
462 trips · avg +0.2 min
Least punctual busy lines
-
Tram 8 Basel, Neuweilerstrasse – Weil am Rhein, Bahnhof/ZentrumBasel, Neuweilerstrasse – Weil am Rhein, Bahnhof/Zentrum 67.9%
1,198 trips · avg +2.7 min
-
1,822 trips · avg +1.7 min
-
Tram 14 Basel, Dreirosenbrücke – Pratteln, SchlossstrasseBasel, Dreirosenbrücke – Pratteln, Schlossstrasse 80.6%
1,839 trips · avg +1.9 min
-
Tram 8 Bern, Saali – Bern Brünnen Westside, BahnhofBern, Saali – Bern Brünnen Westside, Bahnhof 80.8%
998 trips · avg +1.9 min
-
1,783 trips · avg +1.7 min
-
1,845 trips · avg +1.5 min
-
1,897 trips · avg +1.5 min
-
405 trips · avg +1.5 min
Show 17 more
-
1,791 trips · avg +1.5 min
-
Tram 2 Binningen, Kronenplatz – Basel, Badischer BahnhofBinningen, Kronenplatz – Basel, Badischer Bahnhof 89.4%
659 trips · avg +1.6 min
-
483 trips · avg +1.4 min
-
2,100 trips · avg +1.4 min
-
Tram 9 Wabern, Tram-Endstation – Bern Wankdorf, BahnhofWabern, Tram-Endstation – Bern Wankdorf, Bahnhof 90.3%
2,099 trips · avg +1.4 min
-
352 trips · avg +1 min
-
Tram 7 Stettbach, Bahnhof – Zürich, WollishoferplatzStettbach, Bahnhof – Zürich, Wollishoferplatz 90.9%
917 trips · avg +1.3 min
-
1,858 trips · avg +1.1 min
-
669 trips · avg +1.2 min
-
1,842 trips · avg +0.8 min
-
Tram 51 Zürich Altstetten, Bahnhof N – Zürich, SeebachZürich Altstetten, Bahnhof N – Zürich, Seebach 92.9%
1,913 trips · avg +1.1 min
-
1,847 trips · avg +1.4 min
-
1,890 trips · avg +1 min
-
Tram 12 Stettbach, Bahnhof – Zürich Flughafen, FrachtStettbach, Bahnhof – Zürich Flughafen, Fracht 93.5%
461 trips · avg +1.3 min
-
1,911 trips · avg +1.1 min
-
Tram 10 Zürich Flughafen, Fracht – Zürich, Bahnhofplatz/HBZürich Flughafen, Fracht – Zürich, Bahnhofplatz/HB 94%
728 trips · avg +1.1 min
-
507 trips · avg +0.9 min
Most punctual busy lines
-
382 trips · avg +0.1 min
-
Tram 15 Zürich, Bahnhofstrasse/HB – Zürich Tiefenbrunnen, BahnhofZürich, Bahnhofstrasse/HB – Zürich Tiefenbrunnen, Bahnhof 99.2%
636 trips · avg +0.5 min
-
Tram 11 Zürich, Central – Zürich Tiefenbrunnen, BahnhofZürich, Central – Zürich Tiefenbrunnen, Bahnhof 97.2%
642 trips · avg +0.6 min
-
1,839 trips · avg +0.7 min
-
839 trips · avg +0.5 min
-
Tram 20 Killwangen, Bahnhof – Zürich Altstetten, BahnhofKillwangen, Bahnhof – Zürich Altstetten, Bahnhof 96.6%
1,080 trips · avg +0.8 min
-
298 trips · avg +0.6 min
-
1,499 trips · avg +0.8 min
Least punctual busy lines
-
Bus 101 Cormondrèche, Grand'Rue – Marin-Epagnier, gareCormondrèche, Grand'Rue – Marin-Epagnier, gare 41%
874 trips · avg +3.6 min
-
518 trips · avg +7 min
-
1,041 trips · avg +2.8 min
-
715 trips · avg +5.9 min
-
1,144 trips · avg +2.7 min
-
Bus 301 Davos Glaris, Ortolfi – Davos Laret, LandhausDavos Glaris, Ortolfi – Davos Laret, Landhaus 57.9%
944 trips · avg +3.6 min
-
426 trips · avg +3.3 min
-
386 trips · avg +4 min
Show 17 more
-
Bus 50 Basel EuroAirport, Verwaltung – Basel, Bahnhof SBBBasel EuroAirport, Verwaltung – Basel, Bahnhof SBB 66.4%
669 trips · avg +2.9 min
-
Bus 436 Crans-Montana, gare – Crans-Montana, MarignyCrans-Montana, gare – Crans-Montana, Marigny 66.7%
378 trips · avg +6.7 min
-
Bus 109 Neuchâtel, Place Pury – Neuchâtel, Trois-ChênesNeuchâtel, Place Pury – Neuchâtel, Trois-Chênes 68.1%
1,143 trips · avg +2.3 min
-
936 trips · avg +2.2 min
-
Bus 601 St. Moritz, Bahnhof – Sils/Segl Maria, PostaSt. Moritz, Bahnhof – Sils/Segl Maria, Posta 71.3%
418 trips · avg +3.2 min
-
404 trips · avg +2.3 min
-
Bus 11 Chur, Bahnhofplatz – Felsberg, Rjterstutz/AeuliChur, Bahnhofplatz – Felsberg, Rjterstutz/Aeuli 74%
1,015 trips · avg +2.1 min
-
712 trips · avg +3.4 min
-
Bus 605 St. Moritz, Bahnhof – Sils/Segl Maria, PostaSt. Moritz, Bahnhof – Sils/Segl Maria, Posta 75.4%
378 trips · avg +2.6 min
-
Bus 9 Villars-sur-Glâne, Coulat – Corminboeuf, Jo-SiffertVillars-sur-Glâne, Coulat – Corminboeuf, Jo-Siffert 76%
442 trips · avg +2.4 min
-
342 trips · avg +2 min
-
1,171 trips · avg +2 min
-
412 trips · avg +3.4 min
-
329 trips · avg +1.6 min
-
1,039 trips · avg +1.7 min
-
Bus 898 Büren an der Aare, Bahnhof – Münchenbuchsee, BahnhofBüren an der Aare, Bahnhof – Münchenbuchsee, Bahnhof 78.6%
304 trips · avg +1.9 min
-
286 trips · avg +1.7 min
Most punctual busy lines
-
1,141 trips · avg +0.3 min
-
1,425 trips · avg +0.3 min
-
1,148 trips · avg +0.3 min
-
1,148 trips · avg +0.3 min
-
1,254 trips · avg +0.3 min
-
Bus 101 Bern, Hauptbahnhof – Hinterkappelen, SchlossmattBern, Hauptbahnhof – Hinterkappelen, Schlossmatt 98.3%
1,211 trips · avg +0.3 min
-
Bus 1 Schaffhausen, Waldfriedhof – Neuhausen, HerbstäckerSchaffhausen, Waldfriedhof – Neuhausen, Herbstäcker 97.8%
1,131 trips · avg +0.9 min
-
Bus 30 Basel, Badischer Bahnhof – Basel, Bahnhof SBBBasel, Badischer Bahnhof – Basel, Bahnhof SBB 97.6%
1,859 trips · avg +0.5 min
Least punctual operators
-
Mouettes genevoises 42.5%
1,543 trips · avg +4.5 min
-
Verkehrsbetrieb der Landschaft Davos 64.4%
2,737 trips · avg +4 min
-
Sierre-Montana-Crans 66.7%
1,916 trips · avg +4.7 min
-
Bus und Service 80.8%
9,629 trips · avg +2.1 min
-
AFA Bus 83.6%
1,700 trips · avg +1.4 min
-
Busbetrieb Rapperswil-Eschenbach-Rüti ZH 85.7%
1,743 trips · avg +1.4 min
-
VBL 86.1%
22,906 trips · avg +1.5 min
-
BVB 86.1%
27,966 trips · avg +1.5 min
Show 17 more
-
Bus Sierrois 86.5%
1,124 trips · avg +1.7 min
-
Transports Publics Neuchâtelois 87%
13,433 trips · avg +1.2 min
-
Verkehrsbetrieb LIECHTENSTEINmobil 87.3%
4,737 trips · avg +1.6 min
-
TPL 87.4%
10,087 trips · avg +1 min
-
Berner Oberland-Bahnen 87.8%
927 trips · avg +1.1 min
-
Montreux-Oberland Bernois 88.6%
932 trips · avg +1.2 min
-
Lugano-Ponte Tresa 88.8%
734 trips · avg +0.9 min
-
Automobil Rottal 89.1%
2,553 trips · avg +1.2 min
-
Transports Publics du Chablais 89.5%
7,039 trips · avg +1.1 min
-
TPG 89.7%
52,224 trips · avg +1.2 min
-
Stadtbus Frauenfeld 90.2%
2,752 trips · avg +1.3 min
-
Matterhorn Gotthard Bahn 90.6%
2,411 trips · avg +1 min
-
Regionale Verkehrsbetriebe Baden-Wettingen 91.4%
8,295 trips · avg +1 min
-
Wengernalpbahn 91.6%
975 trips · avg +0.9 min
-
RhB 92%
3,607 trips · avg +0.9 min
-
Auto Leuk-Leukerbad 92.1%
1,813 trips · avg +1.1 min
-
TPF 92.3%
22,597 trips · avg +0.7 min
Most punctual operators
-
Regionalverkehr Bern-Solothurn 99.3%
3,582 trips · avg +0.2 min
-
Aare Seeland mobil 99.3%
2,025 trips · avg +0.2 min
-
Automobildienst SZU 98.7%
10,631 trips · avg +0.3 min
-
Auto AG Uri 98.7%
2,167 trips · avg +0.4 min
-
THURBO 98.4%
7,738 trips · avg +0.3 min
-
BLS 98.3%
10,369 trips · avg +0.4 min
-
BLT 98%
15,186 trips · avg +0.5 min
-
Sihltal-Zürich-Uetliberg-Bahn 98.5%
1,635 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 97.5%
11,526 departures · avg +0.9 min
-
Bern 97.9%
6,951 departures · avg +0.8 min
-
Zürich Oerlikon 97.4%
6,078 departures · avg +0.8 min
-
Zürich Stadelhofen 97.5%
4,900 departures · avg +0.9 min
-
Winterthur 97.5%
4,822 departures · avg +0.9 min
-
4,693 departures · avg +1.7 min
-
Olten 96.6%
4,244 departures · avg +1 min
-
Lausanne 95.9%
3,762 departures · avg +1 min
-
Renens VD 97%
3,553 departures · avg +0.9 min
-
Aarau 98%
3,543 departures · avg +0.7 min
-
St. Gallen 96.1%
3,465 departures · avg +1 min
-
Luzern 98.6%
3,176 departures · avg +0.7 min
-
Bern, Bahnhof 97.2%
17,759 departures · avg +1.2 min
-
Genève, gare Cornavin 89.9%
16,718 departures · avg +1.2 min
-
Genève, Bel-Air 89.3%
16,395 departures · avg +1.4 min
-
Luzern, Kantonalbank 89.9%
14,674 departures · avg +1.4 min
-
Basel, Schifflände 89.5%
14,131 departures · avg +1.5 min
-
Bern, Hirschengraben 95.2%
13,766 departures · avg +1.2 min
-
Zürich, Central 95.8%
13,736 departures · avg +0.9 min
-
Bern, Zytglogge 95.3%
13,000 departures · avg +1.2 min
-
12,999 departures · avg +1.5 min
-
Luzern, Bahnhof 95.1%
12,838 departures · avg +1 min
-
Basel, Bankverein 90.8%
12,820 departures · avg +1.5 min
-
Zürich, Bellevue 97.2%
12,141 departures · avg +0.9 min
-
Muhen Nord 76.5%
942 departures · avg +1.5 min
-
Oberentfelden Engelplatz 76.6%
942 departures · avg +1.5 min
-
Magliaso Paese 77.7%
734 departures · avg +2.2 min
-
Mulhouse 78.5%
755 departures · avg +2.7 min
-
Agno 80.2%
734 departures · avg +2.1 min
-
Magliaso 81.3%
734 departures · avg +2 min
-
Bioggio Molinazzo 81.3%
734 departures · avg +1.9 min
-
Serocca 81.6%
734 departures · avg +1.9 min
-
Matten b. Interlaken 82.5%
913 departures · avg +1.9 min
-
Zug Schutzengel 83.7%
787 departures · avg +1.9 min
-
Wilderswil 83.8%
913 departures · avg +1.8 min
-
Zug Chollermüli 83.9%
787 departures · avg +2 min
Largest delays
- Bus 602 Surlej, Corvatschbahnand 3 more trips of this line +250 min
- Bus 603 Surlej, Corvatschbahn +246 min
- N5 Lausanne, St-François – St-Sulpice VD, Venoge sud Venoge sudand 3 more trips of this line +180 min
- Bus 26 Luzern, Brüelstrasse – Ebikon, Ottigenbühl Luzern, Unterlöchliand 2 more trips of this line +156 min
- Bus 25 Luzern, Brüelstrasse – Meggen, Piuskirche Meggen, Piuskircheand 2 more trips of this line +153 min
- RJX Zürich HBand 1 more trips of this line +152 min
- TGV Zürich HB – Mulhouse Paris Gare de Lyonand 1 more trips of this line +140 min
- Bus 862 Wetzikon ZH, Bahnhof – Wetzikon ZH, Bahnhof Wetzikon ZH, Bahnhofand 2 more trips of this line +134 min
- Bus 21 Siblingen, Am Steiand 1 more trips of this line +134 min
- Bus 622 Immensee, Sunnehof – Meggen, Huob Immensee, Dorf +134 min
- Bus 22 Thun, Untere Wart +133 min
- Bus 23 Grenchen Nord, Bahnhof – Büren an der Aare, Gehrweg Grenchen Nord, Bahnhofand 10 more trips of this line +129 min
- m2 Epalinges, Croisettes – Lausanne, Ouchy-Olympique Lausanne, Ouchy-Olympique +124 min
- Bus 5 Schaffhausen, Bahnhof – Schaffhausen, Schlossweiher Schaffhausen, Schlossweiherand 1 more trips of this line +124 min
- Bus 431 Aminona – Crans-Montana, Crans Forest Aminonaand 7 more trips of this line +123 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.
- Bus 11 Bern, Bahnhof – Bern, Neufeld P+R Bern, Neufeld P+Rand 18 more trips of this line +543 min
- Tram 12 Lancy-Bachet, gare +405 min