Punctuality of Swiss public transportWeek 2913 Jul – 19 Jul 2026
90.1% of 980,989 trips were on time. The best day was Sunday 19 July with 92.6%, the worst Tuesday 14 July with 88.7%. Of the busy lines, Bus 101 Cormondrèche, Grand'Rue – Marin-Epagnier, gare had the lowest share on time: 25.6%.
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.1%
+1.6 ptsWeek before: 88.4% · 980,989 trips with live data
Average delay
+1.1 min
Canceled trips
5,814
0.6% of the trips
Day by day
The share on time of each day. A day opens its page.
- 95%
- Average: 90.1%
- Best day
- Sun 19 Jul · 92.6%
- Worst day
- Tue 14 Jul · 88.7%
- Worst hour
- Tue 17:00–18:00 · 75.3%
By mode
-
Train 94.3%
96,922 trips · avg +0.8 min
-
Tram 84.2%
87,486 trips · avg +1.6 min
-
Bus 90.3%
791,739 trips · avg +1.1 min
-
Metro 94.9%
1,979 trips · avg +1.2 min
-
Boat 49.5%
2,863 trips · avg +4.1 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 25.6%
1,067 trips · avg +4.6 min
-
M2 Genève-Pâquis (lac) – Genève-Quai Gustave Ador (lac)Genève-Pâquis (lac) – Genève-Quai Gustave Ador (lac) 27.6%
1,098 trips · avg +5.7 min
-
450 trips · avg +5.9 min
-
1,021 trips · avg +4.8 min
-
Bus 68 Thoiry, Centre commercial – Vernier, BlandonnetThoiry, Centre commercial – Vernier, Blandonnet 49.8%
789 trips · avg +3.9 min
-
648 trips · avg +3.4 min
-
Bus 109 Neuchâtel, Place Pury – Neuchâtel, Trois-ChênesNeuchâtel, Place Pury – Neuchâtel, Trois-Chênes 56.9%
1,326 trips · avg +3 min
-
599 trips · avg +3 min
Show 17 more
-
511 trips · avg +3.8 min
-
1,550 trips · avg +3.8 min
-
1,171 trips · avg +2.8 min
-
Tram 8 Basel, Neuweilerstrasse – Weil am Rhein, Bahnhof/ZentrumBasel, Neuweilerstrasse – Weil am Rhein, Bahnhof/Zentrum 58.8%
505 trips · avg +3.2 min
-
1,229 trips · avg +3.3 min
-
Bus 55 Chavannes-des-Bois – Genève-Aéroport, TerminalChavannes-des-Bois – Genève-Aéroport, Terminal 59.6%
401 trips · avg +3.6 min
-
Bus 50 Basel EuroAirport, Verwaltung – Basel, Bahnhof SBBBasel EuroAirport, Verwaltung – Basel, Bahnhof SBB 59.8%
528 trips · avg +2.7 min
-
1,199 trips · avg +3 min
-
599 trips · avg +2.8 min
-
1,852 trips · avg +2.3 min
-
314 trips · avg +2.4 min
-
493 trips · avg +2.5 min
-
418 trips · avg +9.5 min
-
334 trips · avg +2.7 min
-
Bus 122 Grindelwald, Gletscherschlucht – Grindelwald, KlusiGrindelwald, Gletscherschlucht – Grindelwald, Klusi 67%
306 trips · avg +2.9 min
-
937 trips · avg +2.3 min
-
1,020 trips · avg +2.5 min
Most punctual busy lines
-
1,599 trips · avg +0.5 min
-
1,480 trips · avg +0.4 min
-
1,685 trips · avg +0.5 min
-
Bus 781 Zürich Oerlikon, Bahnhof – Glattbrugg, GiebeleichstrasseZürich Oerlikon, Bahnhof – Glattbrugg, Giebeleichstrasse 98.2%
1,518 trips · avg +0.7 min
-
1,376 trips · avg +0.6 min
-
2,029 trips · avg +0.6 min
-
Bus 701 Lausanne, Bourdonnette – Tolochenaz, La PlantazLausanne, Bourdonnette – Tolochenaz, La Plantaz 97.1%
1,321 trips · avg +0.4 min
-
1,887 trips · avg +0.8 min
Least punctual busy lines
-
418 trips · avg +9.5 min
-
549 trips · avg +1.9 min
-
551 trips · avg +1.3 min
-
406 trips · avg +1.3 min
-
737 trips · avg +1.3 min
-
677 trips · avg +0.9 min
-
528 trips · avg +1.4 min
-
404 trips · avg +1.2 min
Show 17 more
-
317 trips · avg +1.3 min
-
460 trips · avg +1 min
-
287 trips · avg +1.1 min
-
750 trips · avg +0.8 min
-
388 trips · avg +0.8 min
-
329 trips · avg +1 min
-
808 trips · avg +0.9 min
-
382 trips · avg +0.8 min
-
957 trips · avg +0.9 min
-
553 trips · avg +0.5 min
-
584 trips · avg +1 min
-
815 trips · avg +1 min
-
360 trips · avg +0.9 min
-
304 trips · avg +0.5 min
-
439 trips · avg +0.8 min
-
288 trips · avg +0.5 min
-
288 trips · avg +0.6 min
Most punctual busy lines
-
545 trips · avg +0.1 min
-
553 trips · avg +0.2 min
-
1,143 trips · avg +0.2 min
-
326 trips · avg +0.5 min
-
532 trips · avg +0.6 min
-
609 trips · avg +0.4 min
-
852 trips · avg +0.4 min
-
406 trips · avg +0.1 min
Least punctual busy lines
-
Tram 8 Basel, Neuweilerstrasse – Weil am Rhein, Bahnhof/ZentrumBasel, Neuweilerstrasse – Weil am Rhein, Bahnhof/Zentrum 58.8%
505 trips · avg +3.2 min
-
1,852 trips · avg +2.3 min
-
1,920 trips · avg +1.7 min
-
1,836 trips · avg +2 min
-
1,967 trips · avg +2 min
-
1,062 trips · avg +2.3 min
-
1,888 trips · avg +1.8 min
-
2,160 trips · avg +1.8 min
Show 14 more
-
3,435 trips · avg +1.3 min
-
352 trips · avg +1.4 min
-
1,910 trips · avg +1.6 min
-
1,922 trips · avg +1.4 min
-
1,967 trips · avg +1.3 min
-
1,988 trips · avg +1.2 min
-
Tram 7 Stettbach, Bahnhof – Zürich, WollishoferplatzStettbach, Bahnhof – Zürich, Wollishoferplatz 91.3%
473 trips · avg +1.3 min
-
Tram 51 Zürich Altstetten, Bahnhof N – Zürich, SeebachZürich Altstetten, Bahnhof N – Zürich, Seebach 92%
1,993 trips · avg +1.1 min
-
Tram 11 Zürich, Central – Zürich Tiefenbrunnen, BahnhofZürich, Central – Zürich Tiefenbrunnen, Bahnhof 93.1%
477 trips · avg +1.1 min
-
1,900 trips · avg +0.8 min
-
Tram 10 Zürich Flughafen, Fracht – Zürich, Bahnhofplatz/HBZürich Flughafen, Fracht – Zürich, Bahnhofplatz/HB 94.4%
411 trips · avg +1 min
-
1,758 trips · avg +1 min
-
1,887 trips · avg +0.8 min
-
Tram 20 Killwangen, Bahnhof – Zürich Altstetten, BahnhofKillwangen, Bahnhof – Zürich Altstetten, Bahnhof 97.8%
1,082 trips · avg +0.8 min
Most punctual busy lines
-
Tram 20 Killwangen, Bahnhof – Zürich Altstetten, BahnhofKillwangen, Bahnhof – Zürich Altstetten, Bahnhof 97.8%
1,082 trips · avg +0.8 min
-
1,887 trips · avg +0.8 min
-
1,758 trips · avg +1 min
-
Tram 10 Zürich Flughafen, Fracht – Zürich, Bahnhofplatz/HBZürich Flughafen, Fracht – Zürich, Bahnhofplatz/HB 94.4%
411 trips · avg +1 min
-
1,900 trips · avg +0.8 min
-
Tram 11 Zürich, Central – Zürich Tiefenbrunnen, BahnhofZürich, Central – Zürich Tiefenbrunnen, Bahnhof 93.1%
477 trips · avg +1.1 min
-
Tram 51 Zürich Altstetten, Bahnhof N – Zürich, SeebachZürich Altstetten, Bahnhof N – Zürich, Seebach 92%
1,993 trips · avg +1.1 min
-
Tram 7 Stettbach, Bahnhof – Zürich, WollishoferplatzStettbach, Bahnhof – Zürich, Wollishoferplatz 91.3%
473 trips · avg +1.3 min
Least punctual busy lines
-
Bus 101 Cormondrèche, Grand'Rue – Marin-Epagnier, gareCormondrèche, Grand'Rue – Marin-Epagnier, gare 25.6%
1,067 trips · avg +4.6 min
-
450 trips · avg +5.9 min
-
Bus 68 Thoiry, Centre commercial – Vernier, BlandonnetThoiry, Centre commercial – Vernier, Blandonnet 49.8%
789 trips · avg +3.9 min
-
648 trips · avg +3.4 min
-
Bus 109 Neuchâtel, Place Pury – Neuchâtel, Trois-ChênesNeuchâtel, Place Pury – Neuchâtel, Trois-Chênes 56.9%
1,326 trips · avg +3 min
-
599 trips · avg +3 min
-
511 trips · avg +3.8 min
-
1,550 trips · avg +3.8 min
Show 17 more
-
1,171 trips · avg +2.8 min
-
1,229 trips · avg +3.3 min
-
Bus 55 Chavannes-des-Bois – Genève-Aéroport, TerminalChavannes-des-Bois – Genève-Aéroport, Terminal 59.6%
401 trips · avg +3.6 min
-
Bus 50 Basel EuroAirport, Verwaltung – Basel, Bahnhof SBBBasel EuroAirport, Verwaltung – Basel, Bahnhof SBB 59.8%
528 trips · avg +2.7 min
-
1,199 trips · avg +3 min
-
599 trips · avg +2.8 min
-
314 trips · avg +2.4 min
-
493 trips · avg +2.5 min
-
334 trips · avg +2.7 min
-
Bus 122 Grindelwald, Gletscherschlucht – Grindelwald, KlusiGrindelwald, Gletscherschlucht – Grindelwald, Klusi 67%
306 trips · avg +2.9 min
-
937 trips · avg +2.3 min
-
1,020 trips · avg +2.5 min
-
838 trips · avg +2.3 min
-
1,067 trips · avg +2.4 min
-
523 trips · avg +3.2 min
-
Bus 206 Montreux, rue de la Gare – Montreux, casinoMontreux, rue de la Gare – Montreux, casino 71.4%
304 trips · avg +2.6 min
-
979 trips · avg +2.3 min
Most punctual busy lines
-
1,599 trips · avg +0.5 min
-
1,480 trips · avg +0.4 min
-
1,261 trips · avg +0.5 min
-
1,685 trips · avg +0.5 min
-
1,285 trips · avg +0.5 min
-
Bus 781 Zürich Oerlikon, Bahnhof – Glattbrugg, GiebeleichstrasseZürich Oerlikon, Bahnhof – Glattbrugg, Giebeleichstrasse 98.2%
1,518 trips · avg +0.7 min
-
1,284 trips · avg +0.7 min
-
1,376 trips · avg +0.6 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.6%
1,098 trips · avg +5.7 min
-
1,021 trips · avg +4.8 min
-
372 trips · avg +0.8 min
-
M4 Genève-Port Noir (lac) – Genève-De-Châteaubriand (lac)Genève-Port Noir (lac) – Genève-De-Châteaubriand (lac) 97.3%
372 trips · avg +0.8 min
Least punctual operators
-
Mouettes genevoises 49.5%
2,863 trips · avg +4.1 min
-
Autobetrieb Sernftal 70.2%
813 trips · avg +3.1 min
-
TPG 74.7%
59,522 trips · avg +2.2 min
-
TPL 77.1%
10,366 trips · avg +2.1 min
-
VBL 78.2%
25,015 trips · avg +2.1 min
-
Verkehrsbetrieb LIECHTENSTEINmobil 81.8%
5,644 trips · avg +1.9 min
-
BVB 82%
34,277 trips · avg +1.7 min
-
Forchbahn 82.3%
1,062 trips · avg +2.3 min
Show 17 more
-
Berner Oberland-Bahnen 82.3%
955 trips · avg +1.6 min
-
Transports Publics Neuchâtelois 82.6%
17,824 trips · avg +1.6 min
-
Transports publics Vevey-Montreux-Chillon-Villeneuve 82.9%
8,357 trips · avg +1.6 min
-
Bus und Service 84.1%
10,264 trips · avg +1.6 min
-
tl 84.8%
43,397 trips · avg +1.6 min
-
Automobil Rottal 85.4%
2,907 trips · avg +1.5 min
-
Auto AG Rothenburg 86%
4,757 trips · avg +1.5 min
-
Autolinee FART 86.8%
4,916 trips · avg +1.2 min
-
Regionale Verkehrsbetriebe Baden-Wettingen 87.1%
9,068 trips · avg +1.5 min
-
AFA Bus 87.2%
1,629 trips · avg +1.1 min
-
Matterhorn Gotthard Bahn 88.3%
2,196 trips · avg +1.2 min
-
VBZ 88.6%
107,626 trips · avg +1.3 min
-
Chemins de fer du Jura 88.8%
762 trips · avg +1 min
-
Montreux-Oberland Bernois 89.6%
923 trips · avg +1.3 min
-
Transports Vallée de Joux-Yverdon-Ste-Croix 89.6%
7,137 trips · avg +1.1 min
-
Transports Publics du Chablais 89.7%
7,349 trips · avg +1.1 min
-
Busbetrieb Aarau 89.8%
6,314 trips · avg +1.2 min
Most punctual operators
-
Sihltal-Zürich-Uetliberg-Bahn 99.4%
1,785 trips · avg +0.3 min
-
Regionalverkehr Bern-Solothurn 98.2%
3,882 trips · avg +0.3 min
-
Lausanne-Echallens-Bercher 98.5%
801 trips · avg +0.3 min
-
Zentralbahn 97.9%
2,484 trips · avg +0.4 min
-
BLS 97.4%
10,800 trips · avg +0.5 min
-
Schweizerische Südostbahn 97.6%
3,690 trips · avg +0.5 min
-
THURBO 97.3%
7,837 trips · avg +0.4 min
-
Bamert Bus 97.8%
1,078 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 94.9%
10,717 departures · avg +1.1 min
-
Bern 96.4%
7,118 departures · avg +1 min
-
Zürich Oerlikon 95.3%
6,128 departures · avg +1 min
-
Zürich Stadelhofen 94.4%
4,892 departures · avg +1.1 min
-
Winterthur 94.2%
4,717 departures · avg +1.4 min
-
Zürich Hardbrücke 89.9%
4,572 departures · avg +1.9 min
-
Olten 89.6%
3,999 departures · avg +1.7 min
-
Lausanne 92.6%
3,727 departures · avg +1.2 min
-
St. Gallen 94.9%
3,652 departures · avg +1.3 min
-
Aarau 91.1%
3,604 departures · avg +1.3 min
-
Renens VD 93.2%
3,317 departures · avg +1.2 min
-
Worblaufen 97.4%
3,117 departures · avg +0.8 min
-
Genève, gare Cornavin 75.3%
17,281 departures · avg +2 min
-
Genève, Bel-Air 70%
15,410 departures · avg +2.5 min
-
Basel, Bahnhof SBB 84.2%
15,198 departures · avg +1.7 min
-
Zürich, Central 93.6%
14,884 departures · avg +1.1 min
-
Luzern, Kantonalbank 83.3%
14,508 departures · avg +2.1 min
-
Bern, Bahnhof 94.8%
14,292 departures · avg +1.1 min
-
Lausanne, Bel-Air 67.5%
12,985 departures · avg +2.6 min
-
Luzern, Bahnhof 90%
12,948 departures · avg +1.4 min
-
Bern, Zytglogge 94%
12,928 departures · avg +1.3 min
-
Zürich, Bellevue 90.9%
12,844 departures · avg +1.3 min
-
12,739 departures · avg +1 min
-
St. Gallen, Bahnhof 95.3%
12,211 departures · avg +1 min
-
Oberentfelden Engelplatz 73.8%
1,024 departures · avg +1.6 min
-
Muhen Nord 73.9%
1,024 departures · avg +1.6 min
-
Gelterkinden 75.7%
950 departures · avg +1.9 min
-
Wilderswil 78.6%
941 departures · avg +2.1 min
-
S. Antonino 78.6%
1,124 departures · avg +2.3 min
-
Basel Bad Bf 79.6%
710 departures · avg +6.1 min
-
Matten b. Interlaken 79.7%
941 departures · avg +2.1 min
-
Mulhouse 80.9%
717 departures · avg +3.5 min
-
Como S. Giovanni 82%
811 departures · avg +2.4 min
-
Riazzino 82.1%
1,107 departures · avg +2.2 min
-
Gordola 82.2%
1,107 departures · avg +2.2 min
-
Täsch 82.5%
804 departures · avg +2 min
Largest delays
- Bus 70 Aire-la-Ville, Pont-de-Peney +265 min
- Bus 66 Genève-Aéroport, Terminaland 1 more trips of this line +251 min
- Bus 25 Schaffhausen, Bahnhofand 4 more trips of this line +251 min
- Bus 8 Corminboeuf, anc. poste – Marly, piscine Corminboeuf, anc. posteand 1 more trips of this line +247 min
- EC Bregenz – Zürich HB Basel SBBand 5 more trips of this line +244 min
- NJ Zürich HB +243 min
- ICE Basel Bad Bfand 13 more trips of this line +231 min
- Bus 81 Chur, Postautostation – Falera, center Falera, center +179 min
- Bus 893 Wald ZH, Bahnhof – Wald ZH, Bahnhof Wald ZH, Bahnhofand 1 more trips of this line +173 min
- Bus 892 Wald ZH, Bahnhof – Wald ZH, Rehazentrum Wald ZH, Bahnhofand 2 more trips of this line +160 min
- Bus 7 Pully, Val-Vertand 2 more trips of this line +146 min
- Bus 613 Yverdon-les-Bains, gareand 2 more trips of this line +144 min
- Tram 17 Basel, MParc +133 min
- Bus 704 Morges, Grassey +130 min
- Bus 310 Stans, Bahnhof – Altdorf UR, Bahnhof West Stans, Bahnhof +121 min
›Probably errors in the feed (4)
Delays of more than 6 hours. The real-time feed sent them, but they are probably not real.
- Bus 1 Gebenstorf, Reuss – Würenlos, Bettlen Baden, Bahnhof Ost +622 min
- Bus 3 Wettingen, Brunnenwiese +619 min
- Bus 20 Horw, Technikumstrasseand 6 more trips of this line +569 min
- Bus 20 Lausanne, Blécherette – Lausanne, gare Blécheretteand 12 more trips of this line +452 min