Punctuality of Swiss public transportMonday 20 April 2026
89.1% of 147,066 trips were on time. The share was lowest at 17:30: 70.1%. Of the busy lines, Bus 101 Marin-Epagnier, gare – Cormondrèche, Grand'Rue had the lowest share on time: 24.6%.
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%
−3.6 ptsDay before: 92.7% · 147,066 trips with live data
Average delay
+1.2 min
Canceled trips
395
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: Sunday 19 April
- Lowest points
The disruptions of this day were not recorded, so the chart cannot show its incidents.
By mode
-
Train 95.4%
14,225 trips · avg +0.7 min
-
Tram 84.6%
11,024 trips · avg +1.5 min
-
Bus 88.9%
121,085 trips · avg +1.2 min
-
Metro 88.7%
336 trips · avg +1.5 min
-
Boat 50.8%
396 trips · avg +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
-
Bus 101 Marin-Epagnier, gare – Cormondrèche, Grand'RueMarin-Epagnier, gare – Cormondrèche, Grand'Rue 24.6%
228 trips · avg +5.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) 31.8%
148 trips · avg +5.6 min
-
48 trips · avg +3.8 min
-
148 trips · avg +4.5 min
-
48 trips · avg +4.2 min
-
Bus 106 Neuchâtel, Place Pury – Neuchâtel,Vallon de l'ErmitageNeuchâtel, Place Pury – Neuchâtel,Vallon de l'Ermitage 42.9%
70 trips · avg +3.6 min
-
148 trips · avg +4.6 min
-
Bus 311 La Chaux-de-Fonds, Cerisier – La Chaux-de-Fonds, gareLa Chaux-de-Fonds, Cerisier – La Chaux-de-Fonds, gare 44%
91 trips · avg +4.6 min
Show 17 more
-
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.5 min
-
52 trips · avg +3.6 min
-
57 trips · avg +3.4 min
-
Bus 107 Marin-Epagnier, gare – Neuchâtel, Place PuryMarin-Epagnier, gare – Neuchâtel, Place Pury 48.8%
213 trips · avg +3.8 min
-
Bus 54 Versoix, Centre sportif – Vernier, ParfumerieVersoix, Centre sportif – Vernier, Parfumerie 49.3%
71 trips · avg +3.8 min
-
62 trips · avg +3.5 min
-
Bus 68 Saint-Genis, Jean Monnet – Vernier, BlandonnetSaint-Genis, Jean Monnet – Vernier, Blandonnet 50.3%
153 trips · avg +5.2 min
-
Bus 33 Prilly, Mont-Goulin – St-Sulpice VD, Venoge nordPrilly, Mont-Goulin – St-Sulpice VD, Venoge nord 51.3%
154 trips · avg +4.8 min
-
99 trips · avg +3.8 min
-
102 trips · avg +3 min
-
73 trips · avg +3.6 min
-
58 trips · avg +2.4 min
-
289 trips · avg +3.7 min
-
175 trips · avg +2.9 min
-
96 trips · avg +3.4 min
-
Bus 16 Muzzano, Paese – Lugano, Stazione/Via BasileaMuzzano, Paese – Lugano, Stazione/Via Basilea 57.8%
45 trips · avg +2.8 min
-
256 trips · avg +3.5 min
Most punctual busy lines
-
306 trips · avg +0.6 min
-
Bus 1 Winterthur, Oberwinterthur – Winterthur, TössWinterthur, Oberwinterthur – Winterthur, Töss 99.3%
286 trips · avg +0.5 min
-
Bus 752 Stettbach, Bahnhof – Dübendorf, KunsteisbahnStettbach, Bahnhof – Dübendorf, Kunsteisbahn 98.9%
265 trips · avg +0.6 min
-
288 trips · avg +0.5 min
-
Bus 3 Winterthur, Oberseen – Winterthur, RosenbergWinterthur, Oberseen – Winterthur, Rosenberg 97.5%
282 trips · avg +0.3 min
-
312 trips · avg +0.7 min
-
286 trips · avg +0.8 min
-
377 trips · avg +0.9 min
Least punctual busy lines
-
68 trips · avg +5.2 min
-
75 trips · avg +2.6 min
-
132 trips · avg +1.3 min
-
58 trips · avg +1.2 min
-
41 trips · avg +1.5 min
-
107 trips · avg +2 min
-
160 trips · avg +1.1 min
-
82 trips · avg +1.4 min
Show 17 more
-
63 trips · avg +1.3 min
-
40 trips · avg +1.4 min
-
96 trips · avg +1.2 min
-
48 trips · avg +1 min
-
40 trips · avg +0.9 min
-
40 trips · avg +1.7 min
-
62 trips · avg +0.9 min
-
79 trips · avg +0.8 min
-
108 trips · avg +1.4 min
-
84 trips · avg +0.7 min
-
80 trips · avg +0.8 min
-
65 trips · avg +0.4 min
-
116 trips · avg +0.8 min
-
74 trips · avg +0.9 min
-
78 trips · avg +0.6 min
-
78 trips · avg +0.6 min
-
78 trips · avg +0.5 min
Most punctual busy lines
-
119 trips · avg +0.1 min
-
115 trips · avg +0.3 min
-
81 trips · avg +0.3 min
-
77 trips · avg +0.2 min
-
76 trips · avg +0.1 min
-
76 trips · avg +0.4 min
-
72 trips · avg +0.2 min
-
72 trips · avg +0.6 min
Least punctual busy lines
-
Tram 8 Weil am Rhein, Bahnhof/Zentrum – Basel, NeuweilerstrasseWeil am Rhein, Bahnhof/Zentrum – Basel, Neuweilerstrasse 69.9%
306 trips · avg +2.3 min
-
Tram 14 Basel, Dreirosenbrücke – Pratteln, SchlossstrasseBasel, Dreirosenbrücke – Pratteln, Schlossstrasse 70.1%
284 trips · avg +2.3 min
-
325 trips · avg +2.3 min
-
293 trips · avg +1.7 min
-
288 trips · avg +2.2 min
-
Tram 13 Zürich, Bahnhofstrasse/HB – Zürich, AlbisgütliZürich, Bahnhofstrasse/HB – Zürich, Albisgütli 76%
333 trips · avg +2 min
-
298 trips · avg +2 min
-
298 trips · avg +2.2 min
Show 17 more
-
Tram 8 Bern Brünnen Westside, Bahnhof – Bern, SaaliBern Brünnen Westside, Bahnhof – Bern, Saali 79.7%
311 trips · avg +1.8 min
-
Tram 7 Zürich, Wollishoferplatz – Stettbach, BahnhofZürich, Wollishoferplatz – Stettbach, Bahnhof 80.4%
286 trips · avg +1.9 min
-
309 trips · avg +1.9 min
-
275 trips · avg +2 min
-
423 trips · avg +1.5 min
-
290 trips · avg +1.6 min
-
303 trips · avg +1.7 min
-
436 trips · avg +1.2 min
-
166 trips · avg +1.1 min
-
276 trips · avg +1.5 min
-
224 trips · avg +1.1 min
-
411 trips · avg +1 min
-
Tram 15 Zürich Tiefenbrunnen, Bahnhof – Zürich, CentralZürich Tiefenbrunnen, Bahnhof – Zürich, Central 89.6%
115 trips · avg +1.1 min
-
294 trips · avg +1.1 min
-
296 trips · avg +1 min
-
304 trips · avg +1.3 min
-
289 trips · avg +1.1 min
Most punctual busy lines
-
Tram 20 Killwangen, Bahnhof – Zürich Altstetten, BahnhofKillwangen, Bahnhof – Zürich Altstetten, Bahnhof 100%
155 trips · avg +0.8 min
-
123 trips · avg +0.1 min
-
312 trips · avg +0.7 min
-
Tram 12 Zürich Flughafen, Fracht – Stettbach, BahnhofZürich Flughafen, Fracht – Stettbach, Bahnhof 96.8%
154 trips · avg +0.9 min
-
Tram 51 Zürich Altstetten, Bahnhof N – Zürich, SeebachZürich Altstetten, Bahnhof N – Zürich, Seebach 93.4%
302 trips · avg +1 min
-
104 trips · avg +0.6 min
-
Tram 9 Wabern, Tram-Endstation – Bern Wankdorf, BahnhofWabern, Tram-Endstation – Bern Wankdorf, Bahnhof 92.8%
349 trips · avg +1.3 min
-
289 trips · avg +1.1 min
Least punctual busy lines
-
Bus 101 Marin-Epagnier, gare – Cormondrèche, Grand'RueMarin-Epagnier, gare – Cormondrèche, Grand'Rue 24.6%
228 trips · avg +5.1 min
-
48 trips · avg +3.8 min
-
48 trips · avg +4.2 min
-
Bus 106 Neuchâtel, Place Pury – Neuchâtel,Vallon de l'ErmitageNeuchâtel, Place Pury – Neuchâtel,Vallon de l'Ermitage 42.9%
70 trips · avg +3.6 min
-
148 trips · avg +4.6 min
-
Bus 311 La Chaux-de-Fonds, Cerisier – La Chaux-de-Fonds, gareLa Chaux-de-Fonds, Cerisier – La Chaux-de-Fonds, gare 44%
91 trips · avg +4.6 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.5 min
-
52 trips · avg +3.6 min
Show 17 more
-
57 trips · avg +3.4 min
-
Bus 107 Marin-Epagnier, gare – Neuchâtel, Place PuryMarin-Epagnier, gare – Neuchâtel, Place Pury 48.8%
213 trips · avg +3.8 min
-
Bus 54 Versoix, Centre sportif – Vernier, ParfumerieVersoix, Centre sportif – Vernier, Parfumerie 49.3%
71 trips · avg +3.8 min
-
62 trips · avg +3.5 min
-
Bus 68 Saint-Genis, Jean Monnet – Vernier, BlandonnetSaint-Genis, Jean Monnet – Vernier, Blandonnet 50.3%
153 trips · avg +5.2 min
-
Bus 33 Prilly, Mont-Goulin – St-Sulpice VD, Venoge nordPrilly, Mont-Goulin – St-Sulpice VD, Venoge nord 51.3%
154 trips · avg +4.8 min
-
99 trips · avg +3.8 min
-
102 trips · avg +3 min
-
73 trips · avg +3.6 min
-
58 trips · avg +2.4 min
-
289 trips · avg +3.7 min
-
175 trips · avg +2.9 min
-
96 trips · avg +3.4 min
-
Bus 16 Muzzano, Paese – Lugano, Stazione/Via BasileaMuzzano, Paese – Lugano, Stazione/Via Basilea 57.8%
45 trips · avg +2.8 min
-
256 trips · avg +3.5 min
-
Bus 59 Chambésy, Plage du Vengeron – Genève-Aéroport, TerminalChambésy, Plage du Vengeron – Genève-Aéroport, Terminal 58.1%
93 trips · avg +2.7 min
-
Bus 5 Kriens, Busschleife – Emmenbrücke, Bahnhof SüdKriens, Busschleife – Emmenbrücke, Bahnhof Süd 58.2%
177 trips · avg +3.6 min
Most punctual busy lines
-
Bus 1 Winterthur, Oberwinterthur – Winterthur, TössWinterthur, Oberwinterthur – Winterthur, Töss 99.3%
286 trips · avg +0.5 min
-
Bus 752 Stettbach, Bahnhof – Dübendorf, KunsteisbahnStettbach, Bahnhof – Dübendorf, Kunsteisbahn 98.9%
265 trips · avg +0.6 min
-
228 trips · avg +0.4 min
-
288 trips · avg +0.5 min
-
Bus 3 Winterthur, Oberseen – Winterthur, RosenbergWinterthur, Oberseen – Winterthur, Rosenberg 97.5%
282 trips · avg +0.3 min
-
242 trips · avg +0.6 min
-
286 trips · avg +0.8 min
-
377 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) 31.8%
148 trips · avg +5.6 min
-
148 trips · avg +4.5 min
-
50 trips · avg +0.9 min
-
M4 Genève-Port Noir (lac) – Genève-De-Châteaubriand (lac)Genève-Port Noir (lac) – Genève-De-Châteaubriand (lac) 98%
50 trips · avg +0.8 min
Least punctual operators
-
Mouettes genevoises 50.8%
396 trips · avg +4 min
-
VBL 72.2%
3,925 trips · avg +2.5 min
-
Automobil Rottal 72.4%
438 trips · avg +2.4 min
-
Transports Publics Neuchâtelois 72.9%
2,836 trips · avg +2.2 min
-
TPL 74.2%
1,613 trips · avg +2.2 min
-
Sierre-Montana-Crans 78.2%
257 trips · avg +1.7 min
-
BVB 78.3%
4,833 trips · avg +1.9 min
-
Lugano-Ponte Tresa 78.8%
132 trips · avg +1.3 min
Show 17 more
-
TPG 79.1%
9,684 trips · avg +1.8 min
-
Verkehrsbetrieb LIECHTENSTEINmobil 80.1%
538 trips · avg +1.9 min
-
Auto AG Rothenburg 80.5%
747 trips · avg +1.7 min
-
Busbetrieb Solothurn und Umgebung 80.6%
749 trips · avg +1.7 min
-
Autobetrieb Sernftal 81.6%
114 trips · avg +2.1 min
-
Bus Nyon-Prangins 83.5%
346 trips · avg +1.7 min
-
Regionale Verkehrsbetriebe Baden-Wettingen 83.8%
1,383 trips · avg +1.7 min
-
Stadtbus Frauenfeld 84.3%
574 trips · avg +1.8 min
-
Regiobus Gossau SG 85.2%
670 trips · avg +1.5 min
-
Autolinea Mendrisiense 85.3%
374 trips · avg +1.3 min
-
Busbetrieb Aarau 85.8%
934 trips · avg +1.4 min
-
tl 86.7%
6,898 trips · avg +1.4 min
-
Autobus AG Liestal 86.7%
911 trips · avg +1.4 min
-
Forchbahn 86.7%
166 trips · avg +1.1 min
-
Busbetrieb Rapperswil-Eschenbach-Rüti ZH 87.1%
302 trips · avg +1.5 min
-
Bus und Service 87.2%
1,492 trips · avg +1.5 min
-
TPF 87.3%
2,912 trips · avg +1.1 min
Most punctual operators
-
Zentralbahn 99.7%
361 trips · avg +0.2 min
-
Aare Seeland mobil 99.7%
338 trips · avg +0.2 min
-
Stadtbus Winterthur 98.3%
1,933 trips · avg +0.4 min
-
Verkehrsbetrieb der Landschaft Davos 98.9%
366 trips · avg +0.3 min
-
Regionalverkehr Bern-Solothurn 98.5%
600 trips · avg +0.3 min
-
Automobildienst SZU 97.8%
1,772 trips · avg +0.5 min
-
RhB 98.5%
461 trips · avg +0.5 min
-
Transports de la région Morges-Bière-Cossonay 100%
104 trips · avg +0.1 min
Stations
The share of the departures less than 3 minutes late. A train station has departures of trains.
-
Zürich HB 95.6%
1,722 departures · avg +1.1 min
-
Bern 98%
1,057 departures · avg +0.7 min
-
Zürich Oerlikon 95.5%
920 departures · avg +1 min
-
Zürich Stadelhofen 93.4%
698 departures · avg +1.4 min
-
Winterthur 97.5%
678 departures · avg +1 min
-
Zürich Hardbrücke 88.5%
676 departures · avg +2 min
-
Olten 91.9%
595 departures · avg +1.2 min
-
St. Gallen 94.7%
526 departures · avg +1.2 min
-
Aarau 94.2%
513 departures · avg +1 min
-
Lausanne 89%
493 departures · avg +1.5 min
-
Renens VD 89.7%
487 departures · avg +1.4 min
-
Worblaufen 98.1%
475 departures · avg +0.8 min
-
Genève, gare Cornavin 80.7%
3,153 departures · avg +1.7 min
-
Genève, Bel-Air 82.5%
3,043 departures · avg +1.6 min
-
Bern, Bahnhof 96.7%
2,969 departures · avg +1 min
-
Luzern, Kantonalbank 75.9%
2,460 departures · avg +2.1 min
-
Basel, Schifflände 83.1%
2,271 departures · avg +1.8 min
-
Bern, Hirschengraben 92.5%
2,253 departures · avg +1.4 min
-
Bern, Zytglogge 94.5%
2,180 departures · avg +1.3 min
-
Luzern, Bahnhof 86.2%
2,139 departures · avg +1.5 min
-
Basel, Bahnhof SBB 90.8%
2,128 departures · avg +1.5 min
-
St. Gallen, Bahnhof 91.5%
2,106 departures · avg +1.2 min
-
Lausanne, Bel-Air 76.6%
2,100 departures · avg +2 min
-
Zürich, Central 86.5%
2,036 departures · avg +1.4 min
-
Dietikon Stoffelbach 57.9%
152 departures · avg +3.1 min
-
Zufikon 58.2%
153 departures · avg +2.8 min
-
Reppischhof 59.9%
152 departures · avg +2.8 min
-
110 departures · avg +2.6 min
-
Zufikon Hammergut 65.4%
153 departures · avg +2.4 min
-
Paradiso 68.5%
124 departures · avg +2.8 min
-
Magliaso Paese 68.9%
132 departures · avg +2.5 min
-
Lustmühle 69.4%
108 departures · avg +2.7 min
-
Rudolfstetten 69.7%
155 departures · avg +2.4 min
-
Agno 69.7%
132 departures · avg +2.4 min
-
Widen Heinrüti 69.9%
153 departures · avg +2.2 min
-
St. Gallen Notkersegg 70.9%
110 departures · avg +2.3 min
Largest delays
- Bus 1 Gebenstorf, Reuss – Würenlos, Bettlen Baden, Bahnhof Ostand 2 more trips of this line +95 min
- Bus 58 Renens VD, gare – Cossonay-Penthalaz, gare Cossonay, Centre +93 min
- Bus 3 Wettingen, Brunnenwiese – Baden, Grosse Bäder Wettingen, Brunnenwiese +91 min
- Bus 4 Prilly, Coudraie – Lausanne, Faverges Faverges +76 min
- Bus 190 Pfäffikon SZ, Bahnhof – Schindellegi-Feusisberg, Bhf. Pfäffikon SZ, Bahnhof +63 min
- Bus 440 Echallens, gare – Moudon, gare Moudon, gare +60 min
- Bus 5 Ennetbaden, Aeusserer Berg – Baden, Baldegg Baden, Baldegg +59 min
- Bus 68 Saint-Genis, Jean Monnet – Vernier, Blandonnet Saint-Genis, Jean Monnetand 3 more trips of this line +58 min
- Bus 22 Perlen, Fabrik – Ebikon, Bahnhof Ebikon, Bahnhofand 3 more trips of this line +57 min
- Bus 608 Chamues-ch, plaz – Cinuos-chel-Brail, staziun Zuoz, staziun +57 min
- Bus 33 Prilly, Mont-Goulin – St-Sulpice VD, Venoge nord Prilly Mt-Goulin +54 min
- Bus 422 Sierre/Siders,Place de la gare – Crans-Montana, Ycoor Sierre/Siders,Place de la gare +53 min
- Bus 321 Hohenems, Bahnhofand 3 more trips of this line +52 min
- Bus 613 Le Brassus, gare – Yverdon-les-Bains, gare Yverdon-les-Bains, gare +51 min
- Bus 300 Altstätten SG, Stadt – Buchs SG, Bahnhof Buchs SG, Bahnhof +50 min