Punctuality of Swiss public transportDecember 2025
90.7% of 2,342,669 trips were on time. The best day was Thursday 25 December with 95.7%, 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: 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.
90.7%
2,342,669 trips with live data
Average delay
+1.1 min
Canceled trips
5,910
0.3% of the trips
Data for 18 of 31 days.
Day by day
The share on time of each day. A day opens its page, a week number its week.
- Best day
- Thu 25 Dec · 95.7%
- Worst day
- Wed 17 Dec · 84.4%
By mode
-
Train 96.2%
244,019 trips · avg +0.6 min
-
Tram 84.7%
187,879 trips · avg +1.6 min
-
Bus 90.7%
1,901,115 trips · avg +1.1 min
-
Metro 96%
5,214 trips · avg +1.1 min
-
Boat 50.8%
4,442 trips · avg +3.9 min
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) 35.1%
1,835 trips · avg +5 min
-
Bus 101 Cormondrèche, Grand'Rue – Marin-Epagnier, gareCormondrèche, Grand'Rue – Marin-Epagnier, gare 38.2%
1,527 trips · avg +3.9 min
-
1,732 trips · avg +4.3 min
-
2,682 trips · avg +3.4 min
-
2,961 trips · avg +3.6 min
-
1,332 trips · avg +4 min
-
Bus 109 Neuchâtel, Place Pury – Neuchâtel, Trois-ChênesNeuchâtel, Place Pury – Neuchâtel, Trois-Chênes 61.5%
2,635 trips · avg +2.7 min
-
1,104 trips · avg +2.7 min
Show 17 more
-
Tram 8 Basel, Neuweilerstrasse – Weil am Rhein, Bahnhof/ZentrumBasel, Neuweilerstrasse – Weil am Rhein, Bahnhof/Zentrum 65.8%
2,023 trips · avg +2.8 min
-
Bus 898 Büren an der Aare, Bahnhof – Münchenbuchsee, BahnhofBüren an der Aare, Bahnhof – Münchenbuchsee, Bahnhof 68.1%
817 trips · avg +2.4 min
-
Bus 50 Basel EuroAirport, Verwaltung – Basel, Bahnhof SBBBasel EuroAirport, Verwaltung – Basel, Bahnhof SBB 68.2%
1,819 trips · avg +2.5 min
-
2,691 trips · avg +2.7 min
-
3,280 trips · avg +3.6 min
-
4,838 trips · avg +1.9 min
-
743 trips · avg +2.5 min
-
1,645 trips · avg +2.4 min
-
Bus 301 Davos Glaris, Ortolfi – Davos Laret, LandhausDavos Glaris, Ortolfi – Davos Laret, Landhaus 70.3%
2,423 trips · avg +2.5 min
-
1,017 trips · avg +5.4 min
-
Bus 11 Chur, Bahnhofplatz – Felsberg, Rjterstutz/AeuliChur, Bahnhofplatz – Felsberg, Rjterstutz/Aeuli 71.2%
2,619 trips · avg +2.3 min
-
1,086 trips · avg +2.6 min
-
Bus 61 Wallisellen, Glatt (Bus) – Zürich, MühlackerWallisellen, Glatt (Bus) – Zürich, Mühlacker 71.5%
2,643 trips · avg +2.3 min
-
Tram 14 Basel, Dreirosenbrücke – Pratteln, SchlossstrasseBasel, Dreirosenbrücke – Pratteln, Schlossstrasse 71.8%
4,642 trips · avg +2.6 min
-
3,027 trips · avg +2.3 min
-
3,005 trips · avg +2.1 min
-
1,844 trips · avg +1.8 min
Most punctual busy lines
-
3,623 trips · avg +0.4 min
-
5,042 trips · avg +0.7 min
-
4,976 trips · avg +0.9 min
-
Bus 101 Bern, Hauptbahnhof – Hinterkappelen, SchlossmattBern, Hauptbahnhof – Hinterkappelen, Schlossmatt 96.6%
3,644 trips · avg +0.6 min
-
Bus 1 Winterthur, Oberwinterthur – Winterthur, TössWinterthur, Oberwinterthur – Winterthur, Töss 96.5%
4,586 trips · avg +0.8 min
-
Bus 781 Zürich Oerlikon, Bahnhof – Glattbrugg, GiebeleichstrasseZürich Oerlikon, Bahnhof – Glattbrugg, Giebeleichstrasse 95.9%
3,731 trips · avg +0.8 min
-
4,101 trips · avg +0.9 min
-
3,276 trips · avg +0.6 min
Least punctual busy lines
-
1,017 trips · avg +5.4 min
-
1,844 trips · avg +1.8 min
-
1,291 trips · avg +1.3 min
-
831 trips · avg +1.2 min
-
1,332 trips · avg +1.4 min
-
1,950 trips · avg +1.3 min
-
937 trips · avg +1.1 min
-
1,356 trips · avg +1 min
Show 17 more
-
1,546 trips · avg +0.7 min
-
1,421 trips · avg +0.7 min
-
986 trips · avg +0.7 min
-
738 trips · avg +0.9 min
-
2,111 trips · avg +0.9 min
-
844 trips · avg +0.7 min
-
733 trips · avg +0.5 min
-
1,428 trips · avg +0.8 min
-
799 trips · avg +0.6 min
-
2,046 trips · avg +0.8 min
-
888 trips · avg +0.6 min
-
965 trips · avg +0.9 min
-
1,273 trips · avg +0.9 min
-
843 trips · avg +0.8 min
-
750 trips · avg +0.6 min
-
1,360 trips · avg +0.5 min
-
1,509 trips · avg +0.6 min
Most punctual busy lines
-
1,293 trips · avg +0.1 min
-
1,188 trips · avg +0.1 min
-
1,251 trips · avg +0.1 min
-
2,802 trips · avg +0.2 min
-
1,422 trips · avg +0.2 min
-
2,193 trips · avg +0.3 min
-
1,029 trips · avg +0.3 min
-
1,214 trips · avg +0.1 min
Least punctual busy lines
-
Tram 8 Basel, Neuweilerstrasse – Weil am Rhein, Bahnhof/ZentrumBasel, Neuweilerstrasse – Weil am Rhein, Bahnhof/Zentrum 65.8%
2,023 trips · avg +2.8 min
-
4,838 trips · avg +1.9 min
-
Tram 14 Basel, Dreirosenbrücke – Pratteln, SchlossstrasseBasel, Dreirosenbrücke – Pratteln, Schlossstrasse 71.8%
4,642 trips · avg +2.6 min
-
Tram 8 Bern, Saali – Bern Brünnen Westside, BahnhofBern, Saali – Bern Brünnen Westside, Bahnhof 77.6%
1,761 trips · avg +2 min
-
4,510 trips · avg +2.1 min
-
4,658 trips · avg +2.1 min
-
3,148 trips · avg +2.2 min
-
1,092 trips · avg +2.4 min
Show 17 more
-
4,460 trips · avg +1.9 min
-
5,764 trips · avg +1.9 min
-
1,000 trips · avg +1.7 min
-
5,074 trips · avg +1.6 min
-
1,101 trips · avg +1.5 min
-
4,930 trips · avg +1.4 min
-
Tram 51 Zürich Altstetten, Bahnhof N – Zürich, SeebachZürich Altstetten, Bahnhof N – Zürich, Seebach 86.9%
5,058 trips · avg +1.5 min
-
5,028 trips · avg +1.4 min
-
Tram 9 Wabern, Tram-Endstation – Bern Wankdorf, BahnhofWabern, Tram-Endstation – Bern Wankdorf, Bahnhof 87.7%
5,436 trips · avg +1.6 min
-
5,018 trips · avg +1.3 min
-
4,897 trips · avg +1.6 min
-
Tram 2 Binningen, Kronenplatz – Basel, Badischer BahnhofBinningen, Kronenplatz – Basel, Badischer Bahnhof 88.6%
1,460 trips · avg +1.6 min
-
Tram 11 Zürich, Central – Zürich Tiefenbrunnen, BahnhofZürich, Central – Zürich Tiefenbrunnen, Bahnhof 89.3%
1,618 trips · avg +1.2 min
-
Tram 7 Stettbach, Bahnhof – Zürich, WollishoferplatzStettbach, Bahnhof – Zürich, Wollishoferplatz 89.9%
1,622 trips · avg +1.5 min
-
Tram 10 Zürich Flughafen, Fracht – Zürich, Bahnhofplatz/HBZürich Flughafen, Fracht – Zürich, Bahnhofplatz/HB 89.9%
1,560 trips · avg +1.2 min
-
Tram 15 Zürich, Bahnhofstrasse/HB – Zürich Tiefenbrunnen, BahnhofZürich, Bahnhofstrasse/HB – Zürich Tiefenbrunnen, Bahnhof 89.9%
1,054 trips · avg +1.1 min
-
4,859 trips · avg +1 min
Most punctual busy lines
-
1,603 trips · avg +0.2 min
-
Tram 20 Killwangen, Bahnhof – Zürich Altstetten, BahnhofKillwangen, Bahnhof – Zürich Altstetten, Bahnhof 95.5%
2,785 trips · avg +0.9 min
-
3,834 trips · avg +0.9 min
-
4,850 trips · avg +0.9 min
-
Tram 12 Stettbach, Bahnhof – Zürich Flughafen, FrachtStettbach, Bahnhof – Zürich Flughafen, Fracht 91.9%
770 trips · avg +1.4 min
-
2,490 trips · avg +1.1 min
-
799 trips · avg +1.3 min
-
4,859 trips · avg +1 min
Least punctual busy lines
-
Bus 101 Cormondrèche, Grand'Rue – Marin-Epagnier, gareCormondrèche, Grand'Rue – Marin-Epagnier, gare 38.2%
1,527 trips · avg +3.9 min
-
2,682 trips · avg +3.4 min
-
2,961 trips · avg +3.6 min
-
1,332 trips · avg +4 min
-
Bus 109 Neuchâtel, Place Pury – Neuchâtel, Trois-ChênesNeuchâtel, Place Pury – Neuchâtel, Trois-Chênes 61.5%
2,635 trips · avg +2.7 min
-
1,104 trips · avg +2.7 min
-
Bus 898 Büren an der Aare, Bahnhof – Münchenbuchsee, BahnhofBüren an der Aare, Bahnhof – Münchenbuchsee, Bahnhof 68.1%
817 trips · avg +2.4 min
-
Bus 50 Basel EuroAirport, Verwaltung – Basel, Bahnhof SBBBasel EuroAirport, Verwaltung – Basel, Bahnhof SBB 68.2%
1,819 trips · avg +2.5 min
Show 17 more
-
2,691 trips · avg +2.7 min
-
3,280 trips · avg +3.6 min
-
743 trips · avg +2.5 min
-
1,645 trips · avg +2.4 min
-
Bus 301 Davos Glaris, Ortolfi – Davos Laret, LandhausDavos Glaris, Ortolfi – Davos Laret, Landhaus 70.3%
2,423 trips · avg +2.5 min
-
Bus 11 Chur, Bahnhofplatz – Felsberg, Rjterstutz/AeuliChur, Bahnhofplatz – Felsberg, Rjterstutz/Aeuli 71.2%
2,619 trips · avg +2.3 min
-
1,086 trips · avg +2.6 min
-
Bus 61 Wallisellen, Glatt (Bus) – Zürich, MühlackerWallisellen, Glatt (Bus) – Zürich, Mühlacker 71.5%
2,643 trips · avg +2.3 min
-
3,027 trips · avg +2.3 min
-
3,005 trips · avg +2.1 min
-
2,465 trips · avg +2.3 min
-
2,652 trips · avg +2 min
-
Bus 1 Granges-Paccot, P. de-Fribourg – Marly, GérineGranges-Paccot, P. de-Fribourg – Marly, Gérine 75.4%
1,731 trips · avg +2 min
-
4,626 trips · avg +2.1 min
-
2,665 trips · avg +1.8 min
-
Bus 4 Chur, Austrasse – Chur, Seniorenzentrum CadonauChur, Austrasse – Chur, Seniorenzentrum Cadonau 76.7%
3,060 trips · avg +2 min
-
2,264 trips · avg +1.9 min
Most punctual busy lines
-
3,623 trips · avg +0.4 min
-
Bus 1 Schaffhausen, Waldfriedhof – Neuhausen, HerbstäckerSchaffhausen, Waldfriedhof – Neuhausen, Herbstäcker 98.2%
3,175 trips · avg +0.8 min
-
3,115 trips · avg +0.6 min
-
3,077 trips · avg +0.9 min
-
3,134 trips · avg +0.6 min
-
Bus 101 Bern, Hauptbahnhof – Hinterkappelen, SchlossmattBern, Hauptbahnhof – Hinterkappelen, Schlossmatt 96.6%
3,644 trips · avg +0.6 min
-
Bus 1 Winterthur, Oberwinterthur – Winterthur, TössWinterthur, Oberwinterthur – Winterthur, Töss 96.5%
4,586 trips · avg +0.8 min
-
Bus 781 Zürich Oerlikon, Bahnhof – Glattbrugg, GiebeleichstrasseZürich Oerlikon, Bahnhof – Glattbrugg, Giebeleichstrasse 95.9%
3,731 trips · avg +0.8 min
Least punctual operators
-
Mouettes genevoises 50.8%
4,442 trips · avg +3.9 min
-
Lugano-Ponte Tresa 75.9%
1,919 trips · avg +1.8 min
-
TPL 77.7%
26,156 trips · avg +2 min
-
Verkehrsbetrieb der Landschaft Davos 78.2%
7,038 trips · avg +2.3 min
-
BVB 79.2%
71,560 trips · avg +2 min
-
Busbetrieb Rapperswil-Eschenbach-Rüti ZH 79.6%
4,509 trips · avg +1.8 min
-
Sierre-Montana-Crans 79.6%
4,959 trips · avg +2.3 min
-
Bus und Service 80.5%
24,729 trips · avg +1.9 min
Show 17 more
-
Verkehrsbetrieb LIECHTENSTEINmobil 80.8%
12,496 trips · avg +1.9 min
-
VBL 81.4%
62,784 trips · avg +1.7 min
-
Automobil Rottal 81.9%
7,205 trips · avg +1.7 min
-
Transports Publics Neuchâtelois 83%
33,035 trips · avg +1.5 min
-
TPG 83.7%
143,960 trips · avg +1.6 min
-
Bus Sierrois 85.7%
3,732 trips · avg +1.5 min
-
Stadtbus Frauenfeld 85.9%
8,189 trips · avg +1.5 min
-
Transports publics Vevey-Montreux-Chillon-Villeneuve 86.2%
18,465 trips · avg +1.5 min
-
Bus Nyon-Prangins 86.5%
5,140 trips · avg +1.3 min
-
Auto AG Rothenburg 86.7%
12,147 trips · avg +1.3 min
-
Berner Oberland-Bahnen 86.7%
2,122 trips · avg +1.3 min
-
Busbetrieb Solothurn und Umgebung 87%
11,139 trips · avg +1.3 min
-
Regionale Verkehrsbetriebe Baden-Wettingen 87.8%
21,983 trips · avg +1.4 min
-
Regiobus Gossau SG 87.9%
8,195 trips · avg +1.2 min
-
TPF 88%
63,303 trips · avg +2 min
-
VBZ 88.3%
265,503 trips · avg +1.3 min
-
AFA Bus 88.4%
3,671 trips · avg +1.1 min
Most punctual operators
-
Sihltal-Zürich-Uetliberg-Bahn 99.3%
4,809 trips · avg +0.5 min
-
Regionalverkehr Bern-Solothurn 99%
9,761 trips · avg +0.3 min
-
Aare Seeland mobil 98.8%
5,253 trips · avg +0.3 min
-
THURBO 98.5%
19,923 trips · avg +0.3 min
-
Zentralbahn 98.6%
5,800 trips · avg +0.3 min
-
Schweizerische Südostbahn 98.2%
9,015 trips · avg +0.4 min
-
BLS 98%
27,177 trips · avg +0.4 min
-
Auto AG Uri 97.9%
5,756 trips · avg +0.5 min
Stations
The share of the departures less than 3 minutes late. A train station has departures of trains.
-
Zürich HB 96.4%
30,162 departures · avg +1 min
-
Bern 98.2%
18,335 departures · avg +0.8 min
-
Zürich Oerlikon 96.6%
15,947 departures · avg +0.9 min
-
Zürich Stadelhofen 94.3%
12,567 departures · avg +1.1 min
-
Winterthur 97.7%
12,427 departures · avg +0.9 min
-
Zürich Hardbrücke 90.1%
12,088 departures · avg +1.8 min
-
Olten 96.1%
10,906 departures · avg +1 min
-
Lausanne 94.6%
9,675 departures · avg +1.1 min
-
Aarau 97.2%
9,217 departures · avg +0.8 min
-
St. Gallen 95.5%
9,119 departures · avg +1.1 min
-
Renens VD 95.4%
8,998 departures · avg +1 min
-
Luzern 98%
8,279 departures · avg +0.7 min
-
Bern, Bahnhof 95.3%
47,923 departures · avg +1.1 min
-
Genève, gare Cornavin 84.1%
46,499 departures · avg +1.7 min
-
Genève, Bel-Air 84.6%
45,141 departures · avg +1.8 min
-
Luzern, Kantonalbank 85.7%
39,902 departures · avg +1.6 min
-
Bern, Hirschengraben 92.2%
36,779 departures · avg +1.5 min
-
Zürich, Central 91.2%
36,692 departures · avg +1.3 min
-
Basel, Schifflände 83.9%
35,953 departures · avg +1.9 min
-
Bern, Zytglogge 92.1%
35,052 departures · avg +1.5 min
-
Luzern, Bahnhof 92%
34,785 departures · avg +1.2 min
-
Zürich, Bellevue 89.9%
33,559 departures · avg +1.4 min
-
Lausanne, Bel-Air 78.2%
33,273 departures · avg +2 min
-
Basel, Bankverein 84.9%
32,401 departures · avg +1.9 min
-
Magliaso Paese 63.3%
1,919 departures · avg +3.1 min
-
Agno 64.6%
1,919 departures · avg +3 min
-
Magliaso 65.8%
1,919 departures · avg +2.9 min
-
Serocca 67%
1,919 departures · avg +2.8 min
-
Bioggio Molinazzo 68.4%
1,919 departures · avg +2.7 min
-
Caslano 72.5%
1,919 departures · avg +2.6 min
-
Bioggio 72.7%
1,919 departures · avg +2.3 min
-
Muhen Nord 75%
2,536 departures · avg +1.6 min
-
Oberentfelden Engelplatz 75.1%
2,536 departures · avg +1.6 min
-
Cappella-Agnuzzo 76.4%
1,919 departures · avg +2.1 min
-
Sorengo Laghetto 77.1%
1,919 departures · avg +2.3 min
-
Sorengo 78.9%
1,919 departures · avg +2.1 min
Largest delays
- Bus 602 Surlej, Corvatschbahnand 3 more trips of this line +250 min
- Bus 603 Surlej, Corvatschbahn +246 min
- Bus 771 Wallisellen, Bahnhof – Wallisellen, Schäfligraben Wallisellen, Bahnhof +230 min
- Bus 22 Grenchen, Fichtenwegand 2 more trips of this line +204 min
- Bus 613 St. Moritz, Bahnhof – Zuoz, staziun Zuoz, staziunand 1 more trips of this line +201 min
- TGV Zürich HBand 3 more trips of this line +200 min
- Bus 973 Herrliberg-Feldmeilen,Bhf West – Herrliberg-Feldmeilen,Bhf West Herrliberg-Feldmeilen,Bhf West +190 min
- S17 Dietikon – Wohlen AG Dietikon +175 min
- Bus 870 Rüti ZH, Bahnhof – Hinwil, Bahnhof Rüti ZH, Bahnhofand 1 more trips of this line +172 min
- Bus 68 Vernier, Blandonnetand 2 more trips of this line +159 min
- Bus 1 Ebikon, Fildern – Obernau, Dorf Obernau, Dorf +155 min
- Bus 9 Corminboeuf, Jo-Siffert +155 min
- Bus 884 Rüti ZH, Bahnhof – Rüti ZH, Bahnhof Rüti ZH, Bahnhof +154 min
- RJX Zürich HBand 2 more trips of this line +152 min
- Tram 14 Basel, Dreirosenbrücke – Pratteln, Schlossstrasse Basel, Dreirosenbrückeand 3 more trips of this line +145 min
›Probably errors in the feed (9)
Delays of more than 6 hours. The real-time feed sent them, but they are probably not real.
- Bus 11 Rosé, gareand 7 more trips of this line +4645 min
- Bus 8 Corminboeuf, anc. poste – Marly, piscine Marly, piscineand 1 more trips of this line +4387 min
- Bus 542 Chésopelloz, Champ-Montant +4352 min
- Bus 1 Gebenstorf, Reuss – Würenlos, Bettlen Baden, Bahnhof Ostand 13 more trips of this line +677 min
- Bus 3 Wettingen, Brunnenwieseand 3 more trips of this line +673 min
- Bus 701 Lausanne, Bourdonnette – Tolochenaz, La Plantaz Tolochenaz, La Plantaz +580 min
- Tram 12 Thônex, Moillesulazand 9 more trips of this line +446 min
- Bus 12 Bern, Zentrum Paul Klee – Bern, Holligen Bern, Zentrum Paul Kleeand 6 more trips of this line +424 min
- Bus 648 Knonau, Bahnhofand 2 more trips of this line +421 min