Punctuality of Swiss public transportWeek 312 Jan – 18 Jan 2026
88.4% of 950,789 trips were on time. The best day was Sunday 18 January with 93.6%, the worst Tuesday 13 January with 86.1%. Of the busy lines, Bus 101 Marin-Epagnier, gare – Cormondrèche, Grand'Rue had the lowest share on time: 30%.
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.
88.4%
−0.7 ptsWeek before: 89.1% · 950,789 trips with live data
Average delay
+1.2 min
Canceled trips
3,351
0.4% of the trips
Day by day
The share on time of each day. A day opens its page.
- 95%
- Average: 88.4%
- Best day
- Sun 18 Jan · 93.6%
- Worst day
- Tue 13 Jan · 86.1%
- Worst hour
- Tue 17:00–18:00 · 65.7%
By mode
-
Train 94.8%
97,765 trips · avg +0.8 min
-
Tram 83.3%
76,422 trips · avg +1.6 min
-
Bus 88.1%
772,366 trips · avg +1.2 min
-
Metro 94.8%
1,976 trips · avg +1.8 min
-
Boat 71.1%
2,260 trips · avg +2.7 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 Marin-Epagnier, gare – Cormondrèche, Grand'RueMarin-Epagnier, gare – Cormondrèche, Grand'Rue 30%
1,372 trips · avg +4.5 min
-
Bus 106 Neuchâtel, Place Pury – Neuchâtel,Vallon de l'ErmitageNeuchâtel, Place Pury – Neuchâtel,Vallon de l'Ermitage 46%
411 trips · avg +3.4 min
-
405 trips · avg +3.7 min
-
Bus 361 La Chaux-de-Fonds, gare – Le Locle, TechnicumLa Chaux-de-Fonds, gare – Le Locle, Technicum 50.9%
330 trips · avg +3.8 min
-
1,002 trips · avg +3 min
-
1,165 trips · avg +3.2 min
-
Bus 109 Neuchâtel, Place Pury – Neuchâtel, Trois-ChênesNeuchâtel, Place Pury – Neuchâtel, Trois-Chênes 52%
1,367 trips · avg +3.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) 54.5%
932 trips · avg +3.7 min
Show 17 more
-
285 trips · avg +3.3 min
-
1,058 trips · avg +4 min
-
290 trips · avg +2.4 min
-
442 trips · avg +2.9 min
-
Bus 50 Basel, Bahnhof SBB – Basel EuroAirport, VerwaltungBasel, Bahnhof SBB – Basel EuroAirport, Verwaltung 59.6%
1,338 trips · avg +3.2 min
-
584 trips · avg +2.9 min
-
Bus 68 Saint-Genis, Jean Monnet – Vernier, BlandonnetSaint-Genis, Jean Monnet – Vernier, Blandonnet 60.4%
763 trips · avg +3.7 min
-
Bus 5 Kriens, Busschleife – Emmenbrücke, Bahnhof SüdKriens, Busschleife – Emmenbrücke, Bahnhof Süd 60.5%
994 trips · avg +4.9 min
-
1,137 trips · avg +3 min
-
Bus 898 Büren an der Aare, Bahnhof – Münchenbuchsee, BahnhofBüren an der Aare, Bahnhof – Münchenbuchsee, Bahnhof 61%
333 trips · avg +3 min
-
462 trips · avg +3 min
-
577 trips · avg +3.3 min
-
Bus 301 Davos Glaris, Ortolfi – Davos Laret, LandhausDavos Glaris, Ortolfi – Davos Laret, Landhaus 61.6%
796 trips · avg +2.7 min
-
1,167 trips · avg +2.9 min
-
854 trips · avg +3.3 min
-
483 trips · avg +2.8 min
-
301 trips · avg +2.9 min
Most punctual busy lines
-
1,534 trips · avg +0.5 min
-
Bus 3 Winterthur, Oberseen – Winterthur, RosenbergWinterthur, Oberseen – Winterthur, Rosenberg 96.2%
1,845 trips · avg +0.6 min
-
1,580 trips · avg +0.9 min
-
Tram 15 Zürich Tiefenbrunnen, Bahnhof – Zürich, CentralZürich Tiefenbrunnen, Bahnhof – Zürich, Central 95.8%
1,719 trips · avg +1 min
-
2,049 trips · avg +0.9 min
-
1,850 trips · avg +0.7 min
-
1,976 trips · avg +1.8 min
-
1,866 trips · avg +0.8 min
Least punctual busy lines
-
639 trips · avg +3.8 min
-
417 trips · avg +6.2 min
-
802 trips · avg +1.9 min
-
511 trips · avg +2.1 min
-
371 trips · avg +1 min
-
480 trips · avg +1.1 min
-
446 trips · avg +1 min
-
332 trips · avg +1 min
Show 17 more
-
459 trips · avg +0.8 min
-
363 trips · avg +1 min
-
518 trips · avg +1.2 min
-
326 trips · avg +0.8 min
-
458 trips · avg +0.8 min
-
560 trips · avg +0.9 min
-
287 trips · avg +0.8 min
-
390 trips · avg +0.8 min
-
299 trips · avg +0.9 min
-
547 trips · avg +0.8 min
-
447 trips · avg +0.7 min
-
551 trips · avg +0.9 min
-
465 trips · avg +0.8 min
-
287 trips · avg +0.8 min
-
560 trips · avg +0.7 min
-
706 trips · avg +1 min
-
530 trips · avg +1.1 min
Most punctual busy lines
-
530 trips · avg +0.1 min
-
483 trips · avg +0.2 min
-
1,162 trips · avg +0.4 min
-
553 trips · avg +0.4 min
-
434 trips · avg +0.3 min
-
460 trips · avg +0.2 min
-
867 trips · avg +0.4 min
-
707 trips · avg +0.5 min
Least punctual busy lines
-
Tram 14 Basel, Dreirosenbrücke – Pratteln, SchlossstrasseBasel, Dreirosenbrücke – Pratteln, Schlossstrasse 63.7%
1,868 trips · avg +2.7 min
-
1,879 trips · avg +2.6 min
-
Tram 8 Bern Brünnen Westside, Bahnhof – Bern, SaaliBern Brünnen Westside, Bahnhof – Bern, Saali 66.5%
1,559 trips · avg +2.5 min
-
Tram 3 St-Louis, Gare de Saint-Louis – Birsfelden, HardSt-Louis, Gare de Saint-Louis – Birsfelden, Hard 68.9%
1,430 trips · avg +2.6 min
-
1,943 trips · avg +1.9 min
-
1,820 trips · avg +2.3 min
-
960 trips · avg +1.8 min
-
Tram 7 Zürich, Wollishoferplatz – Stettbach, BahnhofZürich, Wollishoferplatz – Stettbach, Bahnhof 79.7%
1,466 trips · avg +1.9 min
Show 17 more
-
1,799 trips · avg +2 min
-
1,983 trips · avg +2 min
-
1,850 trips · avg +2 min
-
Tram 10 Zürich, Bahnhofstrasse/HB – Zürich Flughafen, FrachtZürich, Bahnhofstrasse/HB – Zürich Flughafen, Fracht 80.5%
1,402 trips · avg +1.7 min
-
1,356 trips · avg +1.7 min
-
2,386 trips · avg +1.7 min
-
2,529 trips · avg +1.6 min
-
2,365 trips · avg +1.7 min
-
1,975 trips · avg +1.5 min
-
Tram 9 Wabern, Tram-Endstation – Bern Wankdorf, BahnhofWabern, Tram-Endstation – Bern Wankdorf, Bahnhof 84.7%
2,231 trips · avg +1.7 min
-
1,853 trips · avg +1.7 min
-
2,020 trips · avg +1.6 min
-
2,027 trips · avg +1.5 min
-
Tram 51 Zürich Altstetten, Bahnhof N – Zürich, SeebachZürich Altstetten, Bahnhof N – Zürich, Seebach 87.7%
2,033 trips · avg +1.4 min
-
1,985 trips · avg +1.8 min
-
Tram 13 Zürich, Bahnhofstrasse/HB – Zürich, AlbisgütliZürich, Bahnhofstrasse/HB – Zürich, Albisgütli 88.9%
2,427 trips · avg +1.4 min
-
505 trips · avg +1.2 min
Most punctual busy lines
-
976 trips · avg +0.1 min
-
Tram 15 Zürich Tiefenbrunnen, Bahnhof – Zürich, CentralZürich Tiefenbrunnen, Bahnhof – Zürich, Central 95.8%
1,719 trips · avg +1 min
-
1,866 trips · avg +0.8 min
-
1,430 trips · avg +1 min
-
1,928 trips · avg +1 min
-
1,111 trips · avg +1.1 min
-
Tram 11 Zürich Tiefenbrunnen, Bahnhof – Zürich, Bahnhofstrasse/HBZürich Tiefenbrunnen, Bahnhof – Zürich, Bahnhofstrasse/HB 92.3%
1,456 trips · avg +1.1 min
-
1,934 trips · avg +1.1 min
Least punctual busy lines
-
Bus 101 Marin-Epagnier, gare – Cormondrèche, Grand'RueMarin-Epagnier, gare – Cormondrèche, Grand'Rue 30%
1,372 trips · avg +4.5 min
-
Bus 106 Neuchâtel, Place Pury – Neuchâtel,Vallon de l'ErmitageNeuchâtel, Place Pury – Neuchâtel,Vallon de l'Ermitage 46%
411 trips · avg +3.4 min
-
405 trips · avg +3.7 min
-
Bus 361 La Chaux-de-Fonds, gare – Le Locle, TechnicumLa Chaux-de-Fonds, gare – Le Locle, Technicum 50.9%
330 trips · avg +3.8 min
-
1,002 trips · avg +3 min
-
1,165 trips · avg +3.2 min
-
Bus 109 Neuchâtel, Place Pury – Neuchâtel, Trois-ChênesNeuchâtel, Place Pury – Neuchâtel, Trois-Chênes 52%
1,367 trips · avg +3.2 min
-
285 trips · avg +3.3 min
Show 17 more
-
1,058 trips · avg +4 min
-
290 trips · avg +2.4 min
-
442 trips · avg +2.9 min
-
Bus 50 Basel, Bahnhof SBB – Basel EuroAirport, VerwaltungBasel, Bahnhof SBB – Basel EuroAirport, Verwaltung 59.6%
1,338 trips · avg +3.2 min
-
584 trips · avg +2.9 min
-
Bus 68 Saint-Genis, Jean Monnet – Vernier, BlandonnetSaint-Genis, Jean Monnet – Vernier, Blandonnet 60.4%
763 trips · avg +3.7 min
-
Bus 5 Kriens, Busschleife – Emmenbrücke, Bahnhof SüdKriens, Busschleife – Emmenbrücke, Bahnhof Süd 60.5%
994 trips · avg +4.9 min
-
1,137 trips · avg +3 min
-
Bus 898 Büren an der Aare, Bahnhof – Münchenbuchsee, BahnhofBüren an der Aare, Bahnhof – Münchenbuchsee, Bahnhof 61%
333 trips · avg +3 min
-
462 trips · avg +3 min
-
577 trips · avg +3.3 min
-
Bus 301 Davos Glaris, Ortolfi – Davos Laret, LandhausDavos Glaris, Ortolfi – Davos Laret, Landhaus 61.6%
796 trips · avg +2.7 min
-
1,167 trips · avg +2.9 min
-
854 trips · avg +3.3 min
-
483 trips · avg +2.8 min
-
301 trips · avg +2.9 min
-
Bus 7 Wettingen, Tägi – Birmenstorf AG, SchinebüelWettingen, Tägi – Birmenstorf AG, Schinebüel 63.2%
1,045 trips · avg +2.7 min
Most punctual busy lines
-
Bus 1 Schaffhausen, Waldfriedhof – Neuhausen, HerbstäckerSchaffhausen, Waldfriedhof – Neuhausen, Herbstäcker 98.3%
1,324 trips · avg +0.8 min
-
1,534 trips · avg +0.5 min
-
1,330 trips · avg +0.8 min
-
Bus 101 Bern, Hauptbahnhof – Hinterkappelen, SchlossmattBern, Hauptbahnhof – Hinterkappelen, Schlossmatt 96.4%
1,415 trips · avg +0.5 min
-
Bus 3 Winterthur, Oberseen – Winterthur, RosenbergWinterthur, Oberseen – Winterthur, Rosenberg 96.2%
1,845 trips · avg +0.6 min
-
1,580 trips · avg +0.9 min
-
1,850 trips · avg +0.7 min
-
1,339 trips · avg +0.8 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) 54.5%
932 trips · avg +3.7 min
-
705 trips · avg +2.5 min
-
309 trips · avg +2.2 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.7%
314 trips · avg +0.4 min
Least punctual operators
-
Mouettes genevoises 71.1%
2,260 trips · avg +2.7 min
-
Verkehrsbetrieb der Landschaft Davos 71.4%
2,447 trips · avg +2.3 min
-
BVB 73.1%
31,317 trips · avg +2.3 min
-
Lugano-Ponte Tresa 73.2%
802 trips · avg +1.9 min
-
Busbetrieb Rapperswil-Eschenbach-Rüti ZH 73.4%
1,798 trips · avg +2.1 min
-
VBL 74.6%
25,594 trips · avg +2.4 min
-
Automobil Rottal 75.2%
2,861 trips · avg +2.4 min
-
Transports Publics Neuchâtelois 77.2%
17,422 trips · avg +1.9 min
Show 17 more
-
Verkehrsbetrieb LIECHTENSTEINmobil 77.9%
4,811 trips · avg +2.1 min
-
TPG 78.5%
60,445 trips · avg +1.9 min
-
Auto AG Rothenburg 80.5%
4,936 trips · avg +1.7 min
-
Bus Sierrois 81.5%
1,432 trips · avg +3.1 min
-
Bus Nyon-Prangins 82%
2,222 trips · avg +1.6 min
-
TPL 82.4%
10,442 trips · avg +1.5 min
-
Bus und Service 82.6%
10,054 trips · avg +1.6 min
-
Regionale Verkehrsbetriebe Baden-Wettingen 83.4%
9,097 trips · avg +1.5 min
-
Busbetrieb Solothurn und Umgebung 83.9%
4,669 trips · avg +1.5 min
-
Montreux-Vevey-Riviera 84.7%
932 trips · avg +1.5 min
-
Montreux-Oberland Bernois 85.1%
951 trips · avg +1.6 min
-
Bamert Bus 85.3%
1,024 trips · avg +1.5 min
-
VBZ 85.7%
108,445 trips · avg +1.5 min
-
Stadtbus Frauenfeld 85.8%
3,292 trips · avg +1.6 min
-
Busbetrieb Aarau 86.2%
6,341 trips · avg +1.5 min
-
Sierre-Montana-Crans 86.7%
1,866 trips · avg +1.5 min
-
Regiobus Gossau SG 87.2%
3,497 trips · avg +1.3 min
Most punctual operators
-
Zentralbahn 99.3%
2,440 trips · avg +0.3 min
-
Aare Seeland mobil 98.3%
2,093 trips · avg +0.4 min
-
Regionalverkehr Bern-Solothurn 98.1%
3,966 trips · avg +0.4 min
-
THURBO 97.4%
7,807 trips · avg +0.5 min
-
BLS 97.3%
10,831 trips · avg +0.6 min
-
Schweizerische Südostbahn 97.3%
3,534 trips · avg +0.6 min
-
Auto AG Uri 96.8%
2,303 trips · avg +0.7 min
-
Auto AG Schwyz 96.3%
5,024 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 93.6%
11,792 departures · avg +1.1 min
-
Bern 97.4%
7,156 departures · avg +0.9 min
-
Zürich Oerlikon 93.7%
6,123 departures · avg +1.1 min
-
Zürich Stadelhofen 90.1%
4,904 departures · avg +1.4 min
-
Winterthur 96.2%
4,850 departures · avg +1.1 min
-
Zürich Hardbrücke 81.2%
4,607 departures · avg +2.1 min
-
Olten 94.7%
4,235 departures · avg +1.1 min
-
Lausanne 95.3%
3,769 departures · avg +1.1 min
-
Aarau 96.2%
3,630 departures · avg +0.8 min
-
St. Gallen 94%
3,604 departures · avg +1.3 min
-
Renens VD 95.5%
3,474 departures · avg +1 min
-
Luzern 98.1%
3,256 departures · avg +0.7 min
-
Genève, gare Cornavin 82.3%
19,984 departures · avg +1.7 min
-
Bern, Bahnhof 94.4%
19,367 departures · avg +1.2 min
-
Genève, Bel-Air 82.5%
19,207 departures · avg +1.7 min
-
Luzern, Kantonalbank 79.6%
16,228 departures · avg +2.2 min
-
Zürich, Central 93.8%
14,933 departures · avg +1.1 min
-
14,858 departures · avg +2 min
-
Bern, Hirschengraben 89.9%
14,798 departures · avg +1.6 min
-
Bern, Zytglogge 90.8%
14,161 departures · avg +1.5 min
-
Lausanne, Bel-Air 78.2%
14,148 departures · avg +1.9 min
-
Luzern, Bahnhof 87.6%
14,040 departures · avg +1.6 min
-
Zürich, Bellevue 93.4%
13,977 departures · avg +1.2 min
-
Basel, Bahnhof SBB 86.5%
13,833 departures · avg +1.7 min
-
Magliaso Paese 60.7%
802 departures · avg +3.2 min
-
Agno 60.8%
802 departures · avg +3.2 min
-
Magliaso 62.6%
802 departures · avg +3 min
-
Serocca 63.1%
802 departures · avg +2.9 min
-
802 departures · avg +2.8 min
-
Caslano 68.8%
802 departures · avg +2.7 min
-
Bioggio 70.1%
802 departures · avg +2.5 min
-
Oberentfelden Engelplatz 71.7%
1,026 departures · avg +1.8 min
-
Muhen Nord 71.8%
1,026 departures · avg +1.8 min
-
Cappella-Agnuzzo 74.2%
802 departures · avg +2.1 min
-
Zufikon 74.2%
1,029 departures · avg +2.2 min
-
Sorengo Laghetto 74.6%
802 departures · avg +2.4 min
Largest delays
- m1 Lausanne, Flon – Renens VD, gare Renens VD, gareand 6 more trips of this line +178 min
- Bus 72 Satigny, gare – Satigny, gare Satigny, gareand 2 more trips of this line +171 min
- NJ Zürich HBand 5 more trips of this line +171 min
- R55 Nyon – St-Cergue La Cureand 7 more trips of this line +146 min
- Bus 21 Beggingen, Dorf – Schaffhausen, Bahnhof Siblingen, Am Steiand 1 more trips of this line +137 min
- N3 St-Françoisand 2 more trips of this line +128 min
- Bus 60 Genève, gare Cornavin +124 min
- Bus 1 Ebikon, Fildern – Obernau, Dorf Luzern, Maihofand 4 more trips of this line +123 min
- Bus 4 Prilly, Coudraie – Lausanne, Faverges Prilly, Coudraieand 2 more trips of this line +117 min
- EC Bregenz – Zürich HB Zürich HBand 13 more trips of this line +110 min
- Bus 10 Schliern, Bus-Endstationand 3 more trips of this line +94 min
- Tram 13 Zürich, Bahnhofstrasse/HB – Zürich, Albisgütli Zürich, Bahnhofstrasse/HB +90 min
- Bus 1 Gebenstorf, Reuss – Würenlos, Bettlen Gebenstorf, Reussand 2 more trips of this line +89 min
- Bus 1 Lausanne, Blécherette – Ecublens VD, EPFL/Colladon Blécheretteand 1 more trips of this line +86 min
- Bus 2 Sierre, Hôtel de Ville/gare – Sierre, Piscine Guillamo Sierre, Piscine Guillamoand 6 more trips of this line +85 min