Punctuality of Swiss public transportWeek 3127 Jul – 2 Aug 2026
91.1% of 941,677 trips were on time. The best day was Monday 27 July with 92.2%, the worst Saturday 1 August with 89.6%. Of the busy lines, M2 Genève-Pâquis (lac) – Genève-Quai Gustave Ador (lac) had the lowest share on time: 27%.
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.
91.1%
−0.3 ptsWeek before: 91.4% · 941,677 trips with live data
Average delay
+1 min
Canceled trips
4,870
0.5% of the trips
Day by day
The share on time of each day. A day opens its page.
- 95%
- Average: 91.1%
- Best day
- Mon 27 Jul · 92.2%
- Worst day
- Sat 1 Aug · 89.6%
- Worst hour
- Sat 01:00–02:00 · 79.3%
By mode
-
Train 94.8%
96,699 trips · avg +0.8 min
-
Tram 87.2%
87,843 trips · avg +1.4 min
-
Bus 91.2%
752,186 trips · avg +1 min
-
Metro 99.2%
2,009 trips · avg +0.9 min
-
Boat 48%
2,940 trips · avg +4.3 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) 27%
1,098 trips · avg +5.9 min
-
1,098 trips · avg +5 min
-
474 trips · avg +11.7 min
-
1,172 trips · avg +3.1 min
-
Bus 50 Basel, Bahnhof SBB – Basel EuroAirport, VerwaltungBasel, Bahnhof SBB – Basel EuroAirport, Verwaltung 57.2%
1,326 trips · avg +3.5 min
-
Bus 109 Neuchâtel, Place Pury – Neuchâtel, Trois-ChênesNeuchâtel, Place Pury – Neuchâtel, Trois-Chênes 57.9%
1,258 trips · avg +2.8 min
-
Bus 122 Grindelwald, Gletscherschlucht – Grindelwald, KlusiGrindelwald, Gletscherschlucht – Grindelwald, Klusi 58.1%
308 trips · avg +3.2 min
-
Bus 54 Versoix, Centre sportif – Vernier, ParfumerieVersoix, Centre sportif – Vernier, Parfumerie 58.4%
353 trips · avg +2.9 min
Show 17 more
-
1,171 trips · avg +2.9 min
-
454 trips · avg +3.3 min
-
Bus 501 Estavayer-le-Lac,Champ-de-Lune – Estavayer-le-Lac, portEstavayer-le-Lac,Champ-de-Lune – Estavayer-le-Lac, port 60.7%
328 trips · avg +3.6 min
-
Bus 7 Vernier, Lignon Tours – Vessy, Grands-EssertsVernier, Lignon Tours – Vessy, Grands-Esserts 62.5%
963 trips · avg +2.7 min
-
1,403 trips · avg +3.1 min
-
1,341 trips · avg +3.3 min
-
290 trips · avg +2 min
-
1,075 trips · avg +2.6 min
-
1,795 trips · avg +2.4 min
-
1,168 trips · avg +2.1 min
-
542 trips · avg +2.7 min
-
571 trips · avg +2.6 min
-
Bus 1 Lausanne, Blécherette – Ecublens VD, EPFL/ColladonLausanne, Blécherette – Ecublens VD, EPFL/Colladon 65.8%
1,223 trips · avg +2.7 min
-
Bus 3 Givisiez, Mont Carmel – Fribourg, CharmettesGivisiez, Mont Carmel – Fribourg, Charmettes 66.6%
730 trips · avg +1.9 min
-
1,070 trips · avg +2.4 min
-
528 trips · avg +2.2 min
-
Bus 55 Chavannes-des-Bois – Genève-Aéroport, TerminalChavannes-des-Bois – Genève-Aéroport, Terminal 68.3%
404 trips · avg +2 min
Most punctual busy lines
-
1,615 trips · avg +0.6 min
-
1,458 trips · avg +0.4 min
-
Bus 781 Zürich Oerlikon, Bahnhof – Glattbrugg, GiebeleichstrasseZürich Oerlikon, Bahnhof – Glattbrugg, Giebeleichstrasse 98%
1,519 trips · avg +0.7 min
-
1,853 trips · avg +0.8 min
-
Bus 3 Winterthur, Oberseen – Winterthur, RosenbergWinterthur, Oberseen – Winterthur, Rosenberg 97.1%
1,633 trips · avg +0.4 min
-
2,107 trips · avg +0.9 min
-
1,937 trips · avg +0.7 min
-
1,663 trips · avg +0.5 min
Least punctual busy lines
-
474 trips · avg +11.7 min
-
542 trips · avg +2.7 min
-
404 trips · avg +2.2 min
-
595 trips · avg +2.2 min
-
729 trips · avg +1.9 min
-
536 trips · avg +1.6 min
-
285 trips · avg +1.6 min
-
398 trips · avg +0.8 min
Show 17 more
-
369 trips · avg +1.5 min
-
428 trips · avg +1.4 min
-
531 trips · avg +1 min
-
357 trips · avg +0.7 min
-
582 trips · avg +1.4 min
-
509 trips · avg +0.8 min
-
747 trips · avg +0.6 min
-
321 trips · avg +0.7 min
-
295 trips · avg +0.8 min
-
458 trips · avg +0.8 min
-
755 trips · avg +0.7 min
-
400 trips · avg +0.7 min
-
586 trips · avg +0.7 min
-
690 trips · avg +0.8 min
-
372 trips · avg +0.7 min
-
598 trips · avg +0.6 min
-
280 trips · avg +0.6 min
Most punctual busy lines
-
1,152 trips · avg +0.1 min
-
553 trips · avg +0.1 min
-
406 trips · avg +0 min
-
377 trips · avg +0 min
-
842 trips · avg +0.2 min
-
473 trips · avg +0.1 min
-
613 trips · avg +0.2 min
-
532 trips · avg +0.5 min
Least punctual busy lines
-
1,795 trips · avg +2.4 min
-
1,814 trips · avg +2 min
-
1,773 trips · avg +2.1 min
-
Tram 8 Weil am Rhein, Bahnhof/Zentrum – Basel, NeuweilerstrasseWeil am Rhein, Bahnhof/Zentrum – Basel, Neuweilerstrasse 73.9%
1,578 trips · avg +2.1 min
-
1,851 trips · avg +2.1 min
-
2,535 trips · avg +1.7 min
-
Tram 21 Basel, Bahnhof St. Johann – Basel, Badischer BahnhofBasel, Bahnhof St. Johann – Basel, Badischer Bahnhof 78.9%
1,795 trips · avg +2 min
-
3,417 trips · avg +1.3 min
Show 17 more
-
1,461 trips · avg +1.7 min
-
1,844 trips · avg +1.4 min
-
1,029 trips · avg +1.6 min
-
2,237 trips · avg +1.5 min
-
1,896 trips · avg +1.2 min
-
1,606 trips · avg +1.1 min
-
Tram 7 Zürich, Wollishoferplatz – Stettbach, BahnhofZürich, Wollishoferplatz – Stettbach, Bahnhof 91.5%
1,414 trips · avg +1.4 min
-
1,954 trips · avg +1.2 min
-
1,923 trips · avg +1.1 min
-
Tram 51 Zürich Altstetten, Bahnhof N – Zürich, SeebachZürich Altstetten, Bahnhof N – Zürich, Seebach 92.4%
1,938 trips · avg +1.2 min
-
Tram 13 Zürich, Bahnhofstrasse/HB – Zürich, AlbisgütliZürich, Bahnhofstrasse/HB – Zürich, Albisgütli 92.7%
2,278 trips · avg +1.1 min
-
1,864 trips · avg +0.8 min
-
Tram 11 Zürich Tiefenbrunnen, Bahnhof – Zürich, Bahnhofstrasse/HBZürich Tiefenbrunnen, Bahnhof – Zürich, Bahnhofstrasse/HB 94.4%
1,425 trips · avg +1.1 min
-
Tram 10 Zürich, Bahnhofstrasse/HB – Zürich Flughafen, FrachtZürich, Bahnhofstrasse/HB – Zürich Flughafen, Fracht 94.4%
1,408 trips · avg +1 min
-
1,892 trips · avg +1.3 min
-
1,737 trips · avg +1 min
-
Tram 15 Zürich Tiefenbrunnen, Bahnhof – Zürich, CentralZürich Tiefenbrunnen, Bahnhof – Zürich, Central 96.1%
1,421 trips · avg +1 min
Most punctual busy lines
-
Tram 20 Killwangen, Bahnhof – Zürich Altstetten, BahnhofKillwangen, Bahnhof – Zürich Altstetten, Bahnhof 98.1%
1,070 trips · avg +0.8 min
-
1,853 trips · avg +0.8 min
-
Tram 12 Zürich Flughafen, Fracht – Stettbach, BahnhofZürich Flughafen, Fracht – Stettbach, Bahnhof 96.4%
769 trips · avg +0.9 min
-
Tram 15 Zürich Tiefenbrunnen, Bahnhof – Zürich, CentralZürich Tiefenbrunnen, Bahnhof – Zürich, Central 96.1%
1,421 trips · avg +1 min
-
1,737 trips · avg +1 min
-
1,892 trips · avg +1.3 min
-
Tram 10 Zürich, Bahnhofstrasse/HB – Zürich Flughafen, FrachtZürich, Bahnhofstrasse/HB – Zürich Flughafen, Fracht 94.4%
1,408 trips · avg +1 min
-
Tram 11 Zürich Tiefenbrunnen, Bahnhof – Zürich, Bahnhofstrasse/HBZürich Tiefenbrunnen, Bahnhof – Zürich, Bahnhofstrasse/HB 94.4%
1,425 trips · avg +1.1 min
Least punctual busy lines
-
1,172 trips · avg +3.1 min
-
Bus 50 Basel, Bahnhof SBB – Basel EuroAirport, VerwaltungBasel, Bahnhof SBB – Basel EuroAirport, Verwaltung 57.2%
1,326 trips · avg +3.5 min
-
Bus 109 Neuchâtel, Place Pury – Neuchâtel, Trois-ChênesNeuchâtel, Place Pury – Neuchâtel, Trois-Chênes 57.9%
1,258 trips · avg +2.8 min
-
Bus 122 Grindelwald, Gletscherschlucht – Grindelwald, KlusiGrindelwald, Gletscherschlucht – Grindelwald, Klusi 58.1%
308 trips · avg +3.2 min
-
Bus 54 Versoix, Centre sportif – Vernier, ParfumerieVersoix, Centre sportif – Vernier, Parfumerie 58.4%
353 trips · avg +2.9 min
-
1,171 trips · avg +2.9 min
-
454 trips · avg +3.3 min
-
Bus 501 Estavayer-le-Lac,Champ-de-Lune – Estavayer-le-Lac, portEstavayer-le-Lac,Champ-de-Lune – Estavayer-le-Lac, port 60.7%
328 trips · avg +3.6 min
Show 17 more
-
Bus 7 Vernier, Lignon Tours – Vessy, Grands-EssertsVernier, Lignon Tours – Vessy, Grands-Esserts 62.5%
963 trips · avg +2.7 min
-
1,403 trips · avg +3.1 min
-
1,341 trips · avg +3.3 min
-
290 trips · avg +2 min
-
1,075 trips · avg +2.6 min
-
1,168 trips · avg +2.1 min
-
571 trips · avg +2.6 min
-
Bus 1 Lausanne, Blécherette – Ecublens VD, EPFL/ColladonLausanne, Blécherette – Ecublens VD, EPFL/Colladon 65.8%
1,223 trips · avg +2.7 min
-
Bus 3 Givisiez, Mont Carmel – Fribourg, CharmettesGivisiez, Mont Carmel – Fribourg, Charmettes 66.6%
730 trips · avg +1.9 min
-
1,070 trips · avg +2.4 min
-
528 trips · avg +2.2 min
-
Bus 55 Chavannes-des-Bois – Genève-Aéroport, TerminalChavannes-des-Bois – Genève-Aéroport, Terminal 68.3%
404 trips · avg +2 min
-
967 trips · avg +2.4 min
-
334 trips · avg +2.5 min
-
903 trips · avg +2.6 min
-
289 trips · avg +2.3 min
-
Bus 106 Neuchâtel, Place Pury – Neuchâtel,Vallon de l'ErmitageNeuchâtel, Place Pury – Neuchâtel,Vallon de l'Ermitage 69.5%
347 trips · avg +2.2 min
Most punctual busy lines
-
1,615 trips · avg +0.6 min
-
Bus 752 Stettbach, Bahnhof – Dübendorf, KunsteisbahnStettbach, Bahnhof – Dübendorf, Kunsteisbahn 98.8%
1,325 trips · avg +0.6 min
-
1,396 trips · avg +0.4 min
-
1,249 trips · avg +0.5 min
-
1,458 trips · avg +0.4 min
-
1,238 trips · avg +0.6 min
-
1,246 trips · avg +0.2 min
-
Bus 781 Zürich Oerlikon, Bahnhof – Glattbrugg, GiebeleichstrasseZürich Oerlikon, Bahnhof – Glattbrugg, Giebeleichstrasse 98%
1,519 trips · avg +0.7 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) 27%
1,098 trips · avg +5.9 min
-
1,098 trips · avg +5 min
-
372 trips · avg +0.7 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.2%
372 trips · avg +0.6 min
Least punctual operators
-
Mouettes genevoises 48%
2,940 trips · avg +4.3 min
-
Berner Oberland-Bahnen 70%
946 trips · avg +2.5 min
-
Bus Sierrois 75.6%
1,061 trips · avg +2.2 min
-
TPL 78.2%
10,358 trips · avg +2 min
-
TPG 78.4%
59,820 trips · avg +1.9 min
-
VBL 80.1%
24,353 trips · avg +1.8 min
-
Verkehrsbetrieb der Landschaft Davos 82.3%
2,483 trips · avg +1.5 min
-
BVB 82.6%
33,831 trips · avg +1.6 min
Show 17 more
-
Verkehrsbetrieb LIECHTENSTEINmobil 82.8%
5,230 trips · avg +1.7 min
-
Autobetrieb Sernftal 82.9%
818 trips · avg +2.2 min
-
Autolinee FART 84.4%
4,920 trips · avg +1.2 min
-
Bus und Service 84.6%
9,939 trips · avg +1.4 min
-
Matterhorn Gotthard Bahn 84.9%
2,192 trips · avg +1.5 min
-
Transports Publics Neuchâtelois 85.1%
16,643 trips · avg +1.4 min
-
tl 85.4%
44,034 trips · avg +1.4 min
-
Regionale Verkehrsbetriebe Baden-Wettingen 85.5%
8,902 trips · avg +1.4 min
-
AFA Bus 85.9%
1,629 trips · avg +1.2 min
-
Forchbahn 86.3%
1,029 trips · avg +1.6 min
-
Sierre-Montana-Crans 88.4%
2,136 trips · avg +1.4 min
-
RhB 88.8%
3,943 trips · avg +1.6 min
-
Automobil Rottal 88.8%
2,860 trips · avg +1.2 min
-
Bernmobil 89.5%
37,742 trips · avg +1.2 min
-
Autolinee Bleniesi 89.7%
1,035 trips · avg +1 min
-
Transports Publics du Chablais 90.2%
6,581 trips · avg +1 min
-
Auto AG Rothenburg 90.4%
4,573 trips · avg +1.2 min
Most punctual operators
-
Sihltal-Zürich-Uetliberg-Bahn 99.6%
1,787 trips · avg +0.2 min
-
Regionalverkehr Bern-Solothurn 99%
3,893 trips · avg +0.2 min
-
THURBO 98.5%
7,737 trips · avg +0.3 min
-
Automobildienst SZU 98.3%
11,068 trips · avg +0.4 min
-
Aare Seeland mobil 98.6%
2,156 trips · avg +0.4 min
-
Lausanne-Echallens-Bercher 98.7%
823 trips · avg +0.4 min
-
Stadtbus Winterthur 97.9%
12,250 trips · avg +0.4 min
-
Schweizerische Südostbahn 98.1%
3,549 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 96.8%
10,792 departures · avg +1 min
-
Bern 97.5%
6,863 departures · avg +0.9 min
-
Zürich Oerlikon 98%
6,268 departures · avg +0.8 min
-
Zürich Stadelhofen 96.1%
4,877 departures · avg +1 min
-
Winterthur 95.5%
4,789 departures · avg +1.1 min
-
Zürich Hardbrücke 92.8%
4,718 departures · avg +1.7 min
-
Olten 93.1%
4,219 departures · avg +1.4 min
-
Lausanne 90.9%
3,693 departures · avg +1.4 min
-
St. Gallen 94.9%
3,637 departures · avg +1.2 min
-
Aarau 95%
3,574 departures · avg +0.9 min
-
Renens VD 90.7%
3,264 departures · avg +1.4 min
-
Worblaufen 98.3%
3,123 departures · avg +0.8 min
-
Genève, gare Cornavin 78.4%
16,798 departures · avg +1.9 min
-
Genève, Bel-Air 79.6%
16,311 departures · avg +2 min
-
Basel, Bahnhof SBB 86.7%
14,618 departures · avg +1.6 min
-
Zürich, Central 95.9%
14,534 departures · avg +0.9 min
-
Luzern, Kantonalbank 84.8%
14,216 departures · avg +1.7 min
-
Bern, Bahnhof 88.9%
14,056 departures · avg +1.6 min
-
Zürich, Bellevue 95.1%
13,135 departures · avg +1.1 min
-
Luzern, Bahnhof 91.6%
12,620 departures · avg +1.2 min
-
Bern, Zytglogge 92.9%
12,524 departures · avg +1.3 min
-
12,350 departures · avg +0.9 min
-
Lausanne, Bel-Air 70.7%
12,075 departures · avg +2.5 min
-
St. Gallen, Bahnhof 95.3%
11,627 departures · avg +1 min
-
Wilderswil 67.8%
932 departures · avg +2.8 min
-
Matten b. Interlaken 68.3%
932 departures · avg +2.8 min
-
Zweilütschinen 72.2%
841 departures · avg +2.5 min
-
Oberentfelden Engelplatz 76.1%
978 departures · avg +1.5 min
-
Muhen Nord 76.3%
978 departures · avg +1.5 min
-
Chiasso 76.6%
1,201 departures · avg +2.8 min
-
Como S. Giovanni 77.5%
809 departures · avg +3 min
-
Leuk 77.7%
717 departures · avg +2.1 min
-
Payerne 78.9%
755 departures · avg +2.1 min
-
Brig 79%
957 departures · avg +3.3 min
-
Magliaso Paese 80.1%
755 departures · avg +1.9 min
-
Yverdon-les-Bains 81.3%
1,627 departures · avg +2 min
Largest delays
- ICE Interlaken Ostand 2 more trips of this line +310 min
- BEX Tirano – Chur Tiranoand 1 more trips of this line +257 min
- Bus 1 Gebenstorf, Reuss – Würenlos, Bettlen Würenlos, Bettlenand 3 more trips of this line +179 min
- Bus 401 Flüelen, Gruonbach – Göschenen, Bahnhof Amsteg, Dorf +165 min
- NJ Zürich HBand 3 more trips of this line +152 min
- R19 Tirano – St. Moritz Pontresinaand 2 more trips of this line +142 min
- Bus 215 Rossa, Villaggio – Grono, Paese Grono, Paeseand 1 more trips of this line +140 min
- Tram 12 Genève, Plainpalais +139 min
- Bus 47 Grandv, P. Grana +136 min
- Bus 62 Sursee, Bahnhof – Ruswil, Rottalcenter Sursee, Bahnhof +125 min
- RE9 Bern +121 min
- Bus 1 Sierre, Ecoparc de Daval – Sierre, Sablons Sierre, Sablonsand 1 more trips of this line +120 min
- Bus 220 Schiers, Bahnhof – Furna, Hinterberg Furna, Boden +112 min
- EC Bregenz – Zürich HB Lausanneand 26 more trips of this line +111 min
- Bus 440 Echallens, gare – Moudon, gare Moudon, gare +104 min