Punctuality of Swiss public transportWednesday 8 July 2026
87.5% of 150,492 trips were on time. The share was lowest at 17:30: 73.1%. Of the busy lines, Bus 101 Cormondrèche, Grand'Rue – Marin-Epagnier, gare had the lowest share on time: 15.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.
87.5%
+0.3 ptsDay before: 87.1% · 150,492 trips with live data
Average delay
+1.3 min
Canceled trips
887
0.6% 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 7 July
- Lowest points
The disruptions of this day were not recorded, so the chart cannot show its incidents.
By mode
-
Train 94.7%
14,266 trips · avg +0.8 min
-
Tram 80.8%
13,003 trips · avg +2 min
-
Bus 87.5%
122,480 trips · avg +1.3 min
-
Metro 95.7%
299 trips · avg +1.4 min
-
Boat 57.4%
444 trips · avg +3.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 Cormondrèche, Grand'Rue – Marin-Epagnier, gareCormondrèche, Grand'Rue – Marin-Epagnier, gare 15.5%
194 trips · avg +6 min
-
99 trips · avg +6.7 min
-
122 trips · avg +6.5 min
-
96 trips · avg +6.4 min
-
94 trips · avg +7.8 min
-
212 trips · avg +7 min
-
215 trips · avg +5.8 min
-
Bus 165 Rüschlikon, Park im Grüene – Zürich, BürkliplatzRüschlikon, Park im Grüene – Zürich, Bürkliplatz 40.7%
108 trips · avg +4.2 min
Show 17 more
-
152 trips · avg +4.2 min
-
Bus 68 Thoiry, Centre commercial – Vernier, BlandonnetThoiry, Centre commercial – Vernier, Blandonnet 41.7%
139 trips · avg +4.9 min
-
M2 Genève-Pâquis (lac) – Genève-Quai Gustave Ador (lac)Genève-Pâquis (lac) – Genève-Quai Gustave Ador (lac) 42.8%
166 trips · avg +4.4 min
-
Bus 109 Neuchâtel, Place Pury – Neuchâtel, Trois-ChênesNeuchâtel, Place Pury – Neuchâtel, Trois-Chênes 43.7%
206 trips · avg +3.4 min
-
166 trips · avg +4.2 min
-
116 trips · avg +4.4 min
-
Bus 6 Lausanne, Maladière – Lausanne, Praz-SéchaudLausanne, Maladière – Lausanne, Praz-Séchaud 45.5%
200 trips · avg +5.3 min
-
48 trips · avg +3.7 min
-
Bus 163 Kilchberg ZH, Bahnhof – Kilchberg ZH, Schlimbergstr.Kilchberg ZH, Bahnhof – Kilchberg ZH, Schlimbergstr. 47.4%
76 trips · avg +3.2 min
-
76 trips · avg +4.4 min
-
Bus 16 Lausanne, Grand Vennes – Lausanne, Provence nordLausanne, Grand Vennes – Lausanne, Provence nord 49.7%
151 trips · avg +4.1 min
-
98 trips · avg +5 min
-
Bus 33 Zürich, Triemli – Zürich Tiefenbrunnen, BahnhofZürich, Triemli – Zürich Tiefenbrunnen, Bahnhof 57%
298 trips · avg +3.3 min
-
151 trips · avg +2.8 min
-
221 trips · avg +3.1 min
-
Bus 122 Grindelwald, Gletscherschlucht – Grindelwald, KlusiGrindelwald, Gletscherschlucht – Grindelwald, Klusi 60%
45 trips · avg +3.2 min
-
78 trips · avg +2.6 min
Most punctual busy lines
-
210 trips · avg +0.5 min
-
216 trips · avg +0.5 min
-
240 trips · avg +0.9 min
-
208 trips · avg +0.3 min
-
304 trips · avg +0.9 min
-
257 trips · avg +0.9 min
-
337 trips · avg +1 min
-
Bus 1 Schaffhausen, Waldfriedhof – Neuhausen, HerbstäckerSchaffhausen, Waldfriedhof – Neuhausen, Herbstäcker 95.2%
207 trips · avg +0.9 min
Least punctual busy lines
-
62 trips · avg +7.7 min
-
53 trips · avg +2.7 min
-
79 trips · avg +2 min
-
41 trips · avg +1.6 min
-
76 trips · avg +1.8 min
-
40 trips · avg +2 min
-
58 trips · avg +1.4 min
-
119 trips · avg +1.6 min
Show 17 more
-
78 trips · avg +1.2 min
-
83 trips · avg +1.5 min
-
58 trips · avg +1.3 min
-
132 trips · avg +0.8 min
-
105 trips · avg +1.2 min
-
68 trips · avg +1 min
-
42 trips · avg +0.9 min
-
85 trips · avg +1.3 min
-
68 trips · avg +0.7 min
-
71 trips · avg +0.8 min
-
48 trips · avg +0.9 min
-
49 trips · avg +0.7 min
-
74 trips · avg +1.2 min
-
116 trips · avg +1.1 min
-
44 trips · avg +0.7 min
-
47 trips · avg +0.8 min
-
48 trips · avg +0.7 min
Most punctual busy lines
-
119 trips · avg +0.3 min
-
91 trips · avg +0.3 min
-
80 trips · avg +0.3 min
-
79 trips · avg +0.4 min
-
79 trips · avg +0 min
-
78 trips · avg +0 min
-
76 trips · avg +0.6 min
-
75 trips · avg +0.2 min
Least punctual busy lines
-
277 trips · avg +2.2 min
-
274 trips · avg +2.4 min
-
281 trips · avg +2.7 min
-
278 trips · avg +1.9 min
-
255 trips · avg +1.9 min
-
508 trips · avg +1.5 min
-
374 trips · avg +1.8 min
-
172 trips · avg +2 min
Show 9 more
-
284 trips · avg +1.5 min
-
269 trips · avg +1.2 min
-
302 trips · avg +1.4 min
-
264 trips · avg +1.6 min
-
Tram 51 Zürich Altstetten, Bahnhof N – Zürich, SeebachZürich Altstetten, Bahnhof N – Zürich, Seebach 91.5%
284 trips · avg +1.2 min
-
255 trips · avg +0.8 min
-
264 trips · avg +1.3 min
-
257 trips · avg +0.9 min
-
Tram 20 Killwangen, Bahnhof – Zürich Altstetten, BahnhofKillwangen, Bahnhof – Zürich Altstetten, Bahnhof 96.8%
155 trips · avg +0.9 min
Most punctual busy lines
-
Tram 20 Killwangen, Bahnhof – Zürich Altstetten, BahnhofKillwangen, Bahnhof – Zürich Altstetten, Bahnhof 96.8%
155 trips · avg +0.9 min
-
257 trips · avg +0.9 min
-
264 trips · avg +1.3 min
-
255 trips · avg +0.8 min
-
Tram 51 Zürich Altstetten, Bahnhof N – Zürich, SeebachZürich Altstetten, Bahnhof N – Zürich, Seebach 91.5%
284 trips · avg +1.2 min
-
264 trips · avg +1.6 min
-
302 trips · avg +1.4 min
-
269 trips · avg +1.2 min
Least punctual busy lines
-
Bus 101 Cormondrèche, Grand'Rue – Marin-Epagnier, gareCormondrèche, Grand'Rue – Marin-Epagnier, gare 15.5%
194 trips · avg +6 min
-
99 trips · avg +6.7 min
-
122 trips · avg +6.5 min
-
96 trips · avg +6.4 min
-
94 trips · avg +7.8 min
-
212 trips · avg +7 min
-
215 trips · avg +5.8 min
-
Bus 165 Rüschlikon, Park im Grüene – Zürich, BürkliplatzRüschlikon, Park im Grüene – Zürich, Bürkliplatz 40.7%
108 trips · avg +4.2 min
Show 17 more
-
152 trips · avg +4.2 min
-
Bus 68 Thoiry, Centre commercial – Vernier, BlandonnetThoiry, Centre commercial – Vernier, Blandonnet 41.7%
139 trips · avg +4.9 min
-
Bus 109 Neuchâtel, Place Pury – Neuchâtel, Trois-ChênesNeuchâtel, Place Pury – Neuchâtel, Trois-Chênes 43.7%
206 trips · avg +3.4 min
-
116 trips · avg +4.4 min
-
Bus 6 Lausanne, Maladière – Lausanne, Praz-SéchaudLausanne, Maladière – Lausanne, Praz-Séchaud 45.5%
200 trips · avg +5.3 min
-
48 trips · avg +3.7 min
-
Bus 163 Kilchberg ZH, Bahnhof – Kilchberg ZH, Schlimbergstr.Kilchberg ZH, Bahnhof – Kilchberg ZH, Schlimbergstr. 47.4%
76 trips · avg +3.2 min
-
76 trips · avg +4.4 min
-
Bus 16 Lausanne, Grand Vennes – Lausanne, Provence nordLausanne, Grand Vennes – Lausanne, Provence nord 49.7%
151 trips · avg +4.1 min
-
98 trips · avg +5 min
-
Bus 33 Zürich, Triemli – Zürich Tiefenbrunnen, BahnhofZürich, Triemli – Zürich Tiefenbrunnen, Bahnhof 57%
298 trips · avg +3.3 min
-
151 trips · avg +2.8 min
-
221 trips · avg +3.1 min
-
Bus 122 Grindelwald, Gletscherschlucht – Grindelwald, KlusiGrindelwald, Gletscherschlucht – Grindelwald, Klusi 60%
45 trips · avg +3.2 min
-
78 trips · avg +2.6 min
-
175 trips · avg +3 min
-
Bus 61 Wallisellen, Glatt (Bus) – Zürich, MühlackerWallisellen, Glatt (Bus) – Zürich, Mühlacker 61.9%
155 trips · avg +2.6 min
Most punctual busy lines
-
210 trips · avg +0.5 min
-
199 trips · avg +0.7 min
-
194 trips · avg +0.7 min
-
198 trips · avg +0.4 min
-
216 trips · avg +0.5 min
-
240 trips · avg +0.9 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.5 min
-
Bus 6 Schaffhausen, Falkeneck – Schaffhausen, BuchthalenSchaffhausen, Falkeneck – Schaffhausen, Buchthalen 95.9%
194 trips · avg +1 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) 42.8%
166 trips · avg +4.4 min
-
166 trips · avg +4.2 min
-
56 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) 100%
56 trips · avg +0.6 min
Least punctual operators
-
Mouettes genevoises 57.4%
444 trips · avg +3.4 min
-
TPG 62.6%
9,142 trips · avg +3.6 min
-
Autobetrieb Sernftal 76.2%
122 trips · avg +2.4 min
-
Transports Publics Neuchâtelois 77%
2,820 trips · avg +1.9 min
-
Berner Oberland-Bahnen 77.4%
137 trips · avg +1.7 min
-
tl 77.4%
6,492 trips · avg +2.2 min
-
VBL 77.7%
3,776 trips · avg +1.9 min
-
Busbetrieb Rapperswil-Eschenbach-Rüti ZH 78.1%
297 trips · avg +1.9 min
Show 17 more
-
BVB 79.2%
5,079 trips · avg +2.1 min
-
Verkehrsbetrieb LIECHTENSTEINmobil 80.3%
860 trips · avg +1.8 min
-
TPL 81.3%
1,596 trips · avg +1.8 min
-
Busbetrieb Aarau 82%
932 trips · avg +1.6 min
-
Bus und Service 82%
1,576 trips · avg +1.6 min
-
VBZ 83%
16,478 trips · avg +1.6 min
-
Regionalps 83.1%
189 trips · avg +1.5 min
-
Automobil Rottal 84.4%
449 trips · avg +1.5 min
-
Forchbahn 84.9%
172 trips · avg +2 min
-
Sierre-Montana-Crans 86%
228 trips · avg +1.4 min
-
Busbetrieb Solothurn und Umgebung 86.7%
765 trips · avg +1.2 min
-
Transports publics Vevey-Montreux-Chillon-Villeneuve 87%
1,311 trips · avg +1.1 min
-
AFA Bus 87.7%
235 trips · avg +1 min
-
Lugano-Ponte Tresa 87.9%
132 trips · avg +0.8 min
-
Auto AG Rothenburg 88%
768 trips · avg +1.4 min
-
Bus Sierrois 88.2%
211 trips · avg +1 min
-
Verkehrsbetriebe Biel 88.4%
1,324 trips · avg +1.2 min
Most punctual operators
-
THURBO 98.9%
1,109 trips · avg +0.3 min
-
Zentralbahn 99.5%
367 trips · avg +0.2 min
-
Aare Seeland mobil 99.4%
338 trips · avg +0.3 min
-
BLS 98%
1,580 trips · avg +0.5 min
-
Regionalverkehr Bern-Solothurn 97.2%
607 trips · avg +0.4 min
-
Busbetrieb Grenchen und Umgebung 97.3%
522 trips · avg +0.8 min
-
Automobildienste Aare Seeland mobil 97.1%
658 trips · avg +0.8 min
-
Schweizerische Südostbahn 96.9%
518 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 95.1%
1,555 departures · avg +1.1 min
-
Bern 98%
1,074 departures · avg +0.8 min
-
Zürich Oerlikon 96.1%
919 departures · avg +1 min
-
Zürich Stadelhofen 94.1%
698 departures · avg +1.3 min
-
Winterthur 95.8%
687 departures · avg +1.1 min
-
675 departures · avg +2 min
-
Olten 92.5%
571 departures · avg +1.4 min
-
St. Gallen 95%
538 departures · avg +1.1 min
-
Lausanne 93.3%
524 departures · avg +1.3 min
-
Aarau 94.4%
520 departures · avg +1 min
-
Worblaufen 95.2%
481 departures · avg +1 min
-
Luzern 98.7%
471 departures · avg +0.7 min
-
Genève, gare Cornavin 60.8%
2,541 departures · avg +3.3 min
-
Genève, Bel-Air 58.8%
2,284 departures · avg +4.2 min
-
Basel, Bahnhof SBB 82.9%
2,229 departures · avg +2 min
-
Zürich, Central 94.1%
2,193 departures · avg +1.1 min
-
Luzern, Kantonalbank 81.5%
2,151 departures · avg +1.8 min
-
Zürich, Bellevue 92.2%
2,075 departures · avg +1.2 min
-
Bern, Bahnhof 93.6%
2,035 departures · avg +1.2 min
-
Luzern, Bahnhof 89%
1,914 departures · avg +1.2 min
-
Lausanne, Bel-Air 57.2%
1,906 departures · avg +3.5 min
-
1,894 departures · avg +1.2 min
-
Bern, Zytglogge 94.2%
1,894 departures · avg +1.2 min
-
St. Gallen, Bahnhof 93.8%
1,860 departures · avg +1.1 min
-
St. Gallen Marktplatz 71.8%
110 departures · avg +2.3 min
-
Lustmühle 73.1%
108 departures · avg +2.6 min
-
Muhen Nord 73.9%
153 departures · avg +1.7 min
-
Oberentfelden Engelplatz 73.9%
153 departures · avg +1.6 min
-
Como S. Giovanni 74.4%
117 departures · avg +2.7 min
-
S. Antonino 74.5%
161 departures · avg +2.7 min
-
Chiasso 76%
183 departures · avg +2.6 min
-
Wilderswil 76.3%
135 departures · avg +2.1 min
-
Magliaso Paese 76.5%
132 departures · avg +2.1 min
-
Gelterkinden 76.9%
134 departures · avg +1.9 min
-
Matten b. Interlaken 77.8%
135 departures · avg +2.2 min
-
132 departures · avg +1.8 min
Largest delays
- Bus 1 Gebenstorf, Reuss – Würenlos, Bettlen Würenlos, Bettlen +150 min
- Bus 8 Grand-Mont +140 min
- NJ Zürich HB +124 min
- Tram 2 Binningen, Kronenplatzand 2 more trips of this line +91 min
- EV Basel, Dreispitz – Aesch BL, Dorf Aesch BL, Dorf +72 min
- Bus 3 Grand-Saconnex, Gardiol +71 min
- Bus 7 Vessy, Grands-Esserts +70 min
- Bus 701 Le Prese, Stazione – Samedan, Bahnhof Le Prese, Stazione +63 min
- Tram 16 Basel, Messeplatz – Basel, Bruderholz Basel, Bruderholz +63 min
- Bus 6 Lausanne, Maladière – Lausanne, Praz-Séchaud Praz-Séchaud +60 min
- Bus 70 Satigny, gare +60 min
- Bus 384 Palézieux-Village, centre – St-Martin FR, village St-Martin FR, village +60 min
- A Genève, Rive – Gy, temple Gy, temple +59 min
- ICE Basel SBBand 2 more trips of this line +58 min
- Bus 61 Ettiswil, Post – Luzern, Bahnhof Luzern, Bahnhof +58 min