Punctuality of Swiss public transportWeek 2515 Jun – 21 Jun 2026
86.4% of 971,291 trips were on time. The best day was Sunday 21 June with 90.4%, the worst Friday 19 June with 84.8%. Of the busy lines, Bus 21 Malbun, Zentrum – Vaduz, Städtle had the lowest share on time: 30.8%.
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.
86.4%
−1.1 ptsWeek before: 87.5% · 971,291 trips with live data
Average delay
+1.4 min
Canceled trips
5,799
0.6% of the trips
Day by day
The share on time of each day. A day opens its page.
- 95%
- Average: 86.4%
- Best day
- Sun 21 Jun · 90.4%
- Worst day
- Fri 19 Jun · 84.8%
- Worst hour
- Tue 17:00–18:00 · 67.4%
By mode
-
Train 92.6%
97,130 trips · avg +1 min
-
Tram 81.3%
78,605 trips · avg +2 min
-
Bus 86.3%
790,654 trips · avg +1.4 min
-
Metro 95.1%
1,976 trips · avg +1.2 min
-
Boat 49.4%
2,926 trips · avg +4 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
-
439 trips · avg +6.3 min
-
1,084 trips · avg +5.4 min
-
M2 Genève-Pâquis (lac) – Genève-Quai Gustave Ador (lac)Genève-Pâquis (lac) – Genève-Quai Gustave Ador (lac) 33.7%
1,098 trips · avg +5 min
-
Bus 109 Neuchâtel, Place Pury – Neuchâtel, Trois-ChênesNeuchâtel, Place Pury – Neuchâtel, Trois-Chênes 39.9%
1,367 trips · avg +3.9 min
-
597 trips · avg +3.8 min
-
Bus 9 Vernier, Lignon Tours – Thônex, Belle-Terre Pl. AraireVernier, Lignon Tours – Thônex, Belle-Terre Pl. Araire 48.7%
671 trips · avg +3.8 min
-
351 trips · avg +4.6 min
-
472 trips · avg +3.4 min
Show 17 more
-
477 trips · avg +3.8 min
-
Bus 66 Thoiry, Centre commercial – Genève-Aéroport, TerminalThoiry, Centre commercial – Genève-Aéroport, Terminal 51.2%
338 trips · avg +5.2 min
-
1,127 trips · avg +3.7 min
-
1,171 trips · avg +3.1 min
-
Bus 3 Grand-Saconnex, Gardiol – Genève, Crêts-de-ChampelGrand-Saconnex, Gardiol – Genève, Crêts-de-Champel 52.3%
1,002 trips · avg +3.7 min
-
Bus 107 Neuchâtel, Place Pury – Hauterive NE, posteNeuchâtel, Place Pury – Hauterive NE, poste 52.7%
283 trips · avg +3.1 min
-
314 trips · avg +3.1 min
-
432 trips · avg +12.6 min
-
848 trips · avg +3.9 min
-
Bus 108 Neuchâtel, Temple Valangines – Neuchâtel, Place PuryNeuchâtel, Temple Valangines – Neuchâtel, Place Pury 55.6%
1,225 trips · avg +3.4 min
-
Bus 165 Rüschlikon, Park im Grüene – Zürich, BürkliplatzRüschlikon, Park im Grüene – Zürich, Bürkliplatz 55.6%
759 trips · avg +3.4 min
-
Tram 8 Basel, Neuweilerstrasse – Weil am Rhein, Bahnhof/ZentrumBasel, Neuweilerstrasse – Weil am Rhein, Bahnhof/Zentrum 55.6%
462 trips · avg +3.4 min
-
426 trips · avg +2.9 min
-
Bus 33 Zürich, Triemli – Zürich Tiefenbrunnen, BahnhofZürich, Triemli – Zürich Tiefenbrunnen, Bahnhof 56.6%
1,959 trips · avg +3.6 min
-
1,565 trips · avg +3.3 min
-
336 trips · avg +3.6 min
-
1,476 trips · avg +2.9 min
Most punctual busy lines
-
1,562 trips · avg +0.5 min
-
1,537 trips · avg +0.7 min
-
2,038 trips · avg +0.8 min
-
1,619 trips · avg +0.9 min
-
Bus 3 Winterthur, Oberseen – Winterthur, RosenbergWinterthur, Oberseen – Winterthur, Rosenberg 95.3%
1,833 trips · avg +0.7 min
-
Bus 1 Winterthur, Oberwinterthur – Winterthur, TössWinterthur, Oberwinterthur – Winterthur, Töss 95.2%
1,847 trips · avg +0.9 min
-
1,920 trips · avg +1.3 min
-
1,842 trips · avg +0.8 min
Least punctual busy lines
-
432 trips · avg +12.6 min
-
731 trips · avg +2.6 min
-
768 trips · avg +1.7 min
-
576 trips · avg +1.6 min
-
414 trips · avg +1.9 min
-
518 trips · avg +1.6 min
-
813 trips · avg +1.4 min
-
605 trips · avg +1.2 min
Show 17 more
-
536 trips · avg +1.1 min
-
428 trips · avg +1.2 min
-
836 trips · avg +1.1 min
-
281 trips · avg +1.1 min
-
315 trips · avg +1.3 min
-
454 trips · avg +1.1 min
-
808 trips · avg +1 min
-
307 trips · avg +1.1 min
-
528 trips · avg +0.8 min
-
286 trips · avg +1.1 min
-
533 trips · avg +0.9 min
-
287 trips · avg +0.8 min
-
461 trips · avg +0.8 min
-
369 trips · avg +1.5 min
-
497 trips · avg +0.9 min
-
405 trips · avg +0.9 min
-
601 trips · avg +1 min
Most punctual busy lines
-
406 trips · avg +0.1 min
-
362 trips · avg +0 min
-
326 trips · avg +0.4 min
-
591 trips · avg +0.2 min
-
504 trips · avg +0.2 min
-
430 trips · avg +0.5 min
-
1,306 trips · avg +0.3 min
-
880 trips · avg +0.4 min
Least punctual busy lines
-
Tram 8 Basel, Neuweilerstrasse – Weil am Rhein, Bahnhof/ZentrumBasel, Neuweilerstrasse – Weil am Rhein, Bahnhof/Zentrum 55.6%
462 trips · avg +3.4 min
-
Tram 14 Basel, Dreirosenbrücke – Pratteln, SchlossstrasseBasel, Dreirosenbrücke – Pratteln, Schlossstrasse 60.2%
1,893 trips · avg +3.1 min
-
1,915 trips · avg +2.9 min
-
Tram 2 Binningen, Kronenplatz – Basel, Badischer BahnhofBinningen, Kronenplatz – Basel, Badischer Bahnhof 64%
464 trips · avg +2.8 min
-
1,945 trips · avg +1.9 min
-
1,842 trips · avg +2.2 min
-
350 trips · avg +2 min
-
Tram 9 Wabern, Tram-Endstation – Bern Wankdorf, BahnhofWabern, Tram-Endstation – Bern Wankdorf, Bahnhof 78.6%
1,399 trips · avg +2 min
Show 17 more
-
1,843 trips · avg +2 min
-
654 trips · avg +1.8 min
-
1,933 trips · avg +2.3 min
-
1,930 trips · avg +1.8 min
-
1,075 trips · avg +3.2 min
-
1,397 trips · avg +3.9 min
-
2,320 trips · avg +2 min
-
1,976 trips · avg +1.8 min
-
2,771 trips · avg +1.6 min
-
2,017 trips · avg +1.7 min
-
Tram 7 Stettbach, Bahnhof – Zürich, WollishoferplatzStettbach, Bahnhof – Zürich, Wollishoferplatz 86.6%
470 trips · avg +1.7 min
-
1,933 trips · avg +1.9 min
-
Tram 51 Zürich Altstetten, Bahnhof N – Zürich, SeebachZürich Altstetten, Bahnhof N – Zürich, Seebach 88.3%
2,039 trips · avg +1.4 min
-
Tram 10 Zürich Flughafen, Fracht – Zürich, Bahnhofplatz/HBZürich Flughafen, Fracht – Zürich, Bahnhofplatz/HB 89.2%
416 trips · avg +1.3 min
-
1,927 trips · avg +1.1 min
-
1,920 trips · avg +1.3 min
-
1,293 trips · avg +0.9 min
Most punctual busy lines
-
974 trips · avg +0.2 min
-
Tram 20 Killwangen, Bahnhof – Zürich Altstetten, BahnhofKillwangen, Bahnhof – Zürich Altstetten, Bahnhof 96%
1,068 trips · avg +1 min
-
1,293 trips · avg +0.9 min
-
1,920 trips · avg +1.3 min
-
1,927 trips · avg +1.1 min
-
Tram 10 Zürich Flughafen, Fracht – Zürich, Bahnhofplatz/HBZürich Flughafen, Fracht – Zürich, Bahnhofplatz/HB 89.2%
416 trips · avg +1.3 min
-
Tram 51 Zürich Altstetten, Bahnhof N – Zürich, SeebachZürich Altstetten, Bahnhof N – Zürich, Seebach 88.3%
2,039 trips · avg +1.4 min
-
1,933 trips · avg +1.9 min
Least punctual busy lines
-
439 trips · avg +6.3 min
-
Bus 109 Neuchâtel, Place Pury – Neuchâtel, Trois-ChênesNeuchâtel, Place Pury – Neuchâtel, Trois-Chênes 39.9%
1,367 trips · avg +3.9 min
-
597 trips · avg +3.8 min
-
Bus 9 Vernier, Lignon Tours – Thônex, Belle-Terre Pl. AraireVernier, Lignon Tours – Thônex, Belle-Terre Pl. Araire 48.7%
671 trips · avg +3.8 min
-
351 trips · avg +4.6 min
-
472 trips · avg +3.4 min
-
477 trips · avg +3.8 min
-
Bus 66 Thoiry, Centre commercial – Genève-Aéroport, TerminalThoiry, Centre commercial – Genève-Aéroport, Terminal 51.2%
338 trips · avg +5.2 min
Show 17 more
-
1,127 trips · avg +3.7 min
-
1,171 trips · avg +3.1 min
-
Bus 3 Grand-Saconnex, Gardiol – Genève, Crêts-de-ChampelGrand-Saconnex, Gardiol – Genève, Crêts-de-Champel 52.3%
1,002 trips · avg +3.7 min
-
Bus 107 Neuchâtel, Place Pury – Hauterive NE, posteNeuchâtel, Place Pury – Hauterive NE, poste 52.7%
283 trips · avg +3.1 min
-
314 trips · avg +3.1 min
-
848 trips · avg +3.9 min
-
Bus 108 Neuchâtel, Temple Valangines – Neuchâtel, Place PuryNeuchâtel, Temple Valangines – Neuchâtel, Place Pury 55.6%
1,225 trips · avg +3.4 min
-
Bus 165 Rüschlikon, Park im Grüene – Zürich, BürkliplatzRüschlikon, Park im Grüene – Zürich, Bürkliplatz 55.6%
759 trips · avg +3.4 min
-
426 trips · avg +2.9 min
-
Bus 33 Zürich, Triemli – Zürich Tiefenbrunnen, BahnhofZürich, Triemli – Zürich Tiefenbrunnen, Bahnhof 56.6%
1,959 trips · avg +3.6 min
-
1,565 trips · avg +3.3 min
-
336 trips · avg +3.6 min
-
1,476 trips · avg +2.9 min
-
605 trips · avg +4.7 min
-
1,064 trips · avg +2.9 min
-
981 trips · avg +4 min
-
327 trips · avg +3.1 min
Most punctual busy lines
-
1,271 trips · avg +0.7 min
-
1,294 trips · avg +0.6 min
-
1,562 trips · avg +0.5 min
-
1,537 trips · avg +0.7 min
-
1,303 trips · avg +0.5 min
-
Bus 5 St. Gallen, Riethüsli – St. Gallen, RotmontenSt. Gallen, Riethüsli – St. Gallen, Rotmonten 96.3%
1,307 trips · avg +0.9 min
-
1,619 trips · avg +0.9 min
-
Bus 3 Winterthur, Oberseen – Winterthur, RosenbergWinterthur, Oberseen – Winterthur, Rosenberg 95.3%
1,833 trips · avg +0.7 min
Least punctual busy lines
-
1,084 trips · avg +5.4 min
-
M2 Genève-Pâquis (lac) – Genève-Quai Gustave Ador (lac)Genève-Pâquis (lac) – Genève-Quai Gustave Ador (lac) 33.7%
1,098 trips · avg +5 min
-
372 trips · avg +0.4 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.7 min
Least punctual operators
-
Mouettes genevoises 49.4%
2,926 trips · avg +4 min
-
Autobetrieb Sernftal 66.5%
874 trips · avg +2.7 min
-
VBL 68.9%
25,649 trips · avg +2.5 min
-
Verkehrsbetrieb LIECHTENSTEINmobil 68.9%
5,121 trips · avg +2.9 min
-
TPG 71.4%
56,114 trips · avg +3 min
-
BVB 72%
31,773 trips · avg +2.4 min
-
Automobil Rottal 73.1%
2,934 trips · avg +2.2 min
-
Transports Publics Neuchâtelois 74.5%
18,370 trips · avg +2.1 min
Show 17 more
-
Lugano-Ponte Tresa 75.1%
768 trips · avg +1.7 min
-
TPL 75.5%
10,471 trips · avg +1.9 min
-
Matterhorn Gotthard Bahn 76.4%
2,191 trips · avg +1.8 min
-
Busbetrieb Rapperswil-Eschenbach-Rüti ZH 78.9%
1,889 trips · avg +1.9 min
-
Bus und Service 80.5%
10,295 trips · avg +1.8 min
-
Auto AG Rothenburg 81.6%
4,707 trips · avg +1.7 min
-
Forchbahn 81.7%
1,075 trips · avg +3.2 min
-
Busbetrieb Aarau 82.3%
6,335 trips · avg +1.7 min
-
Bus Nyon-Prangins 82.7%
2,207 trips · avg +2.6 min
-
Sierre-Montana-Crans 82.9%
1,411 trips · avg +1.7 min
-
Bus Sierrois 83.4%
1,722 trips · avg +1.6 min
-
Bernmobil 83.5%
36,221 trips · avg +1.7 min
-
VBZ 83.5%
109,036 trips · avg +1.8 min
-
Regiobus Gossau SG 84.2%
4,183 trips · avg +1.5 min
-
Regionale Verkehrsbetriebe Baden-Wettingen 84.2%
8,786 trips · avg +1.6 min
-
Montreux-Oberland Bernois 84.3%
917 trips · avg +1.8 min
-
Busbetrieb Solothurn und Umgebung 84.8%
4,849 trips · avg +1.4 min
Most punctual operators
-
Sihltal-Zürich-Uetliberg-Bahn 98.1%
1,803 trips · avg +0.4 min
-
Lausanne-Echallens-Bercher 98.4%
880 trips · avg +0.4 min
-
Aare Seeland mobil 97.7%
1,978 trips · avg +0.4 min
-
THURBO 97.1%
7,801 trips · avg +0.4 min
-
Busbetrieb Grenchen und Umgebung 97.4%
2,129 trips · avg +0.7 min
-
Wengernalpbahn 97.7%
927 trips · avg +0.4 min
-
Regionalverkehr Bern-Solothurn 97%
3,940 trips · avg +0.4 min
-
BLS 96.3%
10,646 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 90.5%
10,736 departures · avg +1.5 min
-
Bern 95.8%
7,230 departures · avg +1 min
-
Zürich Oerlikon 91.1%
6,250 departures · avg +1.4 min
-
Winterthur 93.9%
4,872 departures · avg +1.4 min
-
Zürich Stadelhofen 87.9%
4,828 departures · avg +1.7 min
-
4,707 departures · avg +2.4 min
-
Olten 89.8%
3,997 departures · avg +1.6 min
-
Lausanne 88%
3,666 departures · avg +1.6 min
-
Aarau 94.3%
3,623 departures · avg +1 min
-
St. Gallen 90.7%
3,615 departures · avg +1.7 min
-
Renens VD 88.9%
3,471 departures · avg +1.5 min
-
Luzern 93.3%
3,241 departures · avg +1.2 min
-
Bern, Bahnhof 89.1%
18,204 departures · avg +1.5 min
-
Genève, gare Cornavin 75.4%
17,774 departures · avg +2.3 min
-
Genève, Bel-Air 74.9%
17,308 departures · avg +2.6 min
-
Luzern, Kantonalbank 75.5%
14,991 departures · avg +2.2 min
-
Zürich, Central 91%
14,966 departures · avg +1.4 min
-
Basel, Schifflände 76.5%
14,960 departures · avg +2.2 min
-
Bern, Hirschengraben 85.4%
14,565 departures · avg +1.8 min
-
Lausanne, Bel-Air 74.6%
14,270 departures · avg +2.2 min
-
Bern, Zytglogge 86.9%
13,962 departures · avg +1.7 min
-
Basel, Bahnhof SBB 82.5%
13,867 departures · avg +1.9 min
-
Luzern, Bahnhof 84.3%
13,478 departures · avg +1.6 min
-
Zürich, Bellevue 90.2%
13,376 departures · avg +1.6 min
-
Magliaso Paese 60.9%
768 departures · avg +2.9 min
-
Agno 62.6%
768 departures · avg +2.8 min
-
Magliaso 63.5%
768 departures · avg +2.7 min
-
Villeneuve VD 65%
819 departures · avg +3 min
-
Serocca 65.2%
768 departures · avg +2.6 min
-
Bioggio Molinazzo 68.4%
768 departures · avg +2.5 min
-
Gelterkinden 68.4%
949 departures · avg +2.3 min
-
Niederteufen 70.2%
707 departures · avg +2.8 min
-
Caslano 70.6%
768 departures · avg +2.4 min
-
Bendlehn 71.5%
729 departures · avg +2.7 min
-
Zug Chollermüli 72%
942 departures · avg +2.5 min
-
Muhen Nord 72.2%
1,018 departures · avg +1.7 min
Largest delays
- Bus 72 Zürich, Milchbuck – Zürich, Morgental Zürich, Milchbuck +355 min
- Bus 80 Genève, Bel-Air – Saint-Julien, gare Saint-Julien, gareand 4 more trips of this line +320 min
- Tram 8 Zürich, Zoo – Zürich, Hardturm Zürich, Kirche Flunternand 2 more trips of this line +308 min
- Bus 8 Corminboeuf, anc. poste – Marly, piscine Marly, piscineand 1 more trips of this line +293 min
- Bus 493 Luzern, Bahnhof – Altdorf UR, Bahnhof West Luzern, Bahnhof +253 min
- Bus 648 Rotkreuz, Bahnhof Nordand 2 more trips of this line +221 min
- EC Bregenz – Zürich HB Basel SBBand 9 more trips of this line +217 min
- Bus 48 Confignon, croisée – Plan-les-Ouates, ZIPLO Confignon, croiséeand 8 more trips of this line +215 min
- S17 Dietikon – Wohlen AG Dietikon +211 min
- Bus 8 Le Mont-sur-L., Grand-Mont – Pully, gare Grand-Mont +193 min
- ICE Basel Bad Bfand 18 more trips of this line +181 min
- Bus 82 Plan-les-Ouates, ZIPLOand 3 more trips of this line +181 min
- Bus 127 Plaffeien, Dorfand 1 more trips of this line +178 min
- Tram 2 Zürich, Klusplatzand 1 more trips of this line +169 min
- Bus 32 Jussy, Monniazand 2 more trips of this line +161 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.
- Tram 12 Lancy-Bachet, gare – Thônex, Moillesulaz Lancy-Bachet, gareand 3 more trips of this line +745 min
- Bus 1 Gebenstorf, Reuss – Würenlos, Bettlen Baden, Bahnhof Ostand 2 more trips of this line +629 min