Punctuality of Swiss public transportWednesday 21 January 2026
87.7% of 150,420 trips were on time. The share was lowest at 17:40: 67.9%. Of the busy lines, Bus 91 Zollikerberg, Station – Zürich, Buchholz had the lowest share on time: 32.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.7%
+0.8 ptsDay before: 86.9% · 150,420 trips with live data
Average delay
+1.3 min
Canceled trips
440
0.3% 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: Tuesday 20 January
- Lowest points
The disruptions of this day were not recorded, so the chart cannot show its incidents.
By mode
-
Train 93.9%
14,345 trips · avg +0.9 min
-
Tram 83.5%
11,637 trips · avg +1.7 min
-
Bus 87.4%
123,746 trips · avg +1.3 min
-
Metro 89.2%
296 trips · avg +1.7 min
-
Boat 85.9%
396 trips · avg +1.4 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
-
56 trips · avg +4.7 min
-
62 trips · avg +4.2 min
-
149 trips · avg +3.4 min
-
78 trips · avg +3.2 min
-
171 trips · avg +4.8 min
-
175 trips · avg +3.4 min
-
150 trips · avg +5.6 min
-
Bus 898 Büren an der Aare, Bahnhof – Münchenbuchsee, BahnhofBüren an der Aare, Bahnhof – Münchenbuchsee, Bahnhof 52.9%
51 trips · avg +3.8 min
Show 17 more
-
50 trips · avg +3.9 min
-
Bus 781 Boll-Utzigen, Bahnhof – Utzigen, Wohn- und PflegeheimBoll-Utzigen, Bahnhof – Utzigen, Wohn- und Pflegeheim 56.3%
64 trips · avg +2.9 min
-
Bus 109 Neuchâtel, Place Pury – Neuchâtel, Trois-ChênesNeuchâtel, Place Pury – Neuchâtel, Trois-Chênes 56.5%
209 trips · avg +3 min
-
149 trips · avg +2.6 min
-
207 trips · avg +5.2 min
-
180 trips · avg +5.3 min
-
123 trips · avg +3 min
-
Bus 59 Chambésy, Plage du Vengeron – Genève-Aéroport, TerminalChambésy, Plage du Vengeron – Genève-Aéroport, Terminal 61.3%
93 trips · avg +2.6 min
-
75 trips · avg +3.3 min
-
44 trips · avg +2.5 min
-
69 trips · avg +9 min
-
92 trips · avg +2.7 min
-
174 trips · avg +2.5 min
-
256 trips · avg +2.7 min
-
Tram 14 Basel, Dreirosenbrücke – Pratteln, SchlossstrasseBasel, Dreirosenbrücke – Pratteln, Schlossstrasse 66.5%
284 trips · avg +2.5 min
-
295 trips · avg +2.5 min
-
302 trips · avg +2.2 min
Most punctual busy lines
-
306 trips · avg +0.7 min
-
Bus 1 Winterthur, Oberwinterthur – Winterthur, TössWinterthur, Oberwinterthur – Winterthur, Töss 96.8%
285 trips · avg +0.7 min
-
Bus 781 Zürich Oerlikon, Bahnhof – Glattbrugg, GiebeleichstrasseZürich Oerlikon, Bahnhof – Glattbrugg, Giebeleichstrasse 96.7%
243 trips · avg +0.7 min
-
240 trips · avg +0.8 min
-
Bus 101 Bern, Hauptbahnhof – Hinterkappelen, SchlossmattBern, Hauptbahnhof – Hinterkappelen, Schlossmatt 96%
253 trips · avg +0.6 min
-
Bus 30 Basel, Badischer Bahnhof – Basel, Bahnhof SBBBasel, Badischer Bahnhof – Basel, Bahnhof SBB 95.9%
386 trips · avg +0.8 min
-
222 trips · avg +0.8 min
-
Bus 3 Winterthur, Oberseen – Winterthur, RosenbergWinterthur, Oberseen – Winterthur, Rosenberg 95.4%
282 trips · avg +0.7 min
Least punctual busy lines
-
69 trips · avg +9 min
-
41 trips · avg +2.1 min
-
42 trips · avg +1.8 min
-
70 trips · avg +1.6 min
-
40 trips · avg +1.4 min
-
116 trips · avg +1.7 min
-
153 trips · avg +1.5 min
-
78 trips · avg +1.4 min
Show 17 more
-
79 trips · avg +1.4 min
-
77 trips · avg +1.5 min
-
82 trips · avg +2.1 min
-
115 trips · avg +1.7 min
-
121 trips · avg +1.2 min
-
42 trips · avg +0.8 min
-
53 trips · avg +0.9 min
-
75 trips · avg +1.1 min
-
77 trips · avg +0.8 min
-
46 trips · avg +0.8 min
-
84 trips · avg +1.3 min
-
98 trips · avg +0.8 min
-
78 trips · avg +1.2 min
-
80 trips · avg +1 min
-
41 trips · avg +0.7 min
-
42 trips · avg +1 min
-
73 trips · avg +0.7 min
Most punctual busy lines
-
126 trips · avg +0.3 min
-
83 trips · avg +0.3 min
-
76 trips · avg +0.1 min
-
76 trips · avg +0.5 min
-
76 trips · avg +0.3 min
-
72 trips · avg +0.5 min
-
68 trips · avg +0.2 min
-
66 trips · avg +0.3 min
Least punctual busy lines
-
Tram 14 Basel, Dreirosenbrücke – Pratteln, SchlossstrasseBasel, Dreirosenbrücke – Pratteln, Schlossstrasse 66.5%
284 trips · avg +2.5 min
-
286 trips · avg +1.7 min
-
288 trips · avg +2.1 min
-
273 trips · avg +2 min
-
305 trips · avg +2.2 min
-
276 trips · avg +1.9 min
-
300 trips · avg +1.8 min
-
374 trips · avg +1.8 min
Show 12 more
-
413 trips · avg +1.3 min
-
303 trips · avg +1.4 min
-
286 trips · avg +2.1 min
-
266 trips · avg +1.4 min
-
Tram 51 Zürich Altstetten, Bahnhof N – Zürich, SeebachZürich Altstetten, Bahnhof N – Zürich, Seebach 90.1%
303 trips · avg +1.3 min
-
283 trips · avg +1.4 min
-
Tram 20 Killwangen, Bahnhof – Zürich Altstetten, BahnhofKillwangen, Bahnhof – Zürich Altstetten, Bahnhof 92.3%
155 trips · avg +1.4 min
-
Tram 9 Wabern, Tram-Endstation – Bern Wankdorf, BahnhofWabern, Tram-Endstation – Bern Wankdorf, Bahnhof 92.6%
350 trips · avg +1.4 min
-
179 trips · avg +0.8 min
-
285 trips · avg +1 min
-
216 trips · avg +1.1 min
-
142 trips · avg +0.1 min
Most punctual busy lines
-
142 trips · avg +0.1 min
-
216 trips · avg +1.1 min
-
285 trips · avg +1 min
-
179 trips · avg +0.8 min
-
Tram 9 Wabern, Tram-Endstation – Bern Wankdorf, BahnhofWabern, Tram-Endstation – Bern Wankdorf, Bahnhof 92.6%
350 trips · avg +1.4 min
-
Tram 20 Killwangen, Bahnhof – Zürich Altstetten, BahnhofKillwangen, Bahnhof – Zürich Altstetten, Bahnhof 92.3%
155 trips · avg +1.4 min
-
283 trips · avg +1.4 min
-
Tram 51 Zürich Altstetten, Bahnhof N – Zürich, SeebachZürich Altstetten, Bahnhof N – Zürich, Seebach 90.1%
303 trips · avg +1.3 min
Least punctual busy lines
-
56 trips · avg +4.7 min
-
62 trips · avg +4.2 min
-
149 trips · avg +3.4 min
-
78 trips · avg +3.2 min
-
171 trips · avg +4.8 min
-
175 trips · avg +3.4 min
-
150 trips · avg +5.6 min
-
Bus 898 Büren an der Aare, Bahnhof – Münchenbuchsee, BahnhofBüren an der Aare, Bahnhof – Münchenbuchsee, Bahnhof 52.9%
51 trips · avg +3.8 min
Show 17 more
-
50 trips · avg +3.9 min
-
Bus 781 Boll-Utzigen, Bahnhof – Utzigen, Wohn- und PflegeheimBoll-Utzigen, Bahnhof – Utzigen, Wohn- und Pflegeheim 56.3%
64 trips · avg +2.9 min
-
Bus 109 Neuchâtel, Place Pury – Neuchâtel, Trois-ChênesNeuchâtel, Place Pury – Neuchâtel, Trois-Chênes 56.5%
209 trips · avg +3 min
-
149 trips · avg +2.6 min
-
207 trips · avg +5.2 min
-
180 trips · avg +5.3 min
-
123 trips · avg +3 min
-
Bus 59 Chambésy, Plage du Vengeron – Genève-Aéroport, TerminalChambésy, Plage du Vengeron – Genève-Aéroport, Terminal 61.3%
93 trips · avg +2.6 min
-
75 trips · avg +3.3 min
-
44 trips · avg +2.5 min
-
92 trips · avg +2.7 min
-
174 trips · avg +2.5 min
-
256 trips · avg +2.7 min
-
295 trips · avg +2.5 min
-
302 trips · avg +2.2 min
-
49 trips · avg +2.4 min
-
144 trips · avg +2.3 min
Most punctual busy lines
-
Bus 1 Schaffhausen, Waldfriedhof – Neuhausen, HerbstäckerSchaffhausen, Waldfriedhof – Neuhausen, Herbstäcker 97.1%
207 trips · avg +0.9 min
-
Bus 1 Winterthur, Oberwinterthur – Winterthur, TössWinterthur, Oberwinterthur – Winterthur, Töss 96.8%
285 trips · avg +0.7 min
-
Bus 781 Zürich Oerlikon, Bahnhof – Glattbrugg, GiebeleichstrasseZürich Oerlikon, Bahnhof – Glattbrugg, Giebeleichstrasse 96.7%
243 trips · avg +0.7 min
-
240 trips · avg +0.8 min
-
Bus 6 St. Gallen, Bach St. Georgen – St. Gallen, HeiligkreuzSt. Gallen, Bach St. Georgen – St. Gallen, Heiligkreuz 96.2%
208 trips · avg +0.6 min
-
Bus 101 Bern, Hauptbahnhof – Hinterkappelen, SchlossmattBern, Hauptbahnhof – Hinterkappelen, Schlossmatt 96%
253 trips · avg +0.6 min
-
Bus 30 Basel, Badischer Bahnhof – Basel, Bahnhof SBBBasel, Badischer Bahnhof – Basel, Bahnhof SBB 95.9%
386 trips · avg +0.8 min
-
222 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) 72.3%
148 trips · avg +2.3 min
-
148 trips · avg +1.1 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
-
Automobil Rottal 70.9%
453 trips · avg +2.3 min
-
Montreux-Oberland Bernois 71.2%
139 trips · avg +2.1 min
-
VBL 73.8%
3,929 trips · avg +2.3 min
-
Busbetrieb Rapperswil-Eschenbach-Rüti ZH 75.2%
303 trips · avg +1.7 min
-
BVB 76.2%
4,780 trips · avg +2.1 min
-
Verkehrsbetrieb LIECHTENSTEINmobil 76.6%
842 trips · avg +2.2 min
-
TPL 76.8%
1,613 trips · avg +2 min
-
Transports Publics Neuchâtelois 76.9%
2,858 trips · avg +1.9 min
Show 17 more
-
TPG 77.3%
9,622 trips · avg +2.2 min
-
Compagnie du chemin de fer Nyon - St-Cergue - Morez 77.8%
108 trips · avg +1.9 min
-
Autobetrieb Sernftal 79%
105 trips · avg +2.1 min
-
Bus Nyon-Prangins 79.1%
363 trips · avg +1.6 min
-
Busbetrieb Solothurn und Umgebung 79.1%
746 trips · avg +1.9 min
-
Bus und Service 80.2%
1,556 trips · avg +1.8 min
-
Auto AG Rothenburg 81.2%
770 trips · avg +1.6 min
-
VBZ 82.9%
16,632 trips · avg +1.7 min
-
Regionale Verkehrsbetriebe Baden-Wettingen 83.4%
1,386 trips · avg +1.5 min
-
Autolinee Regionali Luganesi 84%
225 trips · avg +1.4 min
-
Busbetrieb Aarau 84%
934 trips · avg +1.7 min
-
Regiobus Gossau SG 85.1%
529 trips · avg +1.3 min
-
Mouettes genevoises 85.9%
396 trips · avg +1.4 min
-
TPF 86.1%
4,108 trips · avg +1.2 min
-
Stadtbus Frauenfeld 86.2%
574 trips · avg +1.6 min
-
Busbetrieb Olten-Gösgen-Gäu 86.7%
943 trips · avg +1.5 min
-
Bamert Bus 87%
177 trips · avg +1.3 min
Most punctual operators
-
Zentralbahn 99.4%
361 trips · avg +0.3 min
-
Regionalverkehr Bern-Solothurn 98.8%
605 trips · avg +0.4 min
-
BLS 98.1%
1,565 trips · avg +0.6 min
-
Sihltal-Zürich-Uetliberg-Bahn 99%
312 trips · avg +0.7 min
-
Aare Seeland mobil 98.8%
338 trips · avg +0.4 min
-
Appenzeller Bahnen 98%
346 trips · avg +0.5 min
-
Busbetrieb Grenchen und Umgebung 97.5%
364 trips · avg +0.8 min
-
Auto AG Schwyz 96.6%
760 trips · avg +0.5 min
Stations
The share of the departures less than 3 minutes late. A train station has departures of trains.
-
Zürich HB 90.8%
1,707 departures · avg +1.3 min
-
Bern 97.3%
1,064 departures · avg +0.9 min
-
Zürich Oerlikon 91.7%
905 departures · avg +1.3 min
-
Winterthur 93.8%
691 departures · avg +1.3 min
-
Zürich Stadelhofen 86.6%
688 departures · avg +1.7 min
-
Zürich Hardbrücke 78.3%
665 departures · avg +2.3 min
-
Olten 93.8%
599 departures · avg +1.3 min
-
St. Gallen 90.2%
528 departures · avg +1.5 min
-
Aarau 95.2%
521 departures · avg +0.9 min
-
Lausanne 86.5%
497 departures · avg +2.1 min
-
Renens VD 87.1%
487 departures · avg +1.8 min
-
Worblaufen 97.1%
479 departures · avg +1 min
-
Genève, gare Cornavin 74.4%
3,178 departures · avg +2.5 min
-
Genève, Bel-Air 78.1%
3,055 departures · avg +2 min
-
Bern, Bahnhof 96%
2,965 departures · avg +1 min
-
Luzern, Kantonalbank 78.8%
2,467 departures · avg +2.1 min
-
Basel, Schifflände 82.5%
2,265 departures · avg +1.9 min
-
Bern, Hirschengraben 91.9%
2,246 departures · avg +1.5 min
-
Zürich, Central 90.7%
2,228 departures · avg +1.4 min
-
Bern, Zytglogge 93.4%
2,175 departures · avg +1.3 min
-
Luzern, Bahnhof 86.3%
2,137 departures · avg +1.5 min
-
Basel, Bahnhof SBB 89.3%
2,128 departures · avg +1.5 min
-
Zürich, Bellevue 90.5%
2,109 departures · avg +1.5 min
-
Lausanne, Bel-Air 78.4%
2,102 departures · avg +1.9 min
-
100 departures · avg +2.8 min
-
Vevey Vignerons 54%
100 departures · avg +3.1 min
-
Zufikon 62.1%
153 departures · avg +2.6 min
-
St. Gallen Marktplatz 63.6%
110 departures · avg +2.7 min
-
Zug Chollermüli 64.4%
146 departures · avg +2.8 min
-
Zug Schutzengel 65%
140 departures · avg +2.7 min
-
Cham Alpenblick 65.1%
146 departures · avg +2.8 min
-
La Chiésaz 66%
100 departures · avg +2.9 min
-
Hünenberg Zythus 68.5%
146 departures · avg +2.6 min
-
Baar 69.6%
191 departures · avg +2.3 min
-
100 departures · avg +2.6 min
-
Baar Neufeld 70.3%
138 departures · avg +2.4 min
Largest delays
- NJ Feldkirch – Zürich HB Zürich HB +119 min
- EC Bregenz – Zürich HB Genèveand 2 more trips of this line +76 min
- Bus 11 Genève-Eaux-Vives, gare +75 min
- Tram 15 Genève, Nationsand 4 more trips of this line +72 min
- Bus 702 Tolochenaz, Les Saux – Bussigny, gare sud Bussigny, gare sud +70 min
- Bus 31 Zürich, Hermetschloo – Zürich, Kienastenwies Zürich, Kienastenwies +67 min
- R74 Villars-sur-Ollon +61 min
- Bus 1 Gebenstorf, Reuss – Würenlos, Bettlen Würenlos, Bettlen +58 min
- Bus 68 Saint-Genis, Jean Monnetand 1 more trips of this line +57 min
- Bus 606 St. Moritz, Bahnhof – Chamues-ch, plaz Chamues-ch, plaz +57 min
- Bus 24 Luzern, Bahnhof +57 min
- Bus 20 Veyrier, Tournettes – Bellevue GE, Valavran Bellevue GE, Valavranand 1 more trips of this line +57 min
- Bus 66 Thoiry, Centre commercial – Genève-Aéroport, Terminal Genève-Aéroport, Terminaland 6 more trips of this line +56 min
- Bus 1 Genève, Jardin Botanique – Thônex, Hôpital Trois-Chêne Thônex, Hôpital Trois-Chêneand 1 more trips of this line +56 min
- ICE Basel Bad Bfand 3 more trips of this line +55 min