Punctuality of Swiss public transportWeek 3814 Sept – 20 Sept 2026
87% of 987,397 trips were on time. The best day was Sunday 20 September with 91.1%, the worst Tuesday 15 September with 84.6%. Of the busy lines, M2 Genève-Pâquis (lac) – Genève-Quai Gustave Ador (lac) had the lowest share on time: 34.1%.
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%
−0.2 ptsWeek before: 87.2% · 987,397 trips with live data
Average delay
+1.3 min
Canceled trips
4,821
0.5% of the trips
Day by day
The share on time of each day. A day opens its page.
- 95%
- Average: 87%
- Best day
- Sun 20 Sept · 91.1%
- Worst day
- Tue 15 Sept · 84.6%
- Worst hour
- Tue 17:00–18:00 · 64.7%
By mode
-
Train 94.3%
95,948 trips · avg +0.8 min
-
Tram 85.1%
77,736 trips · avg +1.5 min
-
Bus 86.5%
808,933 trips · avg +1.4 min
-
Metro 83.6%
2,177 trips · avg +1.8 min
-
Boat 54.3%
2,603 trips · avg +3.6 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) 34.1%
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 35.7%
1,365 trips · avg +4.3 min
-
610 trips · avg +6.1 min
-
795 trips · avg +4.4 min
-
600 trips · avg +5.7 min
-
1,171 trips · avg +3.6 min
-
490 trips · avg +4.2 min
-
436 trips · avg +3.4 min
Show 17 more
-
680 trips · avg +4.5 min
-
Bus 9 Vernier, Lignon Tours – Thônex, Belle-Terre Pl. AraireVernier, Lignon Tours – Thônex, Belle-Terre Pl. Araire 54.5%
1,342 trips · avg +3.6 min
-
Bus 108 Neuchâtel, Temple Valangines – Neuchâtel, Place PuryNeuchâtel, Temple Valangines – Neuchâtel, Place Pury 54.6%
1,235 trips · avg +3.2 min
-
1,119 trips · avg +3.3 min
-
1,066 trips · avg +3.5 min
-
Tram 8 Basel, Neuweilerstrasse – Weil am Rhein, Bahnhof/ZentrumBasel, Neuweilerstrasse – Weil am Rhein, Bahnhof/Zentrum 57%
449 trips · avg +3 min
-
977 trips · avg +3.3 min
-
1,906 trips · avg +3.5 min
-
1,458 trips · avg +3.4 min
-
445 trips · avg +4.7 min
-
574 trips · avg +3.1 min
-
1,727 trips · avg +3.3 min
-
Bus 32 Zürich, Strassenverkehrsamt – Zürich, HolzerhurdZürich, Strassenverkehrsamt – Zürich, Holzerhurd 58.2%
2,464 trips · avg +3.2 min
-
430 trips · avg +2.7 min
-
1,198 trips · avg +3 min
-
314 trips · avg +3.1 min
-
Bus 22 Carouge GE, Rondeau – Genève, Jardin BotaniqueCarouge GE, Rondeau – Genève, Jardin Botanique 60.9%
524 trips · avg +3.2 min
Most punctual busy lines
-
2,049 trips · avg +0.7 min
-
Bus 3 Winterthur, Oberseen – Winterthur, RosenbergWinterthur, Oberseen – Winterthur, Rosenberg 96.8%
1,844 trips · avg +0.6 min
-
1,551 trips · avg +0.9 min
-
1,547 trips · avg +0.4 min
-
1,933 trips · avg +0.9 min
-
1,854 trips · avg +0.7 min
-
Bus 781 Zürich Oerlikon, Bahnhof – Glattbrugg, GiebeleichstrasseZürich Oerlikon, Bahnhof – Glattbrugg, Giebeleichstrasse 95.1%
1,496 trips · avg +1 min
-
Bus 1 Winterthur, Oberwinterthur – Winterthur, TössWinterthur, Oberwinterthur – Winterthur, Töss 95%
1,848 trips · avg +0.9 min
Least punctual busy lines
-
419 trips · avg +7.3 min
-
738 trips · avg +2.3 min
-
780 trips · avg +1.9 min
-
492 trips · avg +1.5 min
-
413 trips · avg +1.9 min
-
516 trips · avg +1.5 min
-
470 trips · avg +1.3 min
-
360 trips · avg +1.3 min
Show 17 more
-
283 trips · avg +1.2 min
-
286 trips · avg +1.1 min
-
290 trips · avg +1.1 min
-
559 trips · avg +0.9 min
-
316 trips · avg +1.2 min
-
579 trips · avg +0.9 min
-
530 trips · avg +0.9 min
-
507 trips · avg +0.5 min
-
287 trips · avg +0.6 min
-
518 trips · avg +1.1 min
-
808 trips · avg +0.8 min
-
590 trips · avg +0.5 min
-
448 trips · avg +0.8 min
-
370 trips · avg +0.6 min
-
561 trips · avg +0.7 min
-
371 trips · avg +0.8 min
-
282 trips · avg +0.5 min
Most punctual busy lines
-
406 trips · avg +0 min
-
378 trips · avg +0.1 min
-
867 trips · avg +0.3 min
-
532 trips · avg +0.6 min
-
1,149 trips · avg +0.2 min
-
326 trips · avg +0.5 min
-
442 trips · avg +0.4 min
-
489 trips · avg +0.8 min
Least punctual busy lines
-
Tram 8 Basel, Neuweilerstrasse – Weil am Rhein, Bahnhof/ZentrumBasel, Neuweilerstrasse – Weil am Rhein, Bahnhof/Zentrum 57%
449 trips · avg +3 min
-
Tram 14 Basel, Dreirosenbrücke – Pratteln, SchlossstrasseBasel, Dreirosenbrücke – Pratteln, Schlossstrasse 69.1%
1,901 trips · avg +2.4 min
-
1,913 trips · avg +1.8 min
-
1,922 trips · avg +2.3 min
-
Tram 2 Binningen, Kronenplatz – Basel, Badischer BahnhofBinningen, Kronenplatz – Basel, Badischer Bahnhof 72.6%
463 trips · avg +2.2 min
-
1,941 trips · avg +1.9 min
-
1,846 trips · avg +2.1 min
-
1,164 trips · avg +1.5 min
Show 17 more
-
Tram 9 Wabern, Tram-Endstation – Bern Wankdorf, BahnhofWabern, Tram-Endstation – Bern Wankdorf, Bahnhof 82.3%
2,293 trips · avg +1.8 min
-
1,989 trips · avg +1.6 min
-
1,893 trips · avg +1.5 min
-
2,529 trips · avg +1.7 min
-
351 trips · avg +1.3 min
-
1,911 trips · avg +1.8 min
-
Tram 10 Zürich Flughafen, Fracht – Zürich, Bahnhofplatz/HBZürich Flughafen, Fracht – Zürich, Bahnhofplatz/HB 87.3%
379 trips · avg +1.3 min
-
1,850 trips · avg +1.4 min
-
Tram 51 Zürich Altstetten, Bahnhof N – Zürich, SeebachZürich Altstetten, Bahnhof N – Zürich, Seebach 88%
1,967 trips · avg +1.4 min
-
2,676 trips · avg +1.1 min
-
1,971 trips · avg +1.3 min
-
1,930 trips · avg +1.3 min
-
1,942 trips · avg +1 min
-
Tram 11 Zürich, Central – Zürich Tiefenbrunnen, BahnhofZürich, Central – Zürich Tiefenbrunnen, Bahnhof 91.5%
459 trips · avg +1.1 min
-
Tram 7 Stettbach, Bahnhof – Zürich, WollishoferplatzStettbach, Bahnhof – Zürich, Wollishoferplatz 92.2%
463 trips · avg +1.2 min
-
1,101 trips · avg +0.8 min
-
1,516 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 96.4%
1,082 trips · avg +0.9 min
-
1,933 trips · avg +0.9 min
-
1,516 trips · avg +0.9 min
-
1,101 trips · avg +0.8 min
-
Tram 7 Stettbach, Bahnhof – Zürich, WollishoferplatzStettbach, Bahnhof – Zürich, Wollishoferplatz 92.2%
463 trips · avg +1.2 min
-
Tram 11 Zürich, Central – Zürich Tiefenbrunnen, BahnhofZürich, Central – Zürich Tiefenbrunnen, Bahnhof 91.5%
459 trips · avg +1.1 min
-
1,942 trips · avg +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 35.7%
1,365 trips · avg +4.3 min
-
610 trips · avg +6.1 min
-
600 trips · avg +5.7 min
-
1,171 trips · avg +3.6 min
-
490 trips · avg +4.2 min
-
436 trips · avg +3.4 min
-
680 trips · avg +4.5 min
-
Bus 9 Vernier, Lignon Tours – Thônex, Belle-Terre Pl. AraireVernier, Lignon Tours – Thônex, Belle-Terre Pl. Araire 54.5%
1,342 trips · avg +3.6 min
Show 17 more
-
Bus 108 Neuchâtel, Temple Valangines – Neuchâtel, Place PuryNeuchâtel, Temple Valangines – Neuchâtel, Place Pury 54.6%
1,235 trips · avg +3.2 min
-
1,119 trips · avg +3.3 min
-
1,066 trips · avg +3.5 min
-
977 trips · avg +3.3 min
-
1,906 trips · avg +3.5 min
-
1,458 trips · avg +3.4 min
-
445 trips · avg +4.7 min
-
574 trips · avg +3.1 min
-
1,727 trips · avg +3.3 min
-
Bus 32 Zürich, Strassenverkehrsamt – Zürich, HolzerhurdZürich, Strassenverkehrsamt – Zürich, Holzerhurd 58.2%
2,464 trips · avg +3.2 min
-
430 trips · avg +2.7 min
-
1,198 trips · avg +3 min
-
314 trips · avg +3.1 min
-
Bus 22 Carouge GE, Rondeau – Genève, Jardin BotaniqueCarouge GE, Rondeau – Genève, Jardin Botanique 60.9%
524 trips · avg +3.2 min
-
348 trips · avg +2.5 min
-
Bus 50 Versoix, Centre sportif – Genève-Aéroport, TerminalVersoix, Centre sportif – Genève-Aéroport, Terminal 62.4%
327 trips · avg +2.6 min
-
1,209 trips · avg +3.2 min
Most punctual busy lines
-
1,295 trips · avg +0.6 min
-
Bus 3 Winterthur, Oberseen – Winterthur, RosenbergWinterthur, Oberseen – Winterthur, Rosenberg 96.8%
1,844 trips · avg +0.6 min
-
1,551 trips · avg +0.9 min
-
1,547 trips · avg +0.4 min
-
Bus 6 St. Gallen, Bach St. Georgen – St. Gallen, HeiligkreuzSt. Gallen, Bach St. Georgen – St. Gallen, Heiligkreuz 95.8%
1,297 trips · avg +0.7 min
-
1,854 trips · avg +0.7 min
-
Bus 781 Zürich Oerlikon, Bahnhof – Glattbrugg, GiebeleichstrasseZürich Oerlikon, Bahnhof – Glattbrugg, Giebeleichstrasse 95.1%
1,496 trips · avg +1 min
-
Bus 1 Winterthur, Oberwinterthur – Winterthur, TössWinterthur, Oberwinterthur – Winterthur, Töss 95%
1,848 trips · avg +0.9 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) 34.1%
1,098 trips · avg +5 min
-
795 trips · avg +4.4 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.7%
338 trips · avg +0.4 min
Least punctual operators
-
Mouettes genevoises 54.3%
2,603 trips · avg +3.6 min
-
VBL 65.4%
25,507 trips · avg +3.1 min
-
TPL 72.3%
10,368 trips · avg +2.6 min
-
TPG 72.6%
61,088 trips · avg +2.4 min
-
Transports Publics Neuchâtelois 74.4%
18,018 trips · avg +2.1 min
-
Automobil Rottal 74.6%
2,961 trips · avg +2.1 min
-
Verkehrsbetrieb LIECHTENSTEINmobil 75.6%
5,561 trips · avg +2.1 min
-
Lugano-Ponte Tresa 76%
780 trips · avg +1.9 min
Show 17 more
-
Autobetrieb Sernftal 77%
888 trips · avg +2 min
-
BVB 77.9%
31,583 trips · avg +2 min
-
Matterhorn Gotthard Bahn 78.7%
2,206 trips · avg +1.5 min
-
Auto AG Rothenburg 80.1%
5,023 trips · avg +1.8 min
-
Busbetrieb Aarau 81.9%
6,331 trips · avg +1.6 min
-
Busbetrieb Rapperswil-Eschenbach-Rüti ZH 82%
1,896 trips · avg +1.7 min
-
Bus Nyon-Prangins 82.3%
2,270 trips · avg +1.7 min
-
Bus und Service 82.8%
10,283 trips · avg +1.7 min
-
Autolinee Regionali Luganesi 83.3%
1,421 trips · avg +1.6 min
-
Busbetrieb Solothurn und Umgebung 83.4%
4,846 trips · avg +1.5 min
-
tl 83.8%
46,666 trips · avg +1.5 min
-
VBZ 84.6%
109,419 trips · avg +1.6 min
-
Transports publics Vevey-Montreux-Chillon-Villeneuve 84.7%
7,627 trips · avg +1.4 min
-
Regionale Verkehrsbetriebe Baden-Wettingen 84.8%
9,089 trips · avg +1.4 min
-
Bus Sierrois 85.1%
1,722 trips · avg +1.5 min
-
Automobildienste Aare Seeland mobil 86.9%
4,063 trips · avg +1.2 min
-
Bernmobil 86.9%
37,965 trips · avg +1.4 min
Most punctual operators
-
Sihltal-Zürich-Uetliberg-Bahn 99.8%
1,809 trips · avg +0.4 min
-
Zentralbahn 98.3%
2,481 trips · avg +0.5 min
-
BLS 97.9%
10,693 trips · avg +0.5 min
-
Regionalverkehr Bern-Solothurn 98.1%
3,925 trips · avg +0.4 min
-
THURBO 97.8%
7,312 trips · avg +0.4 min
-
Aare Seeland mobil 97.7%
2,227 trips · avg +0.5 min
-
Schweizerische Südostbahn 97.2%
3,516 trips · avg +0.5 min
-
Stadtbus Winterthur 95.9%
13,373 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 93.5%
10,652 departures · avg +1.2 min
-
Bern 97.4%
7,158 departures · avg +0.9 min
-
Zürich Oerlikon 94%
6,109 departures · avg +1.2 min
-
Zürich Stadelhofen 90.8%
4,774 departures · avg +1.4 min
-
Zürich Hardbrücke 84.8%
4,676 departures · avg +2.1 min
-
Winterthur 93.6%
4,499 departures · avg +1.3 min
-
Olten 92.9%
4,242 departures · avg +1.3 min
-
Lausanne 88.3%
3,679 departures · avg +1.7 min
-
St. Gallen 93.3%
3,638 departures · avg +1.3 min
-
Aarau 95%
3,631 departures · avg +0.9 min
-
Renens VD 88.9%
3,411 departures · avg +1.6 min
-
Luzern 96.7%
3,278 departures · avg +0.9 min
-
Genève, gare Cornavin 75.5%
19,946 departures · avg +2.1 min
-
Genève, Bel-Air 77.5%
19,395 departures · avg +2 min
-
Bern, Bahnhof 94.2%
19,205 departures · avg +1.2 min
-
Zürich, Central 92.1%
15,127 departures · avg +1.2 min
-
Basel, Schifflände 82.1%
14,875 departures · avg +1.9 min
-
Luzern, Kantonalbank 71.9%
14,873 departures · avg +2.7 min
-
Lausanne, Bel-Air 70.6%
14,275 departures · avg +2.4 min
-
Basel, Bahnhof SBB 88.4%
13,884 departures · avg +1.5 min
-
Zürich, Bellevue 92.1%
13,445 departures · avg +1.3 min
-
Bern, Zytglogge 92.5%
13,427 departures · avg +1.3 min
-
Luzern, Bahnhof 81.7%
13,310 departures · avg +2.1 min
-
St. Gallen, Bahnhof 88.3%
13,238 departures · avg +1.4 min
-
Magliaso Paese 66.5%
780 departures · avg +3.1 min
-
Agno 69.6%
780 departures · avg +2.9 min
-
Magliaso 70%
780 departures · avg +2.9 min
-
Bioggio Molinazzo 71.3%
780 departures · avg +2.6 min
-
Caslano 71.7%
780 departures · avg +2.9 min
-
Serocca 71.7%
780 departures · avg +2.7 min
-
Muhen Nord 74.3%
1,024 departures · avg +1.5 min
-
Oberentfelden Engelplatz 74.4%
1,024 departures · avg +1.5 min
-
Cham Alpenblick 75.1%
947 departures · avg +2.3 min
-
Bioggio 75.9%
780 departures · avg +2.2 min
-
Zug Chollermüli 76%
942 departures · avg +2.4 min
-
Zug Schutzengel 77.6%
912 departures · avg +2.3 min
Largest delays
- Bus 47 Grandv, P. Granaand 1 more trips of this line +155 min
- Bus 6 Lausanne, Maladière – Lausanne, Praz-Séchaud Maladièreand 2 more trips of this line +132 min
- Bus 14 Horw, Zentrumand 7 more trips of this line +125 min
- Bus 28 Grand-Saconnex, Tunnel Routier – Petit-Lancy, Les Esserts Petit-Lancy, Les Esserts +121 min
- Bus 162 Meiringen, Bahnhof +119 min
- Bus 131 Tramelan, gare – St-Imier, gare Tramelan, gare +118 min
- RJX Zürich HBand 2 more trips of this line +115 min
- Bus 422 Crans-Montana, Ycoor – Sierre/Siders,Place de la gare Crans-Montana, Barzettes +113 min
- Bus 17 Croix-Péage +103 min
- N6 Grandvaux, Pra Grana – Lausanne, St-François St-Françoisand 1 more trips of this line +100 min
- Bus 83 Satigny, Nant-d'Avriland 1 more trips of this line +97 min
- Bus 18 Lausanne, Clochatte – Crissier, Timonet Crissier Timonetand 1 more trips of this line +90 min
- EC Bregenz – Zürich HB Zürich HBand 12 more trips of this line +90 min
- Bus 30 Luzern Littau, Bahnhof +89 min
- Bus 523 Siebnen-Wangen, Bahnhof – Innerthal, Gemeindeplatz Siebnen-Wangen, Bahnhof +88 min