Punctuality of Swiss public transportWeek 2118 May – 24 May 2026
87% of 951,593 trips were on time. The best day was Sunday 24 May with 90.7%, the worst Friday 22 May with 84.3%. Of the busy lines, M2 Genève-Pâquis (lac) – Genève-Quai Gustave Ador (lac) had the lowest share on time: 40.3%.
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.
87%
−2.3 ptsWeek before: 89.3% · 951,593 trips with live data
Average delay
+1.4 min
Canceled trips
3,655
0.4% of the trips
Day by day
The share on time of each day. A day opens its page.
- 95%
- Average: 87%
- Best day
- Sun 24 May · 90.7%
- Worst day
- Fri 22 May · 84.3%
- Worst hour
- Thu 17:00–18:00 · 66.6%
By mode
-
Train 94.5%
97,960 trips · avg +0.8 min
-
Tram 84.1%
76,596 trips · avg +1.6 min
-
Bus 86.4%
772,443 trips · avg +1.4 min
-
Metro 85.7%
2,178 trips · avg +1.8 min
-
Boat 55.6%
2,416 trips · avg +3.8 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) 40.3%
910 trips · avg +5.2 min
-
878 trips · avg +4.6 min
-
Bus 109 Neuchâtel, Place Pury – Neuchâtel, Trois-ChênesNeuchâtel, Place Pury – Neuchâtel, Trois-Chênes 43.5%
1,356 trips · avg +3.6 min
-
442 trips · avg +3.9 min
-
587 trips · avg +4.5 min
-
400 trips · avg +3.5 min
-
414 trips · avg +4 min
-
544 trips · avg +3.9 min
Show 17 more
-
493 trips · avg +3.2 min
-
1,171 trips · avg +3.5 min
-
927 trips · avg +4.1 min
-
311 trips · avg +3.2 min
-
Tram 8 Basel, Neuweilerstrasse – Weil am Rhein, Bahnhof/ZentrumBasel, Neuweilerstrasse – Weil am Rhein, Bahnhof/Zentrum 57%
460 trips · avg +4 min
-
1,482 trips · avg +3 min
-
1,066 trips · avg +3.3 min
-
397 trips · avg +3.8 min
-
Bus 9 Vernier, Lignon Tours – Thônex, Belle-Terre Pl. AraireVernier, Lignon Tours – Thônex, Belle-Terre Pl. Araire 60%
1,276 trips · avg +3 min
-
400 trips · avg +9.3 min
-
1,571 trips · avg +3.6 min
-
Bus 66 Thoiry, Centre commercial – Genève-Aéroport, TerminalThoiry, Centre commercial – Genève-Aéroport, Terminal 60.6%
322 trips · avg +3.1 min
-
1,133 trips · avg +3.3 min
-
1,198 trips · avg +2.9 min
-
576 trips · avg +3.2 min
-
1,882 trips · avg +3.3 min
-
Bus 3 Canobbio, Mercato Resega – Breganzona, PostaCanobbio, Mercato Resega – Breganzona, Posta 62.1%
1,390 trips · avg +3.9 min
Most punctual busy lines
-
1,562 trips · avg +0.6 min
-
2,051 trips · avg +0.9 min
-
1,964 trips · avg +0.8 min
-
1,594 trips · avg +0.9 min
-
Bus 1 Winterthur, Oberwinterthur – Winterthur, TössWinterthur, Oberwinterthur – Winterthur, Töss 95.7%
1,839 trips · avg +0.8 min
-
1,516 trips · avg +1 min
-
1,532 trips · avg +0.9 min
-
1,861 trips · avg +0.8 min
Least punctual busy lines
-
400 trips · avg +9.3 min
-
287 trips · avg +2.3 min
-
587 trips · avg +1.9 min
-
812 trips · avg +1 min
-
452 trips · avg +1.2 min
-
493 trips · avg +1.1 min
-
402 trips · avg +1 min
-
447 trips · avg +1.1 min
Show 17 more
-
551 trips · avg +1 min
-
461 trips · avg +1 min
-
518 trips · avg +1.3 min
-
286 trips · avg +0.7 min
-
373 trips · avg +0.8 min
-
479 trips · avg +0.8 min
-
466 trips · avg +1 min
-
714 trips · avg +1.1 min
-
565 trips · avg +0.9 min
-
365 trips · avg +0.6 min
-
292 trips · avg +0.6 min
-
556 trips · avg +1 min
-
334 trips · avg +0.7 min
-
497 trips · avg +0.8 min
-
577 trips · avg +0.9 min
-
495 trips · avg +1.2 min
-
317 trips · avg +0.9 min
Most punctual busy lines
-
546 trips · avg +0.1 min
-
1,161 trips · avg +0.2 min
-
406 trips · avg +0.1 min
-
451 trips · avg +0.3 min
-
866 trips · avg +0.3 min
-
552 trips · avg +0.2 min
-
773 trips · avg +0.2 min
-
591 trips · avg +0.2 min
Least punctual busy lines
-
Tram 8 Basel, Neuweilerstrasse – Weil am Rhein, Bahnhof/ZentrumBasel, Neuweilerstrasse – Weil am Rhein, Bahnhof/Zentrum 57%
460 trips · avg +4 min
-
1,948 trips · avg +1.9 min
-
Tram 14 Basel, Dreirosenbrücke – Pratteln, SchlossstrasseBasel, Dreirosenbrücke – Pratteln, Schlossstrasse 71.2%
1,900 trips · avg +2.6 min
-
1,921 trips · avg +2.5 min
-
1,080 trips · avg +2.3 min
-
Tram 8 Bern, Saali – Bern Brünnen Westside, BahnhofBern, Saali – Bern Brünnen Westside, Bahnhof 77.2%
535 trips · avg +2.1 min
-
2,533 trips · avg +1.8 min
-
1,843 trips · avg +1.9 min
Show 17 more
-
1,922 trips · avg +1.8 min
-
2,319 trips · avg +1.9 min
-
1,972 trips · avg +1.6 min
-
2,047 trips · avg +1.8 min
-
Tram 9 Wabern, Tram-Endstation – Bern Wankdorf, BahnhofWabern, Tram-Endstation – Bern Wankdorf, Bahnhof 84.6%
2,290 trips · avg +1.6 min
-
351 trips · avg +1.4 min
-
Tram 2 Binningen, Kronenplatz – Basel, Badischer BahnhofBinningen, Kronenplatz – Basel, Badischer Bahnhof 86.6%
461 trips · avg +1.7 min
-
1,847 trips · avg +1.6 min
-
2,023 trips · avg +1.4 min
-
1,965 trips · avg +1.7 min
-
Tram 11 Zürich, Central – Zürich Tiefenbrunnen, BahnhofZürich, Central – Zürich Tiefenbrunnen, Bahnhof 90.9%
486 trips · avg +1.2 min
-
2,016 trips · avg +1.2 min
-
Tram 51 Zürich Altstetten, Bahnhof N – Zürich, SeebachZürich Altstetten, Bahnhof N – Zürich, Seebach 91.9%
2,051 trips · avg +1.2 min
-
Tram 10 Zürich Flughafen, Fracht – Zürich, Bahnhofplatz/HBZürich Flughafen, Fracht – Zürich, Bahnhofplatz/HB 92.2%
411 trips · avg +1.1 min
-
Tram 7 Stettbach, Bahnhof – Zürich, WollishoferplatzStettbach, Bahnhof – Zürich, Wollishoferplatz 92.3%
491 trips · avg +1.3 min
-
1,972 trips · avg +0.9 min
-
1,095 trips · avg +0.9 min
Most punctual busy lines
-
975 trips · avg +0.3 min
-
1,964 trips · avg +0.8 min
-
1,516 trips · avg +1 min
-
Tram 20 Killwangen, Bahnhof – Zürich Altstetten, BahnhofKillwangen, Bahnhof – Zürich Altstetten, Bahnhof 95.1%
1,076 trips · avg +0.9 min
-
1,095 trips · avg +0.9 min
-
1,972 trips · avg +0.9 min
-
Tram 7 Stettbach, Bahnhof – Zürich, WollishoferplatzStettbach, Bahnhof – Zürich, Wollishoferplatz 92.3%
491 trips · avg +1.3 min
-
Tram 10 Zürich Flughafen, Fracht – Zürich, Bahnhofplatz/HBZürich Flughafen, Fracht – Zürich, Bahnhofplatz/HB 92.2%
411 trips · avg +1.1 min
Least punctual busy lines
-
Bus 109 Neuchâtel, Place Pury – Neuchâtel, Trois-ChênesNeuchâtel, Place Pury – Neuchâtel, Trois-Chênes 43.5%
1,356 trips · avg +3.6 min
-
442 trips · avg +3.9 min
-
587 trips · avg +4.5 min
-
400 trips · avg +3.5 min
-
414 trips · avg +4 min
-
544 trips · avg +3.9 min
-
493 trips · avg +3.2 min
-
1,171 trips · avg +3.5 min
Show 17 more
-
927 trips · avg +4.1 min
-
311 trips · avg +3.2 min
-
1,482 trips · avg +3 min
-
1,066 trips · avg +3.3 min
-
397 trips · avg +3.8 min
-
Bus 9 Vernier, Lignon Tours – Thônex, Belle-Terre Pl. AraireVernier, Lignon Tours – Thônex, Belle-Terre Pl. Araire 60%
1,276 trips · avg +3 min
-
1,571 trips · avg +3.6 min
-
Bus 66 Thoiry, Centre commercial – Genève-Aéroport, TerminalThoiry, Centre commercial – Genève-Aéroport, Terminal 60.6%
322 trips · avg +3.1 min
-
1,133 trips · avg +3.3 min
-
1,198 trips · avg +2.9 min
-
576 trips · avg +3.2 min
-
1,882 trips · avg +3.3 min
-
Bus 3 Canobbio, Mercato Resega – Breganzona, PostaCanobbio, Mercato Resega – Breganzona, Posta 62.1%
1,390 trips · avg +3.9 min
-
Bus 22 Carouge GE, Rondeau – Genève, Jardin BotaniqueCarouge GE, Rondeau – Genève, Jardin Botanique 62.8%
479 trips · avg +3.1 min
-
1,310 trips · avg +3.6 min
-
Bus 24 Lausanne, Bourdonnette – Lausanne, Ouchy-OlympiqueLausanne, Bourdonnette – Lausanne, Ouchy-Olympique 63.4%
995 trips · avg +4.2 min
-
Bus 165 Rüschlikon, Park im Grüene – Zürich, BürkliplatzRüschlikon, Park im Grüene – Zürich, Bürkliplatz 63.9%
754 trips · avg +2.7 min
Most punctual busy lines
-
1,295 trips · avg +0.6 min
-
1,562 trips · avg +0.6 min
-
Bus 6 St. Gallen, Bach St. Georgen – St. Gallen, HeiligkreuzSt. Gallen, Bach St. Georgen – St. Gallen, Heiligkreuz 96%
1,298 trips · avg +0.7 min
-
1,594 trips · avg +0.9 min
-
Bus 1 Winterthur, Oberwinterthur – Winterthur, TössWinterthur, Oberwinterthur – Winterthur, Töss 95.7%
1,839 trips · avg +0.8 min
-
1,340 trips · avg +0.8 min
-
1,532 trips · avg +0.9 min
-
1,861 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) 40.3%
910 trips · avg +5.2 min
-
878 trips · avg +4.6 min
-
314 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.4%
314 trips · avg +0.7 min
Least punctual operators
-
Mouettes genevoises 55.6%
2,416 trips · avg +3.8 min
-
VBL 67.3%
25,616 trips · avg +2.7 min
-
TPL 68.8%
10,472 trips · avg +2.9 min
-
Automobil Rottal 71.6%
2,885 trips · avg +2.2 min
-
Transports Publics Neuchâtelois 72.5%
17,363 trips · avg +2.3 min
-
Verkehrsbetrieb LIECHTENSTEINmobil 75.2%
5,655 trips · avg +2.2 min
-
TPG 76.2%
58,249 trips · avg +2.1 min
-
BVB 77%
31,818 trips · avg +2.3 min
Show 17 more
-
Autobetrieb Sernftal 78.4%
875 trips · avg +2 min
-
Busbetrieb Aarau 78.6%
6,330 trips · avg +1.9 min
-
Auto AG Rothenburg 79%
4,915 trips · avg +1.8 min
-
Bus und Service 81.7%
10,011 trips · avg +1.8 min
-
Bus Nyon-Prangins 82.4%
2,201 trips · avg +1.6 min
-
Verkehrsbetriebe Biel 83.6%
8,772 trips · avg +1.6 min
-
VBZ 84%
109,581 trips · avg +1.6 min
-
Transports publics Vevey-Montreux-Chillon-Villeneuve 84.6%
7,614 trips · avg +1.3 min
-
Regionale Verkehrsbetriebe Baden-Wettingen 84.6%
9,091 trips · avg +1.4 min
-
Busbetrieb Solothurn und Umgebung 84.8%
4,739 trips · avg +1.4 min
-
Automobiles MBC 85.1%
7,605 trips · avg +1.5 min
-
tl 85.2%
46,611 trips · avg +1.5 min
-
Service d'automobiles TRN 85.2%
1,375 trips · avg +1.6 min
-
Busbetrieb Rapperswil-Eschenbach-Rüti ZH 85.3%
1,700 trips · avg +1.6 min
-
Regiobus Gossau SG 85.5%
4,251 trips · avg +1.4 min
-
Autolinea Mendrisiense 85.7%
2,327 trips · avg +1.2 min
-
Sierre-Montana-Crans 85.8%
1,565 trips · avg +1.7 min
Most punctual operators
-
Regionalverkehr Bern-Solothurn 99.3%
3,940 trips · avg +0.2 min
-
Sihltal-Zürich-Uetliberg-Bahn 99.2%
1,810 trips · avg +0.4 min
-
Wengernalpbahn 98.6%
927 trips · avg +0.2 min
-
Zentralbahn 98%
2,492 trips · avg +0.4 min
-
THURBO 97.8%
7,753 trips · avg +0.4 min
-
Lausanne-Echallens-Bercher 98.3%
819 trips · avg +0.4 min
-
Aare Seeland mobil 97.8%
2,222 trips · avg +0.4 min
-
Busbetrieb Grenchen und Umgebung 97.5%
2,322 trips · avg +1.5 min
Stations
The share of the departures less than 3 minutes late. A train station has departures of trains.
-
Zürich HB 92.1%
10,721 departures · avg +1.3 min
-
Bern 96%
7,233 departures · avg +1.1 min
-
Zürich Oerlikon 94.5%
6,303 departures · avg +1.1 min
-
Zürich Stadelhofen 91.2%
4,846 departures · avg +1.4 min
-
Winterthur 95.2%
4,702 departures · avg +1.2 min
-
Zürich Hardbrücke 82.5%
4,596 departures · avg +2.2 min
-
Olten 90%
4,156 departures · avg +1.5 min
-
St. Gallen 95.4%
3,527 departures · avg +1.2 min
-
Lausanne 87.1%
3,517 departures · avg +1.9 min
-
Renens VD 88.5%
3,470 departures · avg +1.7 min
-
Aarau 91.5%
3,397 departures · avg +1.2 min
-
Luzern 97.6%
3,243 departures · avg +0.8 min
-
Bern, Bahnhof 93.8%
19,736 departures · avg +1.2 min
-
19,035 departures · avg +2.2 min
-
Genève, Bel-Air 78.7%
18,501 departures · avg +2.1 min
-
Zürich, Central 92.1%
15,238 departures · avg +1.2 min
-
Bern, Hirschengraben 89.7%
15,116 departures · avg +1.6 min
-
Basel, Schifflände 80.9%
14,979 departures · avg +2.1 min
-
Luzern, Kantonalbank 73.9%
14,967 departures · avg +2.3 min
-
Bern, Zytglogge 91.5%
14,494 departures · avg +1.5 min
-
Lausanne, Bel-Air 73.6%
14,349 departures · avg +2.5 min
-
Basel, Bahnhof SBB 86.2%
13,835 departures · avg +1.8 min
-
Zürich, Bellevue 90.8%
13,831 departures · avg +1.4 min
-
St. Gallen, Bahnhof 89.9%
13,466 departures · avg +1.4 min
-
Puidoux 71.3%
806 departures · avg +2.4 min
-
Magliaso Paese 71.9%
812 departures · avg +2.3 min
-
Oberentfelden Engelplatz 72.7%
1,026 departures · avg +1.7 min
-
Muhen Nord 73.1%
1,026 departures · avg +1.7 min
-
Agno 73.9%
812 departures · avg +2.2 min
-
Magliaso 75.5%
812 departures · avg +2.1 min
-
Serocca 75.7%
812 departures · avg +2 min
-
Cham Alpenblick 75.8%
926 departures · avg +2.2 min
-
Bioggio Molinazzo 76.5%
812 departures · avg +2 min
-
Zug Chollermüli 76.8%
939 departures · avg +2.3 min
-
Zufikon 77.1%
1,029 departures · avg +2.2 min
-
Zug Schutzengel 78.2%
909 departures · avg +2.2 min
Largest delays
- Bus 10 Genève, Riveand 4 more trips of this line +288 min
- Bus 310 Davos Monstein, Dorf – Davos Glaris, Bahnhof Davos Monstein, Dorfand 5 more trips of this line +228 min
- Tram 10 Dornach, Bahnhof +208 min
- ICE Basel SBBand 4 more trips of this line +166 min
- Bus 25 Grenchen, Holzerhütteand 12 more trips of this line +162 min
- PE Lugano +160 min
- Bus 1 Gebenstorf, Reuss – Würenlos, Bettlen Würenlos, Bettlenand 2 more trips of this line +151 min
- Bus 674 Pfungen, Bahnhof – Seuzach, Bahnhof Winterthur, Hauptbahnhof +143 min
- NJ Feldkirch – Zürich HB Zürich HBand 4 more trips of this line +127 min
- Bus 36 Basel, Schifflände – Basel, Kleinhüningen Basel, Schiffländeand 2 more trips of this line +125 min
- Bus 5 Fribourg, Torry +123 min
- EC Bregenz – Zürich HB Basel SBBand 4 more trips of this line +120 min
- Bus 892 Wald ZH, Bahnhof – Wald ZH, Rehazentrum Wald ZH, Rehazentrumand 3 more trips of this line +119 min
- Bus 50 Basel, Bahnhof SBBand 7 more trips of this line +116 min
- TGV Zürich HB – Mulhouse Zürich HB +101 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 8 Corminboeuf, anc. poste – Marly, piscine Corminboeuf, anc. posteand 8 more trips of this line +1634 min
- Bus 9 Givisiez, La Fayeand 1 more trips of this line +1514 min
- Bus 262 Bulle, gare routière +1501 min
- Bus 9 Temple de Broyeand 9 more trips of this line +533 min