Punctuality of Swiss public transportWeek 3524 Aug – 30 Aug 2026
86.5% of 986,654 trips were on time. The best day was Sunday 30 August with 90.5%, the worst Tuesday 25 August with 84.4%. Of the busy lines, M1 Genève-Pâquis (lac) – Genève-Molard (lac) had the lowest share on time: 24.7%.
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.5%
−0.7 ptsWeek before: 87.2% · 986,654 trips with live data
Average delay
+1.4 min
Canceled trips
5,561
0.6% of the trips
Day by day
The share on time of each day. A day opens its page.
- 95%
- Average: 86.5%
- Best day
- Sun 30 Aug · 90.5%
- Worst day
- Tue 25 Aug · 84.4%
- Worst hour
- Tue 17:00–18:00 · 64.4%
By mode
-
Train 93.7%
97,539 trips · avg +0.9 min
-
Tram 83.5%
79,308 trips · avg +1.6 min
-
Bus 86.1%
805,021 trips · avg +1.5 min
-
Metro 96.7%
1,923 trips · avg +1.1 min
-
Boat 46.9%
2,863 trips · avg +4.2 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
-
1,033 trips · avg +5.7 min
-
M2 Genève-Pâquis (lac) – Genève-Quai Gustave Ador (lac)Genève-Pâquis (lac) – Genève-Quai Gustave Ador (lac) 32.8%
1,098 trips · avg +5.3 min
-
Bus 109 Neuchâtel, Place Pury – Neuchâtel, Trois-ChênesNeuchâtel, Place Pury – Neuchâtel, Trois-Chênes 33.3%
1,359 trips · avg +4.3 min
-
Bus 332 Oberriet SG, Kobelwald – Altstätten SG, BahnhofOberriet SG, Kobelwald – Altstätten SG, Bahnhof 41.9%
303 trips · avg +4.4 min
-
436 trips · avg +5.8 min
-
489 trips · avg +4.2 min
-
1,120 trips · avg +4.1 min
-
601 trips · avg +3.7 min
Show 17 more
-
1,065 trips · avg +4 min
-
338 trips · avg +4.3 min
-
Bus 108 Neuchâtel, Temple Valangines – Neuchâtel, Place PuryNeuchâtel, Temple Valangines – Neuchâtel, Place Pury 52.8%
1,232 trips · avg +3.5 min
-
567 trips · avg +4 min
-
Bus 64 Epalinges, Croisettes – Lausanne, Chalet-à-GobetEpalinges, Croisettes – Lausanne, Chalet-à-Gobet 54.2%
1,276 trips · avg +3.7 min
-
314 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%
763 trips · avg +3.4 min
-
1,138 trips · avg +3.4 min
-
785 trips · avg +3.5 min
-
422 trips · avg +3.5 min
-
938 trips · avg +3.2 min
-
380 trips · avg +3.1 min
-
Tram 8 Basel, Neuweilerstrasse – Weil am Rhein, Bahnhof/ZentrumBasel, Neuweilerstrasse – Weil am Rhein, Bahnhof/Zentrum 59.7%
464 trips · avg +3.6 min
-
1,542 trips · avg +3.6 min
-
1,461 trips · avg +3 min
-
Bus 33 Zürich, Triemli – Zürich Tiefenbrunnen, BahnhofZürich, Triemli – Zürich Tiefenbrunnen, Bahnhof 60.4%
2,004 trips · avg +3.1 min
-
466 trips · avg +8.3 min
Most punctual busy lines
-
2,051 trips · avg +0.7 min
-
1,544 trips · avg +0.7 min
-
1,920 trips · avg +0.8 min
-
1,630 trips · avg +0.9 min
-
2,403 trips · avg +1.2 min
-
1,516 trips · avg +1 min
-
1,841 trips · avg +0.9 min
-
1,923 trips · avg +0.9 min
Least punctual busy lines
-
466 trips · avg +8.3 min
-
809 trips · avg +1.9 min
-
287 trips · avg +2 min
-
552 trips · avg +1.8 min
-
540 trips · avg +1.6 min
-
374 trips · avg +1.3 min
-
317 trips · avg +1.4 min
-
405 trips · avg +1.2 min
Show 17 more
-
735 trips · avg +1.3 min
-
301 trips · avg +1.4 min
-
288 trips · avg +1.1 min
-
808 trips · avg +1.3 min
-
370 trips · avg +0.8 min
-
522 trips · avg +1 min
-
594 trips · avg +1.2 min
-
411 trips · avg +0.9 min
-
535 trips · avg +1.3 min
-
304 trips · avg +1 min
-
560 trips · avg +0.9 min
-
299 trips · avg +0.6 min
-
406 trips · avg +0.5 min
-
377 trips · avg +0.8 min
-
498 trips · avg +1 min
-
385 trips · avg +0.7 min
-
508 trips · avg +0.7 min
Most punctual busy lines
-
546 trips · avg +0.1 min
-
406 trips · avg +0 min
-
534 trips · avg +0.4 min
-
377 trips · avg +0.1 min
-
360 trips · avg +0.4 min
-
572 trips · avg +0.3 min
-
561 trips · avg +0.3 min
-
613 trips · avg +0.4 min
Least punctual busy lines
-
Tram 8 Basel, Neuweilerstrasse – Weil am Rhein, Bahnhof/ZentrumBasel, Neuweilerstrasse – Weil am Rhein, Bahnhof/Zentrum 59.7%
464 trips · avg +3.6 min
-
1,832 trips · avg +2.3 min
-
1,928 trips · avg +1.8 min
-
1,890 trips · avg +2.4 min
-
2,012 trips · avg +2.1 min
-
1,953 trips · avg +1.8 min
-
1,163 trips · avg +2.1 min
-
Tram 9 Wabern, Tram-Endstation – Bern Wankdorf, BahnhofWabern, Tram-Endstation – Bern Wankdorf, Bahnhof 82.5%
2,295 trips · avg +1.8 min
Show 17 more
-
2,244 trips · avg +1.8 min
-
349 trips · avg +1.6 min
-
1,916 trips · avg +1.8 min
-
1,925 trips · avg +1.5 min
-
1,849 trips · avg +1.6 min
-
Tram 7 Stettbach, Bahnhof – Zürich, WollishoferplatzStettbach, Bahnhof – Zürich, Wollishoferplatz 87.6%
467 trips · avg +1.5 min
-
1,985 trips · avg +1.4 min
-
1,970 trips · avg +1.3 min
-
Tram 51 Zürich Altstetten, Bahnhof N – Zürich, SeebachZürich Altstetten, Bahnhof N – Zürich, Seebach 89.5%
2,019 trips · avg +1.3 min
-
2,688 trips · avg +1 min
-
Tram 11 Zürich, Central – Zürich Tiefenbrunnen, BahnhofZürich, Central – Zürich Tiefenbrunnen, Bahnhof 90.4%
449 trips · avg +1.4 min
-
Tram 10 Zürich Flughafen, Fracht – Zürich, Bahnhofplatz/HBZürich Flughafen, Fracht – Zürich, Bahnhofplatz/HB 91%
410 trips · avg +1.2 min
-
1,514 trips · avg +1.2 min
-
1,110 trips · avg +1 min
-
1,923 trips · avg +0.9 min
-
1,920 trips · avg +0.8 min
-
Tram 20 Killwangen, Bahnhof – Zürich Altstetten, BahnhofKillwangen, Bahnhof – Zürich Altstetten, Bahnhof 97.5%
1,081 trips · avg +0.9 min
Most punctual busy lines
-
975 trips · avg +0.1 min
-
Tram 20 Killwangen, Bahnhof – Zürich Altstetten, BahnhofKillwangen, Bahnhof – Zürich Altstetten, Bahnhof 97.5%
1,081 trips · avg +0.9 min
-
1,920 trips · avg +0.8 min
-
1,923 trips · avg +0.9 min
-
1,110 trips · avg +1 min
-
1,514 trips · avg +1.2 min
-
Tram 10 Zürich Flughafen, Fracht – Zürich, Bahnhofplatz/HBZürich Flughafen, Fracht – Zürich, Bahnhofplatz/HB 91%
410 trips · avg +1.2 min
-
Tram 11 Zürich, Central – Zürich Tiefenbrunnen, BahnhofZürich, Central – Zürich Tiefenbrunnen, Bahnhof 90.4%
449 trips · avg +1.4 min
Least punctual busy lines
-
Bus 109 Neuchâtel, Place Pury – Neuchâtel, Trois-ChênesNeuchâtel, Place Pury – Neuchâtel, Trois-Chênes 33.3%
1,359 trips · avg +4.3 min
-
Bus 332 Oberriet SG, Kobelwald – Altstätten SG, BahnhofOberriet SG, Kobelwald – Altstätten SG, Bahnhof 41.9%
303 trips · avg +4.4 min
-
436 trips · avg +5.8 min
-
489 trips · avg +4.2 min
-
1,120 trips · avg +4.1 min
-
601 trips · avg +3.7 min
-
1,065 trips · avg +4 min
-
338 trips · avg +4.3 min
Show 17 more
-
Bus 108 Neuchâtel, Temple Valangines – Neuchâtel, Place PuryNeuchâtel, Temple Valangines – Neuchâtel, Place Pury 52.8%
1,232 trips · avg +3.5 min
-
567 trips · avg +4 min
-
Bus 64 Epalinges, Croisettes – Lausanne, Chalet-à-GobetEpalinges, Croisettes – Lausanne, Chalet-à-Gobet 54.2%
1,276 trips · avg +3.7 min
-
314 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%
763 trips · avg +3.4 min
-
1,138 trips · avg +3.4 min
-
785 trips · avg +3.5 min
-
422 trips · avg +3.5 min
-
938 trips · avg +3.2 min
-
380 trips · avg +3.1 min
-
1,542 trips · avg +3.6 min
-
1,461 trips · avg +3 min
-
Bus 33 Zürich, Triemli – Zürich Tiefenbrunnen, BahnhofZürich, Triemli – Zürich Tiefenbrunnen, Bahnhof 60.4%
2,004 trips · avg +3.1 min
-
Bus 22 Carouge GE, Rondeau – Genève, Jardin BotaniqueCarouge GE, Rondeau – Genève, Jardin Botanique 62.2%
526 trips · avg +3.1 min
-
770 trips · avg +3.8 min
-
603 trips · avg +2.8 min
-
1,138 trips · avg +2.8 min
Most punctual busy lines
-
1,544 trips · avg +0.7 min
-
Bus 101 Bern, Hauptbahnhof – Hinterkappelen, SchlossmattBern, Hauptbahnhof – Hinterkappelen, Schlossmatt 95.3%
1,411 trips · avg +0.8 min
-
1,630 trips · avg +0.9 min
-
Bus 6 St. Gallen, Bach St. Georgen – St. Gallen, HeiligkreuzSt. Gallen, Bach St. Georgen – St. Gallen, Heiligkreuz 94.7%
1,295 trips · avg +0.8 min
-
Bus 5 St. Gallen, Riethüsli – St. Gallen, RotmontenSt. Gallen, Riethüsli – St. Gallen, Rotmonten 93.9%
1,301 trips · avg +1 min
-
1,295 trips · avg +0.8 min
-
2,403 trips · avg +1.2 min
-
1,516 trips · avg +1 min
Least punctual busy lines
-
1,033 trips · avg +5.7 min
-
M2 Genève-Pâquis (lac) – Genève-Quai Gustave Ador (lac)Genève-Pâquis (lac) – Genève-Quai Gustave Ador (lac) 32.8%
1,098 trips · avg +5.3 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.7%
360 trips · avg +0.4 min
Least punctual operators
-
Mouettes genevoises 46.9%
2,863 trips · avg +4.2 min
-
VBL 65.6%
25,607 trips · avg +2.8 min
-
Transports Publics Neuchâtelois 72.8%
18,269 trips · avg +2.2 min
-
Automobil Rottal 73.9%
2,937 trips · avg +2.5 min
-
Autobetrieb Sernftal 74.6%
889 trips · avg +2.3 min
-
Lugano-Ponte Tresa 76%
809 trips · avg +1.9 min
-
TPG 76.8%
60,519 trips · avg +2 min
-
Verkehrsbetrieb LIECHTENSTEINmobil 77.4%
5,564 trips · avg +2.1 min
Show 17 more
-
BVB 77.4%
34,632 trips · avg +2 min
-
Transports publics Vevey-Montreux-Chillon-Villeneuve 78.3%
7,611 trips · avg +2.5 min
-
TPL 78.6%
10,368 trips · avg +1.8 min
-
Busbetrieb Aarau 80.2%
6,338 trips · avg +1.8 min
-
Auto AG Rothenburg 80.3%
4,898 trips · avg +1.7 min
-
Bus und Service 80.4%
9,985 trips · avg +1.8 min
-
Regionale Verkehrsbetriebe Baden-Wettingen 81.5%
9,086 trips · avg +2 min
-
Automobildienste Aare Seeland mobil 81.7%
3,282 trips · avg +2 min
-
Busbetrieb Rapperswil-Eschenbach-Rüti ZH 81.7%
1,902 trips · avg +1.8 min
-
Busbetrieb Solothurn und Umgebung 81.8%
4,853 trips · avg +1.5 min
-
Bus Nyon-Prangins 82.6%
2,269 trips · avg +1.6 min
-
VBZ 83.4%
109,490 trips · avg +1.7 min
-
Stadtbus Frauenfeld 84%
3,522 trips · avg +1.7 min
-
tl 84.2%
46,297 trips · avg +1.7 min
-
Bernmobil 84.2%
34,115 trips · avg +1.6 min
-
Bus Sierrois 84.5%
1,678 trips · avg +1.4 min
-
Verkehrsbetriebe Biel 84.6%
9,033 trips · avg +1.6 min
Most punctual operators
-
Zentralbahn 99.2%
2,494 trips · avg +0.3 min
-
Sihltal-Zürich-Uetliberg-Bahn 98%
1,799 trips · avg +0.5 min
-
BLS 97.2%
10,698 trips · avg +0.5 min
-
Schweizerische Südostbahn 97.3%
3,439 trips · avg +0.5 min
-
THURBO 96.9%
7,843 trips · avg +0.5 min
-
Regionalverkehr Bern-Solothurn 96.7%
3,925 trips · avg +0.5 min
-
Automobildienst SZU 95.3%
10,881 trips · avg +0.7 min
-
AFA Bus 95.2%
1,721 trips · avg +0.7 min
Stations
The share of the departures less than 3 minutes late. A train station has departures of trains.
-
Zürich HB 93.5%
10,626 departures · avg +1.2 min
-
Bern 95.5%
7,201 departures · avg +1.1 min
-
Zürich Oerlikon 94.3%
6,116 departures · avg +1.1 min
-
Zürich Stadelhofen 90.7%
4,738 departures · avg +1.4 min
-
Zürich Hardbrücke 83.5%
4,646 departures · avg +2.1 min
-
Winterthur 93.6%
4,505 departures · avg +1.3 min
-
Olten 87.7%
4,047 departures · avg +1.8 min
-
Lausanne 86.8%
3,669 departures · avg +1.8 min
-
St. Gallen 91.6%
3,663 departures · avg +1.3 min
-
Aarau 92.8%
3,619 departures · avg +1.1 min
-
Renens VD 83.1%
3,359 departures · avg +1.8 min
-
Luzern 96%
3,247 departures · avg +1 min
-
Bern, Bahnhof 93.4%
19,550 departures · avg +1.2 min
-
Genève, gare Cornavin 77.9%
19,517 departures · avg +2 min
-
Genève, Bel-Air 80.3%
18,978 departures · avg +1.9 min
-
Basel, Bahnhof SBB 80.9%
15,269 departures · avg +1.9 min
-
Luzern, Kantonalbank 71.8%
14,967 departures · avg +2.5 min
-
Zürich, Central 91.2%
14,939 departures · avg +1.3 min
-
Bern, Hirschengraben 87.1%
14,483 departures · avg +1.7 min
-
Lausanne, Bel-Air 70.5%
14,347 departures · avg +2.5 min
-
Bern, Zytglogge 89.9%
14,123 departures · avg +1.5 min
-
Luzern, Bahnhof 81.7%
13,448 departures · avg +1.8 min
-
Zürich, Bellevue 91.6%
13,403 departures · avg +1.3 min
-
St. Gallen, Bahnhof 87.5%
13,205 departures · avg +1.4 min
-
Magliaso Paese 61.1%
809 departures · avg +3.2 min
-
Agno 65.1%
809 departures · avg +3 min
-
Magliaso 65.5%
809 departures · avg +3 min
-
Serocca 66.9%
809 departures · avg +2.9 min
-
Bioggio Molinazzo 67.6%
809 departures · avg +2.7 min
-
Caslano 69.7%
809 departures · avg +2.8 min
-
Oberentfelden Engelplatz 72.6%
1,026 departures · avg +1.6 min
-
Muhen Nord 73%
1,026 departures · avg +1.6 min
-
Bioggio 75%
809 departures · avg +2.2 min
-
Cham Alpenblick 75.1%
941 departures · avg +2.3 min
-
Zug Chollermüli 76%
942 departures · avg +2.3 min
-
Zug Schutzengel 76.5%
912 departures · avg +2.3 min
Largest delays
- Bus 70 Biel/Bienne, Bahnhof/Gare – Les Prés-d'Orvin, Le Grillon Orvin, place du villageand 1 more trips of this line +337 min
- Bus 362 Moudon, gare – Epalinges, Croisettes Moudon, gareand 1 more trips of this line +301 min
- Tram 5 Zürich, Laubegg +267 min
- ICE Basel Bad Bfand 10 more trips of this line +256 min
- Bus 8 Corminboeuf, anc. poste – Marly, piscine Marly, piscine +230 min
- Bus 7 Pully, Val-Vert – Prilly-Malley, gare/aréna Pully, Val-Vertand 1 more trips of this line +225 min
- Bus 2 Fribourg, Schönberg Dunant – Villars-sur-Glâne, Les Dailles Villars-sur-Glâne, Les Daillesand 2 more trips of this line +204 min
- EC Bregenz – Zürich HB Genèveand 6 more trips of this line +197 min
- Bus 702 Tolochenaz, Les Saux – Bussigny, gare sud Tolochenaz, Les Sauxand 3 more trips of this line +188 min
- Bus 701 Lausanne, Bourdonnette – Tolochenaz, La Plantaz Lausanne, Bourdonnetteand 4 more trips of this line +161 min
- Bus 1 Gebenstorf, Reuss – Würenlos, Bettlen Baden, Bahnhof Ostand 3 more trips of this line +153 min
- Bus 101 Interlaken West, Bahnhof – Beatenberg, Station Beatenberg, Station +150 min
- Bus 25 Chavannes-R., Glycines – Pully, gare Glycinesand 1 more trips of this line +147 min
- RJX Zürich HB +143 min
- EV Basel, Dreispitz – Aesch BL, Dorf Aesch BL, Dorfand 4 more trips of this line +135 min
›Probably errors in the feed (1)
Delays of more than 6 hours. The real-time feed sent them, but they are probably not real.
- Bus 33 Prilly, Mont-Goulin – St-Sulpice VD, Venoge nord Prilly Mt-Goulinand 5 more trips of this line +848 min