Punctuality of Swiss public transportThursday 22 January 2026
87.5% of 150,261 trips were on time. The share was lowest at 17:40: 69%. Of the busy lines, Bus 313 Davos Dorf, Bahnhof – Davos Dischma, Teufi had the lowest share on time: 32%.
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.5%
−0.2 ptsDay before: 87.7% · 150,261 trips with live data
Average delay
+1.3 min
Canceled trips
729
0.5% of the trips
Through the day
The share of the trips on their way that are less than 3 minutes late, every 10 minutes.
- ≥ 95%
- Dashed: Wednesday 21 January
- Lowest points
The disruptions of this day were not recorded, so the chart cannot show its incidents.
By mode
-
Train 94.5%
14,314 trips · avg +0.9 min
-
Tram 83%
11,522 trips · avg +2 min
-
Bus 87.1%
123,798 trips · avg +1.3 min
-
Metro 94.7%
300 trips · avg +1.3 min
-
Boat 76.8%
327 trips · avg +1.9 min
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
-
50 trips · avg +7.8 min
-
56 trips · avg +4 min
-
62 trips · avg +3.9 min
-
149 trips · avg +3.3 min
-
Bus 109 Neuchâtel, Place Pury – Neuchâtel, Trois-ChênesNeuchâtel, Place Pury – Neuchâtel, Trois-Chênes 45.1%
215 trips · avg +3.4 min
-
Bus 898 Büren an der Aare, Bahnhof – Münchenbuchsee, BahnhofBüren an der Aare, Bahnhof – Münchenbuchsee, Bahnhof 51%
49 trips · avg +3.4 min
-
213 trips · avg +3.6 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.7%
148 trips · avg +3 min
Show 17 more
-
70 trips · avg +3.4 min
-
152 trips · avg +3.6 min
-
110 trips · avg +3.1 min
-
78 trips · avg +2.8 min
-
68 trips · avg +3.3 min
-
175 trips · avg +3 min
-
49 trips · avg +2.8 min
-
157 trips · avg +2.8 min
-
173 trips · avg +2.6 min
-
Bus 781 Boll-Utzigen, Bahnhof – Utzigen, Wohn- und PflegeheimBoll-Utzigen, Bahnhof – Utzigen, Wohn- und Pflegeheim 64.1%
64 trips · avg +2.6 min
-
411 trips · avg +4.3 min
-
185 trips · avg +3.4 min
-
174 trips · avg +2.5 min
-
Bus 10 Schliern, Bus-Endstation – Ostermundigen, RütiSchliern, Bus-Endstation – Ostermundigen, Rüti 65.4%
508 trips · avg +3.5 min
-
93 trips · avg +2.7 min
-
Bus 66 Thoiry, Centre commercial – Genève-Aéroport, TerminalThoiry, Centre commercial – Genève-Aéroport, Terminal 65.9%
85 trips · avg +7.1 min
-
169 trips · avg +2.7 min
Most punctual busy lines
-
220 trips · avg +0.5 min
-
306 trips · avg +0.9 min
-
Bus 30 Basel, Badischer Bahnhof – Basel, Bahnhof SBBBasel, Badischer Bahnhof – Basel, Bahnhof SBB 96.4%
385 trips · avg +0.8 min
-
296 trips · avg +1.1 min
-
232 trips · avg +0.6 min
-
Bus 101 Bern, Hauptbahnhof – Hinterkappelen, SchlossmattBern, Hauptbahnhof – Hinterkappelen, Schlossmatt 95.2%
252 trips · avg +0.6 min
-
Bus 3 Winterthur, Oberseen – Winterthur, RosenbergWinterthur, Oberseen – Winterthur, Rosenberg 95.1%
286 trips · avg +0.7 min
-
Bus 781 Zürich Oerlikon, Bahnhof – Glattbrugg, GiebeleichstrasseZürich Oerlikon, Bahnhof – Glattbrugg, Giebeleichstrasse 94.7%
243 trips · avg +1 min
Least punctual busy lines
-
118 trips · avg +2.1 min
-
70 trips · avg +7.1 min
-
41 trips · avg +1.3 min
-
78 trips · avg +1 min
-
73 trips · avg +1.5 min
-
41 trips · avg +0.9 min
-
74 trips · avg +1.6 min
-
116 trips · avg +1.1 min
Show 17 more
-
80 trips · avg +1.1 min
-
81 trips · avg +1.1 min
-
45 trips · avg +0.8 min
-
46 trips · avg +1 min
-
40 trips · avg +1.1 min
-
40 trips · avg +1 min
-
82 trips · avg +1.2 min
-
41 trips · avg +1 min
-
125 trips · avg +2.2 min
-
84 trips · avg +0.8 min
-
42 trips · avg +0.7 min
-
72 trips · avg +1.9 min
-
44 trips · avg +0.9 min
-
75 trips · avg +0.9 min
-
45 trips · avg +0.8 min
-
78 trips · avg +1.1 min
-
78 trips · avg +0.9 min
Most punctual busy lines
-
208 trips · avg +0.3 min
-
79 trips · avg +0.2 min
-
78 trips · avg +0.2 min
-
76 trips · avg +0.1 min
-
76 trips · avg +0.2 min
-
75 trips · avg +0.3 min
-
75 trips · avg +0.1 min
-
72 trips · avg +0.4 min
Least punctual busy lines
-
411 trips · avg +4.3 min
-
Tram 14 Basel, Dreirosenbrücke – Pratteln, SchlossstrasseBasel, Dreirosenbrücke – Pratteln, Schlossstrasse 68.1%
279 trips · avg +7.2 min
-
Tram 9 Wabern, Tram-Endstation – Bern Wankdorf, BahnhofWabern, Tram-Endstation – Bern Wankdorf, Bahnhof 70.2%
325 trips · avg +3.8 min
-
280 trips · avg +3.9 min
-
272 trips · avg +1.9 min
-
259 trips · avg +3.1 min
-
263 trips · avg +3.9 min
-
303 trips · avg +1.9 min
Show 12 more
-
304 trips · avg +1.5 min
-
296 trips · avg +1.8 min
-
376 trips · avg +1.6 min
-
285 trips · avg +2.1 min
-
Tram 51 Zürich Altstetten, Bahnhof N – Zürich, SeebachZürich Altstetten, Bahnhof N – Zürich, Seebach 86.9%
306 trips · avg +1.5 min
-
293 trips · avg +1.8 min
-
Tram 20 Killwangen, Bahnhof – Zürich Altstetten, BahnhofKillwangen, Bahnhof – Zürich Altstetten, Bahnhof 93.5%
155 trips · avg +1.2 min
-
282 trips · avg +0.9 min
-
284 trips · avg +0.9 min
-
215 trips · avg +1 min
-
171 trips · avg +0.8 min
-
142 trips · avg +0.1 min
Most punctual busy lines
-
142 trips · avg +0.1 min
-
171 trips · avg +0.8 min
-
215 trips · avg +1 min
-
284 trips · avg +0.9 min
-
282 trips · avg +0.9 min
-
Tram 20 Killwangen, Bahnhof – Zürich Altstetten, BahnhofKillwangen, Bahnhof – Zürich Altstetten, Bahnhof 93.5%
155 trips · avg +1.2 min
-
293 trips · avg +1.8 min
-
Tram 51 Zürich Altstetten, Bahnhof N – Zürich, SeebachZürich Altstetten, Bahnhof N – Zürich, Seebach 86.9%
306 trips · avg +1.5 min
Least punctual busy lines
-
50 trips · avg +7.8 min
-
56 trips · avg +4 min
-
62 trips · avg +3.9 min
-
149 trips · avg +3.3 min
-
Bus 109 Neuchâtel, Place Pury – Neuchâtel, Trois-ChênesNeuchâtel, Place Pury – Neuchâtel, Trois-Chênes 45.1%
215 trips · avg +3.4 min
-
Bus 898 Büren an der Aare, Bahnhof – Münchenbuchsee, BahnhofBüren an der Aare, Bahnhof – Münchenbuchsee, Bahnhof 51%
49 trips · avg +3.4 min
-
213 trips · avg +3.6 min
-
70 trips · avg +3.4 min
Show 17 more
-
152 trips · avg +3.6 min
-
110 trips · avg +3.1 min
-
78 trips · avg +2.8 min
-
68 trips · avg +3.3 min
-
175 trips · avg +3 min
-
49 trips · avg +2.8 min
-
157 trips · avg +2.8 min
-
173 trips · avg +2.6 min
-
Bus 781 Boll-Utzigen, Bahnhof – Utzigen, Wohn- und PflegeheimBoll-Utzigen, Bahnhof – Utzigen, Wohn- und Pflegeheim 64.1%
64 trips · avg +2.6 min
-
185 trips · avg +3.4 min
-
174 trips · avg +2.5 min
-
Bus 10 Schliern, Bus-Endstation – Ostermundigen, RütiSchliern, Bus-Endstation – Ostermundigen, Rüti 65.4%
508 trips · avg +3.5 min
-
93 trips · avg +2.7 min
-
Bus 66 Thoiry, Centre commercial – Genève-Aéroport, TerminalThoiry, Centre commercial – Genève-Aéroport, Terminal 65.9%
85 trips · avg +7.1 min
-
169 trips · avg +2.7 min
-
289 trips · avg +2.6 min
-
202 trips · avg +2.7 min
Most punctual busy lines
-
Bus 1 Schaffhausen, Waldfriedhof – Neuhausen, HerbstäckerSchaffhausen, Waldfriedhof – Neuhausen, Herbstäcker 98.5%
205 trips · avg +0.9 min
-
203 trips · avg +0.7 min
-
220 trips · avg +0.5 min
-
201 trips · avg +1 min
-
Bus 30 Basel, Badischer Bahnhof – Basel, Bahnhof SBBBasel, Badischer Bahnhof – Basel, Bahnhof SBB 96.4%
385 trips · avg +0.8 min
-
Bus 6 St. Gallen, Bach St. Georgen – St. Gallen, HeiligkreuzSt. Gallen, Bach St. Georgen – St. Gallen, Heiligkreuz 95.7%
208 trips · avg +0.6 min
-
232 trips · avg +0.6 min
-
Bus 101 Bern, Hauptbahnhof – Hinterkappelen, SchlossmattBern, Hauptbahnhof – Hinterkappelen, Schlossmatt 95.2%
252 trips · avg +0.6 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.7%
148 trips · avg +3 min
-
79 trips · avg +1.4 min
-
50 trips · avg +0.6 min
-
M4 Genève-Port Noir (lac) – Genève-De-Châteaubriand (lac)Genève-Port Noir (lac) – Genève-De-Châteaubriand (lac) 100%
50 trips · avg +0.5 min
Least punctual operators
-
Autobetrieb Sernftal 69%
113 trips · avg +3.1 min
-
Automobil Rottal 70%
457 trips · avg +2.4 min
-
Lugano-Ponte Tresa 72%
118 trips · avg +2.1 min
-
TPG 74.4%
9,708 trips · avg +2.4 min
-
Busbetrieb Rapperswil-Eschenbach-Rüti ZH 74.6%
303 trips · avg +1.9 min
-
VBL 75.1%
3,910 trips · avg +2.1 min
-
Transports Publics Neuchâtelois 75.2%
2,863 trips · avg +2 min
-
Verkehrsbetrieb LIECHTENSTEINmobil 75.4%
832 trips · avg +2.1 min
Show 17 more
-
BVB 75.5%
4,715 trips · avg +2.7 min
-
Bus Nyon-Prangins 75.7%
387 trips · avg +2 min
-
Mouettes genevoises 76.8%
327 trips · avg +1.9 min
-
Compagnie du chemin de fer Nyon - St-Cergue - Morez 76.9%
108 trips · avg +2.6 min
-
TPL 78.1%
1,613 trips · avg +1.8 min
-
Auto AG Rothenburg 79.1%
767 trips · avg +1.7 min
-
Bus und Service 80.2%
1,548 trips · avg +1.8 min
-
Bernmobil 80.9%
4,927 trips · avg +2.1 min
-
Autobusbetrieb RBS 82.6%
1,523 trips · avg +2.4 min
-
Busbetrieb Solothurn und Umgebung 83%
746 trips · avg +1.5 min
-
Regionale Verkehrsbetriebe Baden-Wettingen 83.4%
1,387 trips · avg +1.5 min
-
VBZ 84.3%
16,626 trips · avg +1.6 min
-
Autolinee Regionali Luganesi 84.8%
230 trips · avg +1.2 min
-
TPF 85.4%
4,128 trips · avg +1.3 min
-
Montreux-Oberland Bernois 86.2%
138 trips · avg +1.5 min
-
Bamert Bus 86.4%
177 trips · avg +1.3 min
-
Transports Publics de la Région Nyonnaise 87%
440 trips · avg +1.2 min
Most punctual operators
-
Zentralbahn 99.4%
361 trips · avg +0.3 min
-
Aare Seeland mobil 99.1%
336 trips · avg +0.4 min
-
Auto AG Schwyz 98.3%
761 trips · avg +0.4 min
-
THURBO 97.8%
1,113 trips · avg +0.4 min
-
Regionalverkehr Bern-Solothurn 98%
605 trips · avg +0.4 min
-
Sihltal-Zürich-Uetliberg-Bahn 98.4%
313 trips · avg +0.8 min
-
Schweizerische Südostbahn 97.5%
514 trips · avg +0.6 min
-
Transports de la région Morges-Bière-Cossonay 99%
104 trips · avg +0.3 min
Stations
The share of the departures less than 3 minutes late. A train station has departures of trains.
-
Zürich HB 92.8%
1,712 departures · avg +1.1 min
-
Bern 96.3%
1,065 departures · avg +1 min
-
Zürich Oerlikon 92.6%
908 departures · avg +1.3 min
-
Winterthur 94.1%
691 departures · avg +1.2 min
-
Zürich Stadelhofen 84.5%
691 departures · avg +1.6 min
-
Zürich Hardbrücke 77.7%
667 departures · avg +2.3 min
-
Olten 93.3%
600 departures · avg +1.2 min
-
St. Gallen 91.3%
529 departures · avg +1.3 min
-
Aarau 94.3%
523 departures · avg +1 min
-
Lausanne 92.1%
496 departures · avg +1.4 min
-
Renens VD 93.9%
489 departures · avg +1.2 min
-
Worblaufen 96.2%
479 departures · avg +1 min
-
Genève, gare Cornavin 77.1%
3,169 departures · avg +2.1 min
-
Genève, Bel-Air 76.8%
3,060 departures · avg +2.4 min
-
Bern, Bahnhof 89.3%
2,885 departures · avg +1.7 min
-
Luzern, Kantonalbank 81.7%
2,460 departures · avg +1.8 min
-
Zürich, Central 92.9%
2,239 departures · avg +1.2 min
-
Basel, Schifflände 81.6%
2,235 departures · avg +2.5 min
-
Bern, Hirschengraben 85.1%
2,210 departures · avg +2.1 min
-
Bern, Zytglogge 85.6%
2,141 departures · avg +2 min
-
Luzern, Bahnhof 88.2%
2,127 departures · avg +1.3 min
-
Lausanne, Bel-Air 78.4%
2,102 departures · avg +1.9 min
-
Zürich, Bellevue 93.1%
2,101 departures · avg +1.2 min
-
Basel, Bahnhof SBB 87.6%
2,097 departures · avg +1.8 min
-
Lustmühle 59.3%
108 departures · avg +2.9 min
-
St. Gallen Marktplatz 62.7%
110 departures · avg +2.7 min
-
Zufikon 63.4%
153 departures · avg +2.7 min
-
Magliaso Paese 64.4%
118 departures · avg +3.3 min
-
Mulhouse 64.5%
152 departures · avg +2.8 min
-
Bioggio Molinazzo 65.3%
118 departures · avg +3 min
-
Agno 65.3%
118 departures · avg +3.3 min
-
Caslano 65.3%
118 departures · avg +2.8 min
-
Magliaso 66.1%
118 departures · avg +3 min
-
St. Gallen Güterbahnhof 66.7%
108 departures · avg +2.4 min
-
Serocca 66.9%
118 departures · avg +3 min
-
St. Gallen Riethüsli 67.6%
108 departures · avg +2.4 min
Largest delays
- Tram 14 Basel, Dreirosenbrücke – Pratteln, Schlossstrasse Pratteln, Schlossstrasseand 3 more trips of this line +251 min
- Tram 1 Basel, Bahnhof SBB – Basel, Dreirosenbrücke Basel, Badischer Bahnhofand 1 more trips of this line +206 min
- Tram 8 Zürich, Zoo – Zürich, Hardturm Zürich, Kirche Fluntern +190 min
- ICE Basel SBBand 2 more trips of this line +140 min
- EC Bregenz – Zürich HB Basel SBBand 1 more trips of this line +116 min
- NJ Feldkirch – Zürich HB Zürich HB +96 min
- Bus 38 Chens-sur-Léman (F) +93 min
- Tram 15 Basel, Bruderholz – Basel, Messeplatz Basel, Messeplatzand 2 more trips of this line +90 min
- Tram 16 Basel, Messeplatz – Basel, Bruderholz Basel, Bruderholz +78 min
- Tram 3 St-Louis, Gare de Saint-Louis +74 min
- RE7 Bern – Wolhusen Luzern +74 min