Punctuality of Swiss public transportThursday 16 April 2026
86.8% of 149,590 trips were on time. The share was lowest at 17:30: 67.2%. Of the busy lines, M2 Genève-Pâquis (lac) – Genève-Quai Gustave Ador (lac) had the lowest share on time: 19.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.
86.8%
−1.6 ptsDay before: 88.4% · 149,590 trips with live data
Average delay
+1.4 min
Canceled trips
575
0.4% of the trips
The day in numbers
From the timetable of the day, and its trips with live data.
Through the day
The share of the trips on their way that are less than 3 minutes late, every 10 minutes.
- ≥ 95%
- Dashed: Wednesday 15 April
- Lowest points
The disruptions of this day were not recorded, so the chart cannot show its incidents.
By mode
-
Train 94.3%
14,349 trips · avg +0.8 min
-
Tram 80.9%
12,441 trips · avg +1.9 min
-
Bus 86.6%
122,068 trips · avg +1.4 min
-
Metro 82.1%
336 trips · avg +1.8 min
-
Boat 45.5%
396 trips · avg +4.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
-
M2 Genève-Pâquis (lac) – Genève-Quai Gustave Ador (lac)Genève-Pâquis (lac) – Genève-Quai Gustave Ador (lac) 19.6%
148 trips · avg +6.1 min
-
159 trips · avg +5.9 min
-
148 trips · avg +5.1 min
-
149 trips · avg +4.2 min
-
66 trips · avg +3.3 min
-
175 trips · avg +5.2 min
-
112 trips · avg +4.9 min
-
57 trips · avg +3.9 min
Show 17 more
-
211 trips · avg +7.7 min
-
Bus 1 Lausanne, Blécherette – Ecublens VD, EPFL/ColladonLausanne, Blécherette – Ecublens VD, EPFL/Colladon 46.3%
246 trips · avg +5.2 min
-
129 trips · avg +3.7 min
-
Bus 6 Lausanne, Praz-Séchaud – Lausanne, MaladièreLausanne, Praz-Séchaud – Lausanne, Maladière 47.7%
199 trips · avg +5.5 min
-
Bus 107 Marin-Epagnier, gare – Neuchâtel, Place PuryMarin-Epagnier, gare – Neuchâtel, Place Pury 48.5%
196 trips · avg +3.4 min
-
175 trips · avg +3.4 min
-
Bus 16 Muzzano, Paese – Lugano, Stazione/Via BasileaMuzzano, Paese – Lugano, Stazione/Via Basilea 48.9%
45 trips · avg +4.3 min
-
Bus 444 Bremgarten AG, Obertorplatz – Zürich Enge, Bahnhof/Bederstr.Bremgarten AG, Obertorplatz – Zürich Enge, Bahnhof/Bederstr. 50%
44 trips · avg +3.3 min
-
59 trips · avg +2.9 min
-
151 trips · avg +3.3 min
-
Bus 7 Vernier, Lignon Tours – Vessy, Grands-EssertsVernier, Lignon Tours – Vessy, Grands-Esserts 51%
194 trips · avg +3.7 min
-
94 trips · avg +3.6 min
-
Bus 109 Neuchâtel, Place Pury – Neuchâtel, Trois-ChênesNeuchâtel, Place Pury – Neuchâtel, Trois-Chênes 51.5%
206 trips · avg +3.4 min
-
Bus 3 Canobbio, Mercato Resega – Breganzona, PostaCanobbio, Mercato Resega – Breganzona, Posta 51.8%
218 trips · avg +5.3 min
-
180 trips · avg +4 min
-
Bus 11 Genève, Jardin Botanique – Genève-Eaux-Vives, gareGenève, Jardin Botanique – Genève-Eaux-Vives, gare 52.6%
190 trips · avg +5.5 min
-
95 trips · avg +3.1 min
Most punctual busy lines
-
263 trips · avg +0.9 min
-
Bus 3 Winterthur, Oberseen – Winterthur, RosenbergWinterthur, Oberseen – Winterthur, Rosenberg 97.5%
284 trips · avg +0.6 min
-
287 trips · avg +0.6 min
-
244 trips · avg +0.7 min
-
Bus 781 Zürich Oerlikon, Bahnhof – Glattbrugg, GiebeleichstrasseZürich Oerlikon, Bahnhof – Glattbrugg, Giebeleichstrasse 95.5%
243 trips · avg +1 min
-
Bus 752 Stettbach, Bahnhof – Dübendorf, KunsteisbahnStettbach, Bahnhof – Dübendorf, Kunsteisbahn 95.5%
265 trips · avg +1 min
-
264 trips · avg +0.7 min
-
Bus 1 Winterthur, Oberwinterthur – Winterthur, TössWinterthur, Oberwinterthur – Winterthur, Töss 95.1%
286 trips · avg +0.9 min
Least punctual busy lines
-
68 trips · avg +9.8 min
-
72 trips · avg +2.6 min
-
73 trips · avg +2.6 min
-
65 trips · avg +1.6 min
-
62 trips · avg +1.7 min
-
40 trips · avg +1.3 min
-
66 trips · avg +1 min
-
83 trips · avg +1.4 min
Show 17 more
-
107 trips · avg +1.6 min
-
82 trips · avg +1.4 min
-
79 trips · avg +0.8 min
-
64 trips · avg +1.2 min
-
77 trips · avg +1.2 min
-
305 trips · avg +1.5 min
-
40 trips · avg +1.5 min
-
41 trips · avg +1.1 min
-
42 trips · avg +1 min
-
53 trips · avg +0.8 min
-
55 trips · avg +1.6 min
-
80 trips · avg +1 min
-
46 trips · avg +0.8 min
-
107 trips · avg +1.2 min
-
79 trips · avg +1.3 min
-
79 trips · avg +1 min
-
160 trips · avg +1 min
Most punctual busy lines
-
151 trips · avg +0.1 min
-
146 trips · avg +0.2 min
-
133 trips · avg +0.1 min
-
132 trips · avg +0.3 min
-
126 trips · avg +0.1 min
-
126 trips · avg +0.3 min
-
115 trips · avg +0.3 min
-
91 trips · avg +0.4 min
Least punctual busy lines
-
220 trips · avg +3.2 min
-
288 trips · avg +2.7 min
-
Tram 8 Weil am Rhein, Bahnhof/Zentrum – Basel, NeuweilerstrasseWeil am Rhein, Bahnhof/Zentrum – Basel, Neuweilerstrasse 64.1%
306 trips · avg +2.8 min
-
Tram 14 Basel, Dreirosenbrücke – Pratteln, SchlossstrasseBasel, Dreirosenbrücke – Pratteln, Schlossstrasse 67.3%
284 trips · avg +2.6 min
-
402 trips · avg +2.2 min
-
294 trips · avg +1.8 min
-
Tram 10 Zürich, Bahnhofstrasse/HB – Zürich Flughafen, FrachtZürich, Bahnhofstrasse/HB – Zürich Flughafen, Fracht 72.4%
279 trips · avg +2.1 min
-
299 trips · avg +2.2 min
Show 17 more
-
275 trips · avg +2.1 min
-
293 trips · avg +2.2 min
-
Tram 7 Zürich, Wollishoferplatz – Stettbach, BahnhofZürich, Wollishoferplatz – Stettbach, Bahnhof 79.1%
292 trips · avg +1.9 min
-
304 trips · avg +1.9 min
-
367 trips · avg +1.9 min
-
556 trips · avg +1.4 min
-
Tram 5 Zürich Stadelhofen, Bahnhof – Zürich, LaubeggZürich Stadelhofen, Bahnhof – Zürich, Laubegg 81.4%
226 trips · avg +1.6 min
-
307 trips · avg +1.7 min
-
276 trips · avg +1.8 min
-
298 trips · avg +1.8 min
-
Tram 13 Zürich, Bahnhofstrasse/HB – Zürich, AlbisgütliZürich, Bahnhofstrasse/HB – Zürich, Albisgütli 85.6%
382 trips · avg +1.5 min
-
Tram 15 Zürich Tiefenbrunnen, Bahnhof – Zürich, CentralZürich Tiefenbrunnen, Bahnhof – Zürich, Central 87.7%
284 trips · avg +1.4 min
-
Tram 11 Zürich Tiefenbrunnen, Bahnhof – Zürich, Bahnhofstrasse/HBZürich Tiefenbrunnen, Bahnhof – Zürich, Bahnhofstrasse/HB 88.1%
285 trips · avg +1.4 min
-
103 trips · avg +1.1 min
-
294 trips · avg +1.2 min
-
Tram 51 Zürich Altstetten, Bahnhof N – Zürich, SeebachZürich Altstetten, Bahnhof N – Zürich, Seebach 90.7%
301 trips · avg +1.3 min
-
312 trips · avg +0.9 min
Most punctual busy lines
-
142 trips · avg +0.1 min
-
263 trips · avg +0.9 min
-
Tram 20 Killwangen, Bahnhof – Zürich Altstetten, BahnhofKillwangen, Bahnhof – Zürich Altstetten, Bahnhof 96.1%
154 trips · avg +0.9 min
-
Tram 12 Zürich Flughafen, Fracht – Stettbach, BahnhofZürich Flughafen, Fracht – Stettbach, Bahnhof 95.3%
150 trips · avg +1.2 min
-
175 trips · avg +1 min
-
304 trips · avg +1.1 min
-
312 trips · avg +0.9 min
-
Tram 51 Zürich Altstetten, Bahnhof N – Zürich, SeebachZürich Altstetten, Bahnhof N – Zürich, Seebach 90.7%
301 trips · avg +1.3 min
Least punctual busy lines
-
159 trips · avg +5.9 min
-
149 trips · avg +4.2 min
-
66 trips · avg +3.3 min
-
175 trips · avg +5.2 min
-
112 trips · avg +4.9 min
-
57 trips · avg +3.9 min
-
211 trips · avg +7.7 min
-
Bus 1 Lausanne, Blécherette – Ecublens VD, EPFL/ColladonLausanne, Blécherette – Ecublens VD, EPFL/Colladon 46.3%
246 trips · avg +5.2 min
Show 17 more
-
129 trips · avg +3.7 min
-
Bus 6 Lausanne, Praz-Séchaud – Lausanne, MaladièreLausanne, Praz-Séchaud – Lausanne, Maladière 47.7%
199 trips · avg +5.5 min
-
Bus 107 Marin-Epagnier, gare – Neuchâtel, Place PuryMarin-Epagnier, gare – Neuchâtel, Place Pury 48.5%
196 trips · avg +3.4 min
-
175 trips · avg +3.4 min
-
Bus 16 Muzzano, Paese – Lugano, Stazione/Via BasileaMuzzano, Paese – Lugano, Stazione/Via Basilea 48.9%
45 trips · avg +4.3 min
-
Bus 444 Bremgarten AG, Obertorplatz – Zürich Enge, Bahnhof/Bederstr.Bremgarten AG, Obertorplatz – Zürich Enge, Bahnhof/Bederstr. 50%
44 trips · avg +3.3 min
-
59 trips · avg +2.9 min
-
151 trips · avg +3.3 min
-
Bus 7 Vernier, Lignon Tours – Vessy, Grands-EssertsVernier, Lignon Tours – Vessy, Grands-Esserts 51%
194 trips · avg +3.7 min
-
94 trips · avg +3.6 min
-
Bus 109 Neuchâtel, Place Pury – Neuchâtel, Trois-ChênesNeuchâtel, Place Pury – Neuchâtel, Trois-Chênes 51.5%
206 trips · avg +3.4 min
-
Bus 3 Canobbio, Mercato Resega – Breganzona, PostaCanobbio, Mercato Resega – Breganzona, Posta 51.8%
218 trips · avg +5.3 min
-
180 trips · avg +4 min
-
Bus 11 Genève, Jardin Botanique – Genève-Eaux-Vives, gareGenève, Jardin Botanique – Genève-Eaux-Vives, gare 52.6%
190 trips · avg +5.5 min
-
95 trips · avg +3.1 min
-
Bus 165 Rüschlikon, Park im Grüene – Zürich, BürkliplatzRüschlikon, Park im Grüene – Zürich, Bürkliplatz 53.8%
106 trips · avg +3 min
-
Bus 106 Neuchâtel, Place Pury – Neuchâtel,Vallon de l'ErmitageNeuchâtel, Place Pury – Neuchâtel,Vallon de l'Ermitage 54.3%
70 trips · avg +2.8 min
Most punctual busy lines
-
Bus 5 St. Gallen, Riethüsli – St. Gallen, RotmontenSt. Gallen, Riethüsli – St. Gallen, Rotmonten 99.5%
206 trips · avg +0.7 min
-
214 trips · avg +0.7 min
-
216 trips · avg +0.6 min
-
240 trips · avg +0.8 min
-
Bus 3 Winterthur, Oberseen – Winterthur, RosenbergWinterthur, Oberseen – Winterthur, Rosenberg 97.5%
284 trips · avg +0.6 min
-
287 trips · avg +0.6 min
-
Bus 3 Heimberg, Dornhalde – Allmendingen b.Thun,WendeplatzHeimberg, Dornhalde – Allmendingen b.Thun,Wendeplatz 96.6%
206 trips · avg +0.8 min
-
212 trips · avg +0.7 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) 19.6%
148 trips · avg +6.1 min
-
148 trips · avg +5.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.7 min
Least punctual operators
-
Mouettes genevoises 45.5%
396 trips · avg +4.4 min
-
TPL 64.1%
1,613 trips · avg +3.3 min
-
TPG 67.7%
8,709 trips · avg +2.8 min
-
VBL 69.3%
3,923 trips · avg +3.5 min
-
Autobetrieb Sernftal 74%
100 trips · avg +2.3 min
-
Automobil Rottal 74.9%
454 trips · avg +1.9 min
-
BVB 75.3%
4,830 trips · avg +2.1 min
-
Transports Publics Neuchâtelois 79%
2,778 trips · avg +1.8 min
Show 17 more
-
Bus und Service 79.4%
1,499 trips · avg +1.8 min
-
Verkehrsbetrieb LIECHTENSTEINmobil 79.8%
893 trips · avg +1.8 min
-
VBZ 79.9%
16,804 trips · avg +2 min
-
tl 80.3%
6,421 trips · avg +2 min
-
Regionale Verkehrsbetriebe Baden-Wettingen 83.4%
1,380 trips · avg +1.8 min
-
Autolinee Regionali Luganesi 83.5%
230 trips · avg +1.2 min
-
Busbetrieb Solothurn und Umgebung 83.8%
736 trips · avg +1.4 min
-
Autolinee FART 84%
727 trips · avg +1.3 min
-
Sierre-Montana-Crans 84%
257 trips · avg +1.5 min
-
Autolinea Mendrisiense 84.2%
374 trips · avg +1.2 min
-
Auto AG Rothenburg 85%
712 trips · avg +1.5 min
-
Autobus AG Liestal 85.7%
911 trips · avg +1.4 min
-
Busbetrieb Rapperswil-Eschenbach-Rüti ZH 86.1%
302 trips · avg +1.3 min
-
TPF 86.3%
3,939 trips · avg +1.2 min
-
Autolinee Bleniesi 87.7%
171 trips · avg +1.1 min
-
Montreux-Oberland Bernois 87.9%
132 trips · avg +1.5 min
-
Automobiles MBC 88%
1,174 trips · avg +1.1 min
Most punctual operators
-
Zentralbahn 100%
361 trips · avg +0.1 min
-
Aare Seeland mobil 100%
338 trips · avg +0.3 min
-
Regionalverkehr Bern-Solothurn 99.5%
606 trips · avg +0.2 min
-
Busbetrieb Grenchen und Umgebung 99.5%
382 trips · avg +0.5 min
-
Appenzeller Bahnen 99.4%
345 trips · avg +0.3 min
-
Verkehrsbetrieb der Landschaft Davos 98.9%
366 trips · avg +0.3 min
-
Lausanne-Echallens-Bercher 100%
133 trips · avg +0.1 min
-
Lugano-Ponte Tresa 100%
132 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 93.4%
1,724 departures · avg +1.3 min
-
Bern 97.8%
1,059 departures · avg +0.8 min
-
Zürich Oerlikon 93%
912 departures · avg +1.3 min
-
Zürich Stadelhofen 91.9%
691 departures · avg +1.5 min
-
Winterthur 95.1%
678 departures · avg +1.1 min
-
668 departures · avg +2.2 min
-
Olten 94.1%
598 departures · avg +1.2 min
-
St. Gallen 96%
528 departures · avg +1 min
-
Aarau 91.8%
514 departures · avg +1.1 min
-
Lausanne 89.5%
497 departures · avg +1.7 min
-
Renens VD 92.6%
488 departures · avg +1.2 min
-
Worblaufen 99.4%
480 departures · avg +0.8 min
-
2,635 departures · avg +2.7 min
-
Genève, Bel-Air 65.3%
2,622 departures · avg +3.2 min
-
Luzern, Kantonalbank 73.1%
2,459 departures · avg +3.4 min
-
Bern, Bahnhof 94.3%
2,439 departures · avg +1.1 min
-
Basel, Schifflände 80.7%
2,265 departures · avg +2 min
-
Zürich, Central 86.6%
2,243 departures · avg +1.6 min
-
Bern, Zytglogge 92.6%
2,200 departures · avg +1.4 min
-
Basel, Bahnhof SBB 84.9%
2,122 departures · avg +1.7 min
-
Zürich, Bellevue 87.7%
2,121 departures · avg +1.5 min
-
Luzern, Bahnhof 81%
2,119 departures · avg +3 min
-
St. Gallen, Bahnhof 93.2%
2,115 departures · avg +1.2 min
-
Lausanne, Bel-Air 63.1%
1,952 departures · avg +3.3 min
-
Dietikon Stoffelbach 53.3%
152 departures · avg +3.1 min
-
Reppischhof 55.9%
152 departures · avg +2.8 min
-
Paradiso 56.8%
125 departures · avg +4.1 min
-
Zufikon 59.5%
153 departures · avg +2.7 min
-
Como S. Giovanni 60.7%
117 departures · avg +3.9 min
-
Chiasso 62%
171 departures · avg +3.8 min
-
Rudolfstetten 64.5%
155 departures · avg +2.3 min
-
Rudolfstetten Hofacker 65.8%
152 departures · avg +2.1 min
-
Zufikon Hammergut 67.3%
153 departures · avg +2.4 min
-
Monthey-En Place 68.2%
110 departures · avg +2.5 min
-
S. Antonino 68.9%
161 departures · avg +2.9 min
-
Widen Heinrüti 69.3%
153 departures · avg +2.3 min
Largest delays
- Bus 1 Gebenstorf, Reuss – Würenlos, Bettlen Gebenstorf, Reuss +88 min
- Bus 6 Untersiggenthal, Mühleweg – Rütihof, Haberacher Untersiggenthal, Mühleweg +77 min
- EC Bregenz – Zürich HB Genève +74 min
- Tram 17 Annemasse, Parc Montessuitand 5 more trips of this line +70 min
- Bus 21 Lausanne, Blécherette – Paudex, Verrière Paudex, Verrière +65 min
- RJX Zürich HB +62 min
- Bus 48 Confignon, croisée – Plan-les-Ouates, ZIPLO Confignon, croiséeand 4 more trips of this line +58 min
- Tram 2 Basel, Eglisee – Binningen, Kronenplatz Binningen, Kronenplatz +58 min
- ICE Churand 1 more trips of this line +56 min
- Bus 541 Elm, Sportbahnen – Schwanden GL, Bahnhof Schwanden GL, Bahnhof +55 min
- Bus 14 Luzern, Brüelstrasse – Horw, Zentrum Luzern, Brüelstrasseand 1 more trips of this line +54 min
- Bus 60 Genève, gare Cornavin +54 min
- Bus 106 Sissach, Bahnhof – Wintersingen, Blumatt Sissach, Bahnhof +53 min
- Tram 12 Thônex, Moillesulazand 7 more trips of this line +53 min
- Bus 321 Hohenems, Bahnhof +52 min