Punctuality of Swiss public transportSaturday 21 February 2026
90.9% of 122,052 trips were on time. The share was lowest at 14:00: 83.4%. Of the busy lines, M2 Genève-Pâquis (lac) – Genève-Quai Gustave Ador (lac) had the lowest share on time: 11.5%.
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.
90.9%
+2.4 ptsDay before: 88.6% · 122,052 trips with live data
Average delay
+1.1 min
Canceled trips
436
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: Friday 20 February
- Lowest points
The disruptions of this day were not recorded, so the chart cannot show its incidents.
By mode
-
Train 93.9%
13,475 trips · avg +0.9 min
-
Tram 88.2%
10,621 trips · avg +1.3 min
-
Bus 90.9%
97,422 trips · avg +1.1 min
-
Metro 100%
278 trips · avg +0.8 min
-
Boat 41.4%
256 trips · avg +4.7 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) 11.5%
96 trips · avg +7.3 min
-
96 trips · avg +5 min
-
Bus 301 Davos Glaris, Ortolfi – Davos Laret, LandhausDavos Glaris, Ortolfi – Davos Laret, Landhaus 37%
135 trips · avg +6.7 min
-
104 trips · avg +5.9 min
-
Bus 101 Marin-Epagnier, gare – Cormondrèche, Grand'RueMarin-Epagnier, gare – Cormondrèche, Grand'Rue 40.4%
183 trips · avg +3.6 min
-
Bus 903 Kreuzlingen, Ribistrasse – Kreuzlingen, KonstanzerstrasseKreuzlingen, Ribistrasse – Kreuzlingen, Konstanzerstrasse 43.9%
41 trips · avg +3.6 min
-
50 trips · avg +3.4 min
-
149 trips · avg +3.2 min
Show 17 more
-
148 trips · avg +3.3 min
-
74 trips · avg +3.1 min
-
Bus 310 La Chaux-de-Fonds, Sombaille – La Chaux-de-Fonds, gareLa Chaux-de-Fonds, Sombaille – La Chaux-de-Fonds, gare 57.1%
42 trips · avg +3.2 min
-
Bus 3 Biel/Bienne, Mösliacker/Pt-Mar – Biel/Bienne, Vorhölzli/Bois-DvBiel/Bienne, Mösliacker/Pt-Mar – Biel/Bienne, Vorhölzli/Bois-Dv 57.6%
125 trips · avg +2.8 min
-
80 trips · avg +3.5 min
-
Bus 811 Zernez, staziun – Mals, Bahnhof/Malles, stazioneZernez, staziun – Mals, Bahnhof/Malles, stazione 59.1%
44 trips · avg +6.3 min
-
61 trips · avg +2.5 min
-
61 trips · avg +2.7 min
-
Bus 43 Plan-les-Ouates, Bellins – Bernex, Loëx HôpitalPlan-les-Ouates, Bellins – Bernex, Loëx Hôpital 60.7%
117 trips · avg +3.4 min
-
Bus 109 Neuchâtel, Place Pury – Neuchâtel, Trois-ChênesNeuchâtel, Place Pury – Neuchâtel, Trois-Chênes 60.9%
184 trips · avg +2.6 min
-
71 trips · avg +4.2 min
-
41 trips · avg +2.5 min
-
47 trips · avg +2.8 min
-
116 trips · avg +2.2 min
-
Bus 22 Carouge GE, Rondeau – Genève, Jardin BotaniqueCarouge GE, Rondeau – Genève, Jardin Botanique 64.9%
131 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 65.6%
64 trips · avg +2.1 min
-
Bus 1 Marly, Gérine – Granges-Paccot, P. de-FribourgMarly, Gérine – Granges-Paccot, P. de-Fribourg 66.8%
205 trips · avg +2.5 min
Most punctual busy lines
-
301 trips · avg +0.5 min
-
278 trips · avg +0.8 min
-
210 trips · avg +0.2 min
-
204 trips · avg +0.8 min
-
Bus 30 Basel, Badischer Bahnhof – Basel, Bahnhof SBBBasel, Badischer Bahnhof – Basel, Bahnhof SBB 97.8%
278 trips · avg +0.6 min
-
Bus 3 Winterthur, Oberseen – Winterthur, RosenbergWinterthur, Oberseen – Winterthur, Rosenberg 97.8%
224 trips · avg +0.6 min
-
293 trips · avg +0.8 min
-
Bus 3 Heimberg, Dornhalde – Allmendingen b.Thun,WendeplatzHeimberg, Dornhalde – Allmendingen b.Thun,Wendeplatz 96.2%
184 trips · avg +0.7 min
Least punctual busy lines
-
116 trips · avg +2.2 min
-
57 trips · avg +2.1 min
-
71 trips · avg +2.2 min
-
108 trips · avg +1.8 min
-
80 trips · avg +1.5 min
-
59 trips · avg +3.9 min
-
51 trips · avg +2 min
-
97 trips · avg +5.6 min
Show 17 more
-
68 trips · avg +1.5 min
-
41 trips · avg +1.1 min
-
77 trips · avg +1.9 min
-
42 trips · avg +1 min
-
43 trips · avg +1.9 min
-
79 trips · avg +1.5 min
-
74 trips · avg +2 min
-
53 trips · avg +0.9 min
-
69 trips · avg +0.6 min
-
46 trips · avg +0.9 min
-
93 trips · avg +0.7 min
-
54 trips · avg +1.6 min
-
82 trips · avg +1 min
-
41 trips · avg +1.2 min
-
78 trips · avg +1.4 min
-
83 trips · avg +0.6 min
-
76 trips · avg +0.9 min
Most punctual busy lines
-
301 trips · avg +0.5 min
-
152 trips · avg +0.2 min
-
79 trips · avg +0.7 min
-
78 trips · avg +0.3 min
-
77 trips · avg +0.3 min
-
77 trips · avg +0.5 min
-
76 trips · avg +0 min
-
66 trips · avg +0.2 min
Least punctual busy lines
-
266 trips · avg +1.6 min
-
258 trips · avg +2.8 min
-
277 trips · avg +2 min
-
Tram 14 Basel, Dreirosenbrücke – Pratteln, SchlossstrasseBasel, Dreirosenbrücke – Pratteln, Schlossstrasse 78.6%
276 trips · avg +2 min
-
Tram 8 Bern Brünnen Westside, Bahnhof – Bern, SaaliBern Brünnen Westside, Bahnhof – Bern, Saali 80.8%
365 trips · avg +1.9 min
-
301 trips · avg +1.7 min
-
302 trips · avg +1.6 min
-
257 trips · avg +2.1 min
Show 17 more
-
269 trips · avg +1.5 min
-
282 trips · avg +1.5 min
-
198 trips · avg +1.2 min
-
266 trips · avg +1.2 min
-
250 trips · avg +1.4 min
-
290 trips · avg +1.3 min
-
Tram 13 Zürich, Bahnhofstrasse/HB – Zürich, AlbisgütliZürich, Bahnhofstrasse/HB – Zürich, Albisgütli 91.3%
275 trips · avg +1.2 min
-
258 trips · avg +1.1 min
-
Tram 51 Zürich Altstetten, Bahnhof N – Zürich, SeebachZürich Altstetten, Bahnhof N – Zürich, Seebach 92.4%
290 trips · avg +1 min
-
268 trips · avg +1.3 min
-
168 trips · avg +1.2 min
-
269 trips · avg +0.8 min
-
Tram 15 Zürich Tiefenbrunnen, Bahnhof – Zürich, CentralZürich Tiefenbrunnen, Bahnhof – Zürich, Central 94.3%
265 trips · avg +1 min
-
263 trips · avg +0.8 min
-
Tram 12 Zürich Flughafen, Fracht – Stettbach, BahnhofZürich Flughafen, Fracht – Stettbach, Bahnhof 96.8%
154 trips · avg +1.1 min
-
293 trips · avg +0.8 min
-
Tram 20 Killwangen, Bahnhof – Zürich Altstetten, BahnhofKillwangen, Bahnhof – Zürich Altstetten, Bahnhof 98.7%
155 trips · avg +0.8 min
Most punctual busy lines
-
138 trips · avg +0.1 min
-
132 trips · avg +0.3 min
-
Tram 20 Killwangen, Bahnhof – Zürich Altstetten, BahnhofKillwangen, Bahnhof – Zürich Altstetten, Bahnhof 98.7%
155 trips · avg +0.8 min
-
293 trips · avg +0.8 min
-
Tram 12 Zürich Flughafen, Fracht – Stettbach, BahnhofZürich Flughafen, Fracht – Stettbach, Bahnhof 96.8%
154 trips · avg +1.1 min
-
263 trips · avg +0.8 min
-
Tram 15 Zürich Tiefenbrunnen, Bahnhof – Zürich, CentralZürich Tiefenbrunnen, Bahnhof – Zürich, Central 94.3%
265 trips · avg +1 min
-
269 trips · avg +0.8 min
Least punctual busy lines
-
Bus 301 Davos Glaris, Ortolfi – Davos Laret, LandhausDavos Glaris, Ortolfi – Davos Laret, Landhaus 37%
135 trips · avg +6.7 min
-
104 trips · avg +5.9 min
-
Bus 101 Marin-Epagnier, gare – Cormondrèche, Grand'RueMarin-Epagnier, gare – Cormondrèche, Grand'Rue 40.4%
183 trips · avg +3.6 min
-
Bus 903 Kreuzlingen, Ribistrasse – Kreuzlingen, KonstanzerstrasseKreuzlingen, Ribistrasse – Kreuzlingen, Konstanzerstrasse 43.9%
41 trips · avg +3.6 min
-
50 trips · avg +3.4 min
-
149 trips · avg +3.2 min
-
148 trips · avg +3.3 min
-
74 trips · avg +3.1 min
Show 17 more
-
Bus 310 La Chaux-de-Fonds, Sombaille – La Chaux-de-Fonds, gareLa Chaux-de-Fonds, Sombaille – La Chaux-de-Fonds, gare 57.1%
42 trips · avg +3.2 min
-
Bus 3 Biel/Bienne, Mösliacker/Pt-Mar – Biel/Bienne, Vorhölzli/Bois-DvBiel/Bienne, Mösliacker/Pt-Mar – Biel/Bienne, Vorhölzli/Bois-Dv 57.6%
125 trips · avg +2.8 min
-
80 trips · avg +3.5 min
-
Bus 811 Zernez, staziun – Mals, Bahnhof/Malles, stazioneZernez, staziun – Mals, Bahnhof/Malles, stazione 59.1%
44 trips · avg +6.3 min
-
61 trips · avg +2.5 min
-
61 trips · avg +2.7 min
-
Bus 43 Plan-les-Ouates, Bellins – Bernex, Loëx HôpitalPlan-les-Ouates, Bellins – Bernex, Loëx Hôpital 60.7%
117 trips · avg +3.4 min
-
Bus 109 Neuchâtel, Place Pury – Neuchâtel, Trois-ChênesNeuchâtel, Place Pury – Neuchâtel, Trois-Chênes 60.9%
184 trips · avg +2.6 min
-
71 trips · avg +4.2 min
-
41 trips · avg +2.5 min
-
47 trips · avg +2.8 min
-
Bus 22 Carouge GE, Rondeau – Genève, Jardin BotaniqueCarouge GE, Rondeau – Genève, Jardin Botanique 64.9%
131 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 65.6%
64 trips · avg +2.1 min
-
Bus 1 Marly, Gérine – Granges-Paccot, P. de-FribourgMarly, Gérine – Granges-Paccot, P. de-Fribourg 66.8%
205 trips · avg +2.5 min
-
Bus 28 Petit-Lancy, Les Esserts – Grand-Saconnex, Tunnel RoutierPetit-Lancy, Les Esserts – Grand-Saconnex, Tunnel Routier 66.9%
121 trips · avg +2.9 min
-
Bus 33 Prilly, Mont-Goulin – St-Sulpice VD, Venoge nordPrilly, Mont-Goulin – St-Sulpice VD, Venoge nord 68.2%
154 trips · avg +2.2 min
-
Bus 54 Versoix, Centre sportif – Vernier, ParfumerieVersoix, Centre sportif – Vernier, Parfumerie 69.1%
68 trips · avg +3 min
Most punctual busy lines
-
183 trips · avg +0.4 min
-
180 trips · avg +0.3 min
-
167 trips · avg +0.3 min
-
167 trips · avg +0.4 min
-
Bus 301 La Chaux-de-Fonds, Recorne – La Chaux-de-Fonds, ArêtesLa Chaux-de-Fonds, Recorne – La Chaux-de-Fonds, Arêtes 100%
158 trips · avg +0.4 min
-
210 trips · avg +0.2 min
-
Bus 6 Schaffhausen, Buchthalen – Schaffhausen, FalkeneckSchaffhausen, Buchthalen – Schaffhausen, Falkeneck 99.4%
171 trips · avg +0.6 min
-
Bus 1 Schaffhausen, Waldfriedhof – Neuhausen, HerbstäckerSchaffhausen, Waldfriedhof – Neuhausen, Herbstäcker 98.9%
181 trips · avg +0.5 min
Least punctual operators
-
Mouettes genevoises 41.4%
256 trips · avg +4.7 min
-
Verkehrsbetrieb der Landschaft Davos 47.6%
397 trips · avg +4.9 min
-
Wengernalpbahn 67.9%
156 trips · avg +2.5 min
-
Berner Oberland-Bahnen 69.5%
128 trips · avg +2.2 min
-
Matterhorn Gotthard Bahn 71.8%
344 trips · avg +2.2 min
-
Busbetrieb Rapperswil-Eschenbach-Rüti ZH 76.4%
242 trips · avg +2.3 min
-
RhB 78.6%
510 trips · avg +2.1 min
-
Bus Sierrois 80.3%
193 trips · avg +1.7 min
Show 17 more
-
Bus und Service 81.4%
1,385 trips · avg +1.8 min
-
Verkehrsbetriebe Biel 81.4%
1,237 trips · avg +1.6 min
-
BVB 81.4%
4,236 trips · avg +1.8 min
-
TPL 81.4%
1,218 trips · avg +1.5 min
-
Transports Publics Neuchâtelois 81.7%
2,154 trips · avg +1.6 min
-
Verkehrsbetrieb LIECHTENSTEINmobil 82.5%
510 trips · avg +1.8 min
-
Autolinee Bleniesi 83.1%
124 trips · avg +2.5 min
-
TPG 83.1%
7,095 trips · avg +1.6 min
-
Automobildienste Aare Seeland mobil 84%
482 trips · avg +2.6 min
-
Sierre-Montana-Crans 84.8%
276 trips · avg +1.6 min
-
Regionalps 87%
162 trips · avg +1.2 min
-
Verkehrsbetriebe Kreuzlingen 87.4%
348 trips · avg +1.3 min
-
Auto AG Rothenburg 87.4%
722 trips · avg +1.3 min
-
Transports Publics du Chablais 87.5%
1,047 trips · avg +1.3 min
-
VBL 87.6%
3,377 trips · avg +1.4 min
-
Bernmobil 88%
4,735 trips · avg +1.4 min
-
Stadtbus Frauenfeld 88.4%
456 trips · avg +1.5 min
Most punctual operators
-
BLT 98.5%
2,038 trips · avg +0.5 min
-
Zentralbahn 99.4%
317 trips · avg +0.2 min
-
Sihltal-Zürich-Uetliberg-Bahn 99.6%
234 trips · avg +0.4 min
-
Aare Seeland mobil 99.3%
299 trips · avg +0.3 min
-
Auto AG Schwyz 98.6%
666 trips · avg +0.2 min
-
Zugerland Verkehrsbetriebe 97.8%
2,465 trips · avg +0.5 min
-
BLS 98%
1,372 trips · avg +0.5 min
-
Automobildienst SZU 97.8%
1,472 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 92.5%
1,598 departures · avg +1.2 min
-
Bern 98.2%
967 departures · avg +0.8 min
-
Zürich Oerlikon 93.3%
764 departures · avg +1.2 min
-
Zürich Stadelhofen 89.5%
702 departures · avg +1.6 min
-
Winterthur 94.9%
625 departures · avg +1 min
-
Olten 95.4%
615 departures · avg +1.1 min
-
Zürich Hardbrücke 87.6%
613 departures · avg +2.1 min
-
Lausanne 95.1%
528 departures · avg +1.2 min
-
Aarau 97.5%
526 departures · avg +0.7 min
-
Renens VD 96.7%
516 departures · avg +0.8 min
-
St. Gallen 92.7%
490 departures · avg +1.2 min
-
Luzern 100%
450 departures · avg +0.6 min
-
Bern, Bahnhof 91.2%
2,475 departures · avg +1.3 min
-
Genève, gare Cornavin 88.3%
2,328 departures · avg +1.3 min
-
Genève, Bel-Air 87.1%
2,283 departures · avg +1.4 min
-
Luzern, Kantonalbank 89.9%
2,157 departures · avg +1.4 min
-
Basel, Schifflände 87.9%
2,074 departures · avg +1.6 min
-
Bern, Hirschengraben 91.4%
2,026 departures · avg +1.5 min
-
Zürich, Central 93.4%
1,989 departures · avg +1.1 min
-
Lausanne, Bel-Air 84.2%
1,917 departures · avg +1.7 min
-
Luzern, Bahnhof 95.3%
1,876 departures · avg +1 min
-
Zürich, Bellevue 92.3%
1,850 departures · avg +1.3 min
-
Basel, Bahnhof SBB 92.2%
1,836 departures · avg +1.4 min
-
Basel, Barfüsserplatz 88.8%
1,770 departures · avg +1.6 min
-
Täsch 65%
120 departures · avg +2.7 min
-
Matten b. Interlaken 70.6%
126 departures · avg +2.7 min
-
Wilderswil 71.4%
126 departures · avg +2.6 min
-
Payerne 73.9%
115 departures · avg +2.4 min
-
Zweilütschinen 73.9%
119 departures · avg +2.2 min
-
Muhen Nord 74.8%
151 departures · avg +1.5 min
-
Oberentfelden Engelplatz 74.8%
151 departures · avg +1.5 min
-
Kilchberg ZH 77%
161 departures · avg +1.9 min
-
Rüschlikon 78.9%
161 departures · avg +1.9 min
-
Zürich Wollishofen 79.5%
161 departures · avg +1.9 min
-
Como S. Giovanni 80.7%
119 departures · avg +2.3 min
-
Maienfeld 81.1%
148 departures · avg +2.2 min
Largest delays
- S17 Dietikon – Wohlen AG Bremgarten West +122 min
- Bus 142 Fiesch, Bahnhof – Oberwald VS, Schulhaus Fiesch, Bahnhofand 1 more trips of this line +76 min
- Bus 250 Schwenden i.D., Grimmialp – Oey-Diemtigen, Bahnhof Schwenden i.D., Grimmialp +64 min
- EC Bregenz – Zürich HB Zürich HB +61 min
- RJX Zürich HBand 1 more trips of this line +58 min
- N1 Grand-Mont +56 min
- Bus 118 Fidaz, Bargis +56 min
- Bus 405 Ilanz, Bahnhof/Post – Riein, vitg Riein, vitg +56 min
- Bus 11 Sargans, Bahnhof – Feldkirch, Bahnhof Feldkirch, Bahnhof +56 min
- Bus 74 Biel/Bienne, Bahnhof/Gare – Lyss, Bahnhof Lyss, Bahnhofand 1 more trips of this line +56 min
- Bus 552 Andeer, Heilbad – Avers, Juf Avers, Juf +54 min
- Bus 424 Ilanz, Bahnhof/Post – Andiast, vitg Andiast, vitg +54 min
- Bus 923 Sent, Sur En +53 min
- Bus 183 Davos Platz, Bahnhof – Lenzerheide/Lai, Post Davos Platz, Bahnhof +53 min
- Bus 182 Chur, Postautostation – Lenzerheide/Lai, Post Savognin, pendicularas/Bahnen +52 min