Punctuality of Swiss public transportJanuary 2026
89% of 4,186,140 trips were on time. The best day was Thursday 1 January with 94.3%, the worst Tuesday 13 January with 86.1%. Of the busy lines, Bus 101 Marin-Epagnier, gare – Cormondrèche, Grand'Rue had the lowest share on time: 29.5%.
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.
89%
−1.7 ptsMonth before: 90.7% · 4,186,140 trips with live data
Average delay
+1.2 min
Canceled trips
16,558
0.4% of the trips
Day by day
The share on time of each day. A day opens its page, a week number its week.
- Best day
- Thu 1 Jan · 94.3%
- Worst day
- Tue 13 Jan · 86.1%
By mode
-
Train 94.4%
430,380 trips · avg +0.8 min
-
Tram 84.7%
334,096 trips · avg +1.6 min
-
Bus 88.8%
3,403,461 trips · avg +1.2 min
-
Metro 95.9%
8,620 trips · avg +1.3 min
-
Boat 73.2%
9,583 trips · avg +2.4 min
Month by month
The share on time of each month. A point opens its month.
- 95%
- Average: 89.6%
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 Marin-Epagnier, gare – Cormondrèche, Grand'RueMarin-Epagnier, gare – Cormondrèche, Grand'Rue 29.5%
5,663 trips · avg +4.6 min
-
4,493 trips · avg +3.1 min
-
1,804 trips · avg +3.4 min
-
Bus 106 Neuchâtel, Place Pury – Neuchâtel,Vallon de l'ErmitageNeuchâtel, Place Pury – Neuchâtel,Vallon de l'Ermitage 50%
1,712 trips · avg +3.3 min
-
5,122 trips · avg +3.1 min
-
Bus 109 Neuchâtel, Place Pury – Neuchâtel, Trois-ChênesNeuchâtel, Place Pury – Neuchâtel, Trois-Chênes 54%
5,878 trips · avg +3.1 min
-
M2 Genève-Pâquis (lac) – Genève-Quai Gustave Ador (lac)Genève-Pâquis (lac) – Genève-Quai Gustave Ador (lac) 54.1%
4,016 trips · avg +3.7 min
-
2,443 trips · avg +3 min
Show 17 more
-
Bus 898 Büren an der Aare, Bahnhof – Münchenbuchsee, BahnhofBüren an der Aare, Bahnhof – Münchenbuchsee, Bahnhof 62.1%
1,442 trips · avg +2.9 min
-
5,852 trips · avg +2.8 min
-
Bus 68 Saint-Genis, Jean Monnet – Vernier, BlandonnetSaint-Genis, Jean Monnet – Vernier, Blandonnet 63.4%
3,054 trips · avg +3.4 min
-
2,632 trips · avg +2.7 min
-
Bus 5 Kriens, Busschleife – Emmenbrücke, Bahnhof SüdKriens, Busschleife – Emmenbrücke, Bahnhof Süd 63.7%
4,126 trips · avg +3.5 min
-
Bus 310 La Chaux-de-Fonds, Sombaille – La Chaux-de-Fonds, gareLa Chaux-de-Fonds, Sombaille – La Chaux-de-Fonds, gare 63.7%
1,314 trips · avg +2.5 min
-
2,262 trips · avg +3.3 min
-
1,278 trips · avg +2.7 min
-
Bus 361 La Chaux-de-Fonds, gare – Le Locle, TechnicumLa Chaux-de-Fonds, gare – Le Locle, Technicum 64.7%
1,318 trips · avg +2.7 min
-
Bus 107 Marin-Epagnier, gare – Neuchâtel, Place PuryMarin-Epagnier, gare – Neuchâtel, Place Pury 64.8%
4,258 trips · avg +2.6 min
-
1,805 trips · avg +7.6 min
-
1,847 trips · avg +2.7 min
-
1,934 trips · avg +2.6 min
-
Bus 54 Versoix, Centre sportif – Vernier, ParfumerieVersoix, Centre sportif – Vernier, Parfumerie 65.9%
2,029 trips · avg +2.9 min
-
6,182 trips · avg +2.7 min
-
2,883 trips · avg +2.6 min
-
4,985 trips · avg +2.7 min
Most punctual busy lines
-
6,751 trips · avg +0.5 min
-
8,937 trips · avg +0.8 min
-
7,003 trips · avg +0.9 min
-
8,616 trips · avg +1.2 min
-
8,023 trips · avg +0.7 min
-
Bus 3 Winterthur, Oberseen – Winterthur, RosenbergWinterthur, Oberseen – Winterthur, Rosenberg 95.4%
7,995 trips · avg +0.7 min
-
8,445 trips · avg +0.9 min
-
6,615 trips · avg +0.9 min
Least punctual busy lines
-
1,805 trips · avg +7.6 min
-
2,785 trips · avg +2.6 min
-
3,450 trips · avg +1.8 min
-
2,203 trips · avg +1.7 min
-
2,051 trips · avg +1.4 min
-
3,498 trips · avg +1.1 min
-
1,425 trips · avg +1 min
-
1,916 trips · avg +0.8 min
Show 17 more
-
3,150 trips · avg +1.1 min
-
1,449 trips · avg +0.9 min
-
1,431 trips · avg +0.8 min
-
2,433 trips · avg +1 min
-
3,567 trips · avg +1 min
-
1,630 trips · avg +0.9 min
-
2,696 trips · avg +1.2 min
-
1,598 trips · avg +0.9 min
-
1,948 trips · avg +0.9 min
-
2,420 trips · avg +0.8 min
-
2,444 trips · avg +0.8 min
-
2,101 trips · avg +0.7 min
-
2,524 trips · avg +0.9 min
-
1,498 trips · avg +0.6 min
-
1,372 trips · avg +0.7 min
-
2,475 trips · avg +0.8 min
-
2,189 trips · avg +1.1 min
Most punctual busy lines
-
1,798 trips · avg +0 min
-
3,810 trips · avg +0.3 min
-
2,040 trips · avg +0.3 min
-
4,910 trips · avg +0.3 min
-
2,346 trips · avg +0.2 min
-
2,991 trips · avg +0.5 min
-
4,347 trips · avg +0.3 min
-
2,370 trips · avg +0.4 min
Least punctual busy lines
-
Tram 8 Weil am Rhein, Bahnhof/Zentrum – Basel, NeuweilerstrasseWeil am Rhein, Bahnhof/Zentrum – Basel, Neuweilerstrasse 67.5%
1,869 trips · avg +2.6 min
-
Tram 14 Basel, Dreirosenbrücke – Pratteln, SchlossstrasseBasel, Dreirosenbrücke – Pratteln, Schlossstrasse 69%
8,313 trips · avg +2.6 min
-
6,232 trips · avg +2.3 min
-
8,457 trips · avg +1.8 min
-
8,369 trips · avg +2.3 min
-
8,036 trips · avg +2.1 min
-
Tram 3 St-Louis, Gare de Saint-Louis – Birsfelden, HardSt-Louis, Gare de Saint-Louis – Birsfelden, Hard 78.5%
7,203 trips · avg +2.1 min
-
8,093 trips · avg +2 min
Show 17 more
-
5,641 trips · avg +1.7 min
-
7,453 trips · avg +1.9 min
-
10,352 trips · avg +1.7 min
-
10,768 trips · avg +1.9 min
-
4,251 trips · avg +1.7 min
-
8,853 trips · avg +1.8 min
-
Tram 7 Zürich, Wollishoferplatz – Stettbach, BahnhofZürich, Wollishoferplatz – Stettbach, Bahnhof 82.5%
5,826 trips · avg +1.8 min
-
Tram 10 Zürich, Bahnhofstrasse/HB – Zürich Flughafen, FrachtZürich, Bahnhofstrasse/HB – Zürich Flughafen, Fracht 83.9%
5,603 trips · avg +1.6 min
-
8,120 trips · avg +1.8 min
-
10,100 trips · avg +1.7 min
-
Tram 9 Wabern, Tram-Endstation – Bern Wankdorf, BahnhofWabern, Tram-Endstation – Bern Wankdorf, Bahnhof 85.4%
9,872 trips · avg +1.8 min
-
8,490 trips · avg +1.4 min
-
8,785 trips · avg +1.5 min
-
8,767 trips · avg +1.4 min
-
8,597 trips · avg +1.7 min
-
Tram 51 Zürich Altstetten, Bahnhof N – Zürich, SeebachZürich Altstetten, Bahnhof N – Zürich, Seebach 89.1%
8,880 trips · avg +1.3 min
-
Tram 13 Zürich, Bahnhofstrasse/HB – Zürich, AlbisgütliZürich, Bahnhofstrasse/HB – Zürich, Albisgütli 89.4%
10,397 trips · avg +1.3 min
Most punctual busy lines
-
4,135 trips · avg +0.2 min
-
8,445 trips · avg +0.9 min
-
6,615 trips · avg +0.9 min
-
Tram 15 Zürich Tiefenbrunnen, Bahnhof – Zürich, CentralZürich Tiefenbrunnen, Bahnhof – Zürich, Central 94.7%
7,054 trips · avg +1.1 min
-
7,776 trips · avg +0.8 min
-
Tram 20 Killwangen, Bahnhof – Zürich Altstetten, BahnhofKillwangen, Bahnhof – Zürich Altstetten, Bahnhof 93.7%
4,780 trips · avg +1.1 min
-
Tram 12 Zürich Flughafen, Fracht – Stettbach, BahnhofZürich Flughafen, Fracht – Stettbach, Bahnhof 93%
3,833 trips · avg +1.2 min
-
8,477 trips · avg +0.9 min
Least punctual busy lines
-
Bus 101 Marin-Epagnier, gare – Cormondrèche, Grand'RueMarin-Epagnier, gare – Cormondrèche, Grand'Rue 29.5%
5,663 trips · avg +4.6 min
-
4,493 trips · avg +3.1 min
-
1,804 trips · avg +3.4 min
-
Bus 106 Neuchâtel, Place Pury – Neuchâtel,Vallon de l'ErmitageNeuchâtel, Place Pury – Neuchâtel,Vallon de l'Ermitage 50%
1,712 trips · avg +3.3 min
-
5,122 trips · avg +3.1 min
-
Bus 109 Neuchâtel, Place Pury – Neuchâtel, Trois-ChênesNeuchâtel, Place Pury – Neuchâtel, Trois-Chênes 54%
5,878 trips · avg +3.1 min
-
2,443 trips · avg +3 min
-
Bus 898 Büren an der Aare, Bahnhof – Münchenbuchsee, BahnhofBüren an der Aare, Bahnhof – Münchenbuchsee, Bahnhof 62.1%
1,442 trips · avg +2.9 min
Show 17 more
-
5,852 trips · avg +2.8 min
-
Bus 68 Saint-Genis, Jean Monnet – Vernier, BlandonnetSaint-Genis, Jean Monnet – Vernier, Blandonnet 63.4%
3,054 trips · avg +3.4 min
-
2,632 trips · avg +2.7 min
-
Bus 5 Kriens, Busschleife – Emmenbrücke, Bahnhof SüdKriens, Busschleife – Emmenbrücke, Bahnhof Süd 63.7%
4,126 trips · avg +3.5 min
-
Bus 310 La Chaux-de-Fonds, Sombaille – La Chaux-de-Fonds, gareLa Chaux-de-Fonds, Sombaille – La Chaux-de-Fonds, gare 63.7%
1,314 trips · avg +2.5 min
-
2,262 trips · avg +3.3 min
-
1,278 trips · avg +2.7 min
-
Bus 361 La Chaux-de-Fonds, gare – Le Locle, TechnicumLa Chaux-de-Fonds, gare – Le Locle, Technicum 64.7%
1,318 trips · avg +2.7 min
-
Bus 107 Marin-Epagnier, gare – Neuchâtel, Place PuryMarin-Epagnier, gare – Neuchâtel, Place Pury 64.8%
4,258 trips · avg +2.6 min
-
1,847 trips · avg +2.7 min
-
1,934 trips · avg +2.6 min
-
Bus 54 Versoix, Centre sportif – Vernier, ParfumerieVersoix, Centre sportif – Vernier, Parfumerie 65.9%
2,029 trips · avg +2.9 min
-
6,182 trips · avg +2.7 min
-
2,883 trips · avg +2.6 min
-
4,985 trips · avg +2.7 min
-
Bus 311 La Chaux-de-Fonds, Cerisier – La Chaux-de-Fonds, gareLa Chaux-de-Fonds, Cerisier – La Chaux-de-Fonds, gare 66.2%
2,100 trips · avg +2.7 min
-
4,576 trips · avg +3.2 min
Most punctual busy lines
-
6,751 trips · avg +0.5 min
-
Bus 1 Schaffhausen, Waldfriedhof – Neuhausen, HerbstäckerSchaffhausen, Waldfriedhof – Neuhausen, Herbstäcker 97.6%
5,673 trips · avg +0.8 min
-
5,625 trips · avg +0.6 min
-
Bus 101 Bern, Hauptbahnhof – Hinterkappelen, SchlossmattBern, Hauptbahnhof – Hinterkappelen, Schlossmatt 96.8%
5,964 trips · avg +0.5 min
-
Bus 6 St. Gallen, Bach St. Georgen – St. Gallen, HeiligkreuzSt. Gallen, Bach St. Georgen – St. Gallen, Heiligkreuz 96.3%
5,651 trips · avg +0.5 min
-
7,003 trips · avg +0.9 min
-
8,023 trips · avg +0.7 min
-
Bus 5 St. Gallen, Riethüsli – St. Gallen, RotmontenSt. Gallen, Riethüsli – St. Gallen, Rotmonten 95.5%
5,672 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) 54.1%
4,016 trips · avg +3.7 min
-
3,086 trips · avg +1.9 min
-
1,315 trips · avg +1.1 min
Least punctual operators
-
Mouettes genevoises 73.2%
9,583 trips · avg +2.4 min
-
Busbetrieb Rapperswil-Eschenbach-Rüti ZH 74.7%
8,197 trips · avg +2 min
-
VBL 76%
111,489 trips · avg +2.2 min
-
Automobil Rottal 76.5%
12,534 trips · avg +2 min
-
Lugano-Ponte Tresa 76.7%
3,450 trips · avg +1.8 min
-
Verkehrsbetrieb der Landschaft Davos 77.1%
10,344 trips · avg +1.9 min
-
BVB 77.4%
134,963 trips · avg +2.1 min
-
Verkehrsbetrieb LIECHTENSTEINmobil 77.9%
22,211 trips · avg +2.1 min
Show 17 more
-
Transports Publics Neuchâtelois 78%
73,772 trips · avg +1.8 min
-
TPG 80%
262,835 trips · avg +1.9 min
-
Bus und Service 80.8%
44,398 trips · avg +1.8 min
-
Sierre-Montana-Crans 81.9%
8,531 trips · avg +2 min
-
Auto AG Rothenburg 82.1%
21,421 trips · avg +1.7 min
-
TPL 82.9%
45,450 trips · avg +1.4 min
-
Montreux-Oberland Bernois 83.6%
4,186 trips · avg +1.6 min
-
Bus Nyon-Prangins 83.9%
9,203 trips · avg +1.5 min
-
Regionale Verkehrsbetriebe Baden-Wettingen 84%
39,001 trips · avg +1.5 min
-
Busbetrieb Solothurn und Umgebung 84.2%
19,955 trips · avg +1.5 min
-
Bus Sierrois 85.7%
7,081 trips · avg +1.9 min
-
VBZ 86.3%
466,515 trips · avg +1.5 min
-
Bamert Bus 86.5%
4,554 trips · avg +1.4 min
-
AFA Bus 87%
7,938 trips · avg +1.2 min
-
Stadtbus Frauenfeld 87.2%
14,674 trips · avg +1.5 min
-
TPF 87.3%
109,830 trips · avg +1.1 min
-
Transports Publics du Chablais 88.3%
33,631 trips · avg +1.1 min
Most punctual operators
-
Zentralbahn 98.8%
10,696 trips · avg +0.3 min
-
Regionalverkehr Bern-Solothurn 98.2%
17,090 trips · avg +0.4 min
-
Aare Seeland mobil 98.2%
9,546 trips · avg +0.4 min
-
THURBO 97.4%
34,511 trips · avg +0.5 min
-
BLS 96.9%
47,053 trips · avg +0.6 min
-
Schweizerische Südostbahn 96.9%
15,580 trips · avg +0.6 min
-
Auto AG Uri 97%
10,089 trips · avg +0.6 min
-
Auto AG Schwyz 95.9%
21,302 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.7%
52,064 departures · avg +1.2 min
-
Bern 96.9%
31,524 departures · avg +0.9 min
-
Zürich Oerlikon 93.7%
27,252 departures · avg +1.2 min
-
Zürich Stadelhofen 90.3%
21,739 departures · avg +1.4 min
-
Winterthur 95.1%
21,410 departures · avg +1.2 min
-
20,679 departures · avg +2.1 min
-
Olten 93.9%
18,724 departures · avg +1.2 min
-
Lausanne 91.6%
16,227 departures · avg +1.4 min
-
Aarau 95.5%
16,006 departures · avg +0.9 min
-
St. Gallen 93.3%
15,831 departures · avg +1.3 min
-
Renens VD 92.5%
15,410 departures · avg +1.2 min
-
Luzern 97.2%
14,296 departures · avg +0.8 min
-
Genève, gare Cornavin 82.3%
86,590 departures · avg +1.7 min
-
Bern, Bahnhof 95.2%
85,435 departures · avg +1.1 min
-
Genève, Bel-Air 83%
83,702 departures · avg +1.7 min
-
Luzern, Kantonalbank 81.4%
70,781 departures · avg +2 min
-
Basel, Schifflände 83.7%
65,393 departures · avg +1.9 min
-
Bern, Hirschengraben 91.1%
65,371 departures · avg +1.5 min
-
Zürich, Central 93.4%
64,457 departures · avg +1.1 min
-
Bern, Zytglogge 92.1%
62,527 departures · avg +1.4 min
-
Lausanne, Bel-Air 79.7%
62,030 departures · avg +1.8 min
-
Luzern, Bahnhof 89.5%
61,656 departures · avg +1.4 min
-
Zürich, Bellevue 93.1%
60,092 departures · avg +1.2 min
-
Basel, Bahnhof SBB 88.4%
57,921 departures · avg +1.6 min
-
Magliaso Paese 64.3%
3,450 departures · avg +3.1 min
-
Agno 65.3%
3,450 departures · avg +3 min
-
Magliaso 66.9%
3,450 departures · avg +2.8 min
-
Serocca 67%
3,450 departures · avg +2.8 min
-
Bioggio Molinazzo 68.9%
3,450 departures · avg +2.7 min
-
Bioggio 72.8%
3,450 departures · avg +2.3 min
-
Oberentfelden Engelplatz 73.2%
4,477 departures · avg +1.7 min
-
Caslano 73.2%
3,450 departures · avg +2.5 min
-
Muhen Nord 73.3%
4,477 departures · avg +1.7 min
-
Zug Chollermüli 74.8%
4,056 departures · avg +2.3 min
-
Zug Schutzengel 76.4%
3,936 departures · avg +2.3 min
-
Cham Alpenblick 76.5%
4,086 departures · avg +2.2 min
Largest delays
- NJ Zürich HBand 21 more trips of this line +193 min
- m1 Lausanne, Flon – Renens VD, gare Renens VD, gareand 6 more trips of this line +178 min
- Tram 14 Meyrin, Gravièreand 31 more trips of this line +177 min
- Bus 1 Gebenstorf, Reuss – Würenlos, Bettlen Baden, Bahnhof Ostand 11 more trips of this line +174 min
- Bus 72 Satigny, gare – Satigny, gare Satigny, gareand 2 more trips of this line +171 min
- Bus 24 Schaffhausen, Bahnhof – Büttenhardt, Dorf Schaffhausen, Bahnhof +157 min
- Bus 3 Wettingen, Brunnenwiese – Baden, Grosse Bäder Wettingen, Brunnenwieseand 1 more trips of this line +156 min
- Tram 15 Zürich Tiefenbrunnen, Bahnhof – Zürich, Central Zürich, Centraland 4 more trips of this line +155 min
- R55 Nyon – St-Cergue La Cureand 8 more trips of this line +146 min
- Bus 151 Adliswil, Bahnhof – Zürich, Mittelleimbach Adliswil, Bahnhofand 1 more trips of this line +143 min
- Bus 21 Beggingen, Dorf – Schaffhausen, Bahnhof Siblingen, Am Steiand 1 more trips of this line +137 min
- Bus 622 Immensee, Sunnehof – Meggen, Huob Immensee, Dorf +134 min
- Bus 73 Zürich, Zielweg – Zürich, Schweighof Zürich, Zielweg +131 min
- Bus 704 Volketswil, Hofwisen +128 min
- N3 St-Françoisand 2 more trips of this line +128 min