Punctuality of Swiss public transportWednesday 15 April 2026
88.4% of 149,863 trips were on time. The share was lowest at 17:30: 70.3%. Of the busy lines, Bus 63 Käppelimatt b. Willisau – Sursee, Bahnhof had the lowest share on time: 24.2%.
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.
88.4%
+0.7 ptsDay before: 87.7% · 149,863 trips with live data
Average delay
+1.3 min
Canceled trips
565
0.4% 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 14 April
- Lowest points
The disruptions of this day were not recorded, so the chart cannot show its incidents.
By mode
-
Train 96%
14,351 trips · avg +0.7 min
-
Tram 82.9%
12,492 trips · avg +1.7 min
-
Bus 88.1%
122,288 trips · avg +1.3 min
-
Metro 92%
336 trips · avg +1.2 min
-
Boat 50.5%
396 trips · avg +3.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
-
66 trips · avg +4.5 min
-
56 trips · avg +4.4 min
-
Bus 101 Cormondrèche, Grand'Rue – Marin-Epagnier, gareCormondrèche, Grand'Rue – Marin-Epagnier, gare 26.6%
192 trips · avg +5.3 min
-
M2 Genève-Pâquis (lac) – Genève-Quai Gustave Ador (lac)Genève-Pâquis (lac) – Genève-Quai Gustave Ador (lac) 30.4%
148 trips · avg +4.9 min
-
104 trips · avg +9.2 min
-
148 trips · avg +5.1 min
-
149 trips · avg +4.1 min
-
157 trips · avg +3.9 min
Show 17 more
-
Bus 3 Canobbio, Mercato Resega – Breganzona, PostaCanobbio, Mercato Resega – Breganzona, Posta 49.1%
218 trips · avg +5.4 min
-
132 trips · avg +3.8 min
-
Bus 109 Neuchâtel, Place Pury – Neuchâtel, Trois-ChênesNeuchâtel, Place Pury – Neuchâtel, Trois-Chênes 49.5%
204 trips · avg +3.4 min
-
175 trips · avg +3.6 min
-
202 trips · avg +6.1 min
-
180 trips · avg +3.7 min
-
211 trips · avg +3.9 min
-
151 trips · avg +2.9 min
-
Bus 6 Lausanne, Maladière – Lausanne, Praz-SéchaudLausanne, Maladière – Lausanne, Praz-Séchaud 55.5%
200 trips · avg +4.1 min
-
48 trips · avg +2.9 min
-
Bus 898 Büren an der Aare, Bahnhof – Münchenbuchsee, BahnhofBüren an der Aare, Bahnhof – Münchenbuchsee, Bahnhof 56.9%
51 trips · avg +2.8 min
-
284 trips · avg +3.3 min
-
Bus 33 Zürich, Triemli – Zürich Tiefenbrunnen, BahnhofZürich, Triemli – Zürich Tiefenbrunnen, Bahnhof 58.6%
302 trips · avg +3.2 min
-
106 trips · avg +3 min
-
62 trips · avg +2.9 min
-
Bus 751 Stettbach, Bahnhof – Zürich, Kirche FlunternStettbach, Bahnhof – Zürich, Kirche Fluntern 60.4%
96 trips · avg +2.9 min
-
148 trips · avg +3.1 min
Most punctual busy lines
-
214 trips · avg +0.4 min
-
208 trips · avg +0.1 min
-
240 trips · avg +0.7 min
-
306 trips · avg +0.7 min
-
255 trips · avg +0.7 min
-
216 trips · avg +0.6 min
-
Bus 1 Winterthur, Oberwinterthur – Winterthur, TössWinterthur, Oberwinterthur – Winterthur, Töss 96.5%
285 trips · avg +0.8 min
-
Bus 101 Bern, Hauptbahnhof – Hinterkappelen, SchlossmattBern, Hauptbahnhof – Hinterkappelen, Schlossmatt 96%
277 trips · avg +0.7 min
Least punctual busy lines
-
68 trips · avg +8.9 min
-
107 trips · avg +4.3 min
-
75 trips · avg +2.3 min
-
120 trips · avg +1.2 min
-
66 trips · avg +1.1 min
-
82 trips · avg +1.3 min
-
41 trips · avg +1.1 min
-
160 trips · avg +1 min
Show 17 more
-
132 trips · avg +1.4 min
-
50 trips · avg +0.8 min
-
40 trips · avg +1.2 min
-
44 trips · avg +1.1 min
-
79 trips · avg +0.8 min
-
83 trips · avg +1 min
-
50 trips · avg +0.7 min
-
58 trips · avg +1.1 min
-
80 trips · avg +0.9 min
-
81 trips · avg +0.6 min
-
41 trips · avg +0.6 min
-
42 trips · avg +0.6 min
-
65 trips · avg +0.4 min
-
67 trips · avg +0.6 min
-
45 trips · avg +0.4 min
-
73 trips · avg +0.4 min
-
77 trips · avg +0.4 min
Most punctual busy lines
-
151 trips · avg +0.1 min
-
146 trips · avg +0.1 min
-
138 trips · avg +0.1 min
-
126 trips · avg +0.2 min
-
125 trips · avg +0 min
-
119 trips · avg +0.4 min
-
84 trips · avg +0.4 min
-
78 trips · avg +0 min
Least punctual busy lines
-
294 trips · avg +1.7 min
-
Tram 14 Basel, Dreirosenbrücke – Pratteln, SchlossstrasseBasel, Dreirosenbrücke – Pratteln, Schlossstrasse 72.5%
284 trips · avg +2.2 min
-
288 trips · avg +2.2 min
-
274 trips · avg +2.2 min
-
375 trips · avg +1.9 min
-
276 trips · avg +1.8 min
-
554 trips · avg +1.7 min
-
305 trips · avg +1.8 min
Show 8 more
-
304 trips · avg +1.3 min
-
298 trips · avg +1.6 min
-
284 trips · avg +1.1 min
-
Tram 51 Zürich Altstetten, Bahnhof N – Zürich, SeebachZürich Altstetten, Bahnhof N – Zürich, Seebach 93.8%
308 trips · avg +1 min
-
179 trips · avg +0.7 min
-
255 trips · avg +0.7 min
-
Tram 20 Killwangen, Bahnhof – Zürich Altstetten, BahnhofKillwangen, Bahnhof – Zürich Altstetten, Bahnhof 98.7%
155 trips · avg +0.9 min
-
142 trips · avg +0.1 min
Most punctual busy lines
-
142 trips · avg +0.1 min
-
Tram 20 Killwangen, Bahnhof – Zürich Altstetten, BahnhofKillwangen, Bahnhof – Zürich Altstetten, Bahnhof 98.7%
155 trips · avg +0.9 min
-
255 trips · avg +0.7 min
-
179 trips · avg +0.7 min
-
Tram 51 Zürich Altstetten, Bahnhof N – Zürich, SeebachZürich Altstetten, Bahnhof N – Zürich, Seebach 93.8%
308 trips · avg +1 min
-
284 trips · avg +1.1 min
-
298 trips · avg +1.6 min
-
304 trips · avg +1.3 min
Least punctual busy lines
-
66 trips · avg +4.5 min
-
56 trips · avg +4.4 min
-
Bus 101 Cormondrèche, Grand'Rue – Marin-Epagnier, gareCormondrèche, Grand'Rue – Marin-Epagnier, gare 26.6%
192 trips · avg +5.3 min
-
104 trips · avg +9.2 min
-
149 trips · avg +4.1 min
-
157 trips · avg +3.9 min
-
Bus 3 Canobbio, Mercato Resega – Breganzona, PostaCanobbio, Mercato Resega – Breganzona, Posta 49.1%
218 trips · avg +5.4 min
-
132 trips · avg +3.8 min
Show 17 more
-
Bus 109 Neuchâtel, Place Pury – Neuchâtel, Trois-ChênesNeuchâtel, Place Pury – Neuchâtel, Trois-Chênes 49.5%
204 trips · avg +3.4 min
-
175 trips · avg +3.6 min
-
202 trips · avg +6.1 min
-
180 trips · avg +3.7 min
-
211 trips · avg +3.9 min
-
151 trips · avg +2.9 min
-
Bus 6 Lausanne, Maladière – Lausanne, Praz-SéchaudLausanne, Maladière – Lausanne, Praz-Séchaud 55.5%
200 trips · avg +4.1 min
-
48 trips · avg +2.9 min
-
Bus 898 Büren an der Aare, Bahnhof – Münchenbuchsee, BahnhofBüren an der Aare, Bahnhof – Münchenbuchsee, Bahnhof 56.9%
51 trips · avg +2.8 min
-
284 trips · avg +3.3 min
-
Bus 33 Zürich, Triemli – Zürich Tiefenbrunnen, BahnhofZürich, Triemli – Zürich Tiefenbrunnen, Bahnhof 58.6%
302 trips · avg +3.2 min
-
106 trips · avg +3 min
-
62 trips · avg +2.9 min
-
Bus 751 Stettbach, Bahnhof – Zürich, Kirche FlunternStettbach, Bahnhof – Zürich, Kirche Fluntern 60.4%
96 trips · avg +2.9 min
-
148 trips · avg +3.1 min
-
299 trips · avg +4.2 min
-
96 trips · avg +2.7 min
Most punctual busy lines
-
214 trips · avg +0.4 min
-
201 trips · avg +0.8 min
-
240 trips · avg +0.7 min
-
194 trips · avg +0.7 min
-
216 trips · avg +0.6 min
-
Bus 1 Winterthur, Oberwinterthur – Winterthur, TössWinterthur, Oberwinterthur – Winterthur, Töss 96.5%
285 trips · avg +0.8 min
-
Bus 101 Bern, Hauptbahnhof – Hinterkappelen, SchlossmattBern, Hauptbahnhof – Hinterkappelen, Schlossmatt 96%
277 trips · avg +0.7 min
-
Bus 301 La Chaux-de-Fonds, Recorne – La Chaux-de-Fonds, ArêtesLa Chaux-de-Fonds, Recorne – La Chaux-de-Fonds, Arêtes 95.9%
194 trips · avg +0.4 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) 30.4%
148 trips · avg +4.9 min
-
148 trips · avg +5.1 min
-
50 trips · avg +0.4 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.6 min
Least punctual operators
-
Mouettes genevoises 50.5%
396 trips · avg +3.9 min
-
TPL 64.8%
1,613 trips · avg +3.3 min
-
Automobil Rottal 70.8%
456 trips · avg +2 min
-
TPG 70.9%
8,722 trips · avg +2.4 min
-
Autobetrieb Sernftal 72%
100 trips · avg +3.1 min
-
BVB 76%
4,833 trips · avg +2.1 min
-
VBL 78%
3,913 trips · avg +2 min
-
Bus und Service 79.8%
1,500 trips · avg +1.8 min
Show 17 more
-
Verkehrsbetrieb LIECHTENSTEINmobil 81.2%
892 trips · avg +1.7 min
-
Transports Publics Neuchâtelois 81.5%
2,763 trips · avg +1.6 min
-
Regionale Verkehrsbetriebe Baden-Wettingen 82.7%
1,384 trips · avg +2.8 min
-
VBZ 82.7%
16,923 trips · avg +1.7 min
-
tl 83.5%
6,417 trips · avg +2.4 min
-
Autolinea Mendrisiense 83.6%
373 trips · avg +1.3 min
-
Auto AG Rothenburg 85.3%
696 trips · avg +1.4 min
-
Matterhorn Gotthard Bahn 85.5%
311 trips · avg +2.1 min
-
Autolinee Regionali Luganesi 85.8%
225 trips · avg +1.1 min
-
Compagnie du chemin de fer Nyon - St-Cergue - Morez 86%
107 trips · avg +1.5 min
-
Sierre-Montana-Crans 86.6%
253 trips · avg +1.4 min
-
Stadtbus Frauenfeld 87.1%
573 trips · avg +1.6 min
-
Busbetrieb Solothurn und Umgebung 87.1%
736 trips · avg +1.3 min
-
TPF 88%
3,939 trips · avg +1.2 min
-
Busbetrieb Rapperswil-Eschenbach-Rüti ZH 88.1%
302 trips · avg +1.2 min
-
Autolinee Bleniesi 88.4%
164 trips · avg +1 min
-
Bamert Bus 88.7%
177 trips · avg +1.1 min
Most punctual operators
-
Regionalverkehr Bern-Solothurn 99.7%
605 trips · avg +0.1 min
-
Zentralbahn 99.7%
361 trips · avg +0.2 min
-
Sihltal-Zürich-Uetliberg-Bahn 99.4%
313 trips · avg +0.6 min
-
Schweizerische Südostbahn 98.8%
515 trips · avg +0.4 min
-
Lausanne-Echallens-Bercher 100%
138 trips · avg +0.1 min
-
THURBO 97.9%
1,093 trips · avg +0.3 min
-
Aare Seeland mobil 98.5%
337 trips · avg +0.3 min
-
Transports de la région Morges-Bière-Cossonay 100%
104 trips · avg +0 min
Stations
The share of the departures less than 3 minutes late. A train station has departures of trains.
-
Zürich HB 96.3%
1,727 departures · avg +1.1 min
-
Bern 96.5%
1,056 departures · avg +1 min
-
Zürich Oerlikon 95.5%
911 departures · avg +1.1 min
-
Zürich Stadelhofen 93.6%
692 departures · avg +1.3 min
-
Winterthur 96%
677 departures · avg +1 min
-
Zürich Hardbrücke 87.6%
669 departures · avg +2 min
-
Olten 95.3%
602 departures · avg +1.3 min
-
St. Gallen 94.1%
528 departures · avg +1.2 min
-
Aarau 97.3%
522 departures · avg +0.8 min
-
Lausanne 94.2%
496 departures · avg +1.2 min
-
Renens VD 96.1%
488 departures · avg +1.1 min
-
Worblaufen 99.8%
480 departures · avg +0.7 min
-
Genève, gare Cornavin 69.3%
2,645 departures · avg +2.4 min
-
Genève, Bel-Air 71.3%
2,636 departures · avg +2.4 min
-
Luzern, Kantonalbank 83.6%
2,451 departures · avg +1.9 min
-
Bern, Bahnhof 94.5%
2,429 departures · avg +1.2 min
-
Basel, Schifflände 80.7%
2,264 departures · avg +1.9 min
-
Zürich, Central 89.8%
2,236 departures · avg +1.3 min
-
Bern, Zytglogge 92.8%
2,207 departures · avg +1.4 min
-
Zürich, Bellevue 91.1%
2,144 departures · avg +1.3 min
-
Luzern, Bahnhof 90.8%
2,126 departures · avg +1.4 min
-
Basel, Bahnhof SBB 88.1%
2,122 departures · avg +1.6 min
-
2,096 departures · avg +1.2 min
-
1,960 departures · avg +1.4 min
-
Dietikon Stoffelbach 60.5%
152 departures · avg +2.9 min
-
Magliaso Paese 61.4%
132 departures · avg +2.8 min
-
Reppischhof 62.5%
152 departures · avg +2.6 min
-
Agno 64.4%
132 departures · avg +2.5 min
-
Zufikon 66%
153 departures · avg +2.6 min
-
Serocca 67.4%
132 departures · avg +2.3 min
-
Magliaso 70.5%
132 departures · avg +2.4 min
-
Zufikon Hammergut 70.6%
153 departures · avg +2.3 min
-
Muhen Nord 71.2%
153 departures · avg +1.8 min
-
Oberentfelden Engelplatz 71.2%
153 departures · avg +1.8 min
-
Rudolfstetten 71.6%
155 departures · avg +2.2 min
-
Widen Heinrüti 71.9%
153 departures · avg +2.2 min
Largest delays
- ICE Basel Bad Bfand 3 more trips of this line +258 min
- Bus 8 Corminboeuf, anc. poste – Marly, piscine Marly, piscineand 1 more trips of this line +232 min
- Bus 1 Gebenstorf, Reuss – Würenlos, Bettlen Würenlos, Bettlenand 2 more trips of this line +161 min
- Bus 3 Wettingen, Brunnenwiese +150 min
- Bus 1 Ebikon, Fildern – Obernau, Dorf Ebikon, Fildernand 1 more trips of this line +143 min
- EC Bregenz – Zürich HB Basel Bad Bf +122 min
›Probably errors in the feed (1)
Delays of more than 6 hours. The real-time feed sent them, but they are probably not real.
- Bus 7 Pully, Val-Vertand 6 more trips of this line +837 min