Punctuality of Swiss public transportSaturday 23 May 2026
89% of 119,708 trips were on time. The share was lowest at 11:20: 79.4%. Of the busy lines, M2 Genève-Pâquis (lac) – Genève-Quai Gustave Ador (lac) had the lowest share on time: 6.3%.
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%
+4.7 ptsDay before: 84.3% · 119,708 trips with live data
Average delay
+1.2 min
Canceled trips
421
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: Friday 22 May
- Lowest points
The disruptions of this day were not recorded, so the chart cannot show its incidents.
By mode
-
Train 95.4%
13,401 trips · avg +0.7 min
-
Tram 85.9%
10,559 trips · avg +1.5 min
-
Bus 88.6%
95,214 trips · avg +1.2 min
-
Metro 99.3%
278 trips · avg +1.1 min
-
Boat 35.5%
256 trips · avg +5.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
-
M2 Genève-Pâquis (lac) – Genève-Quai Gustave Ador (lac)Genève-Pâquis (lac) – Genève-Quai Gustave Ador (lac) 6.3%
96 trips · avg +9.2 min
-
96 trips · avg +6.3 min
-
47 trips · avg +4.9 min
-
148 trips · avg +3.8 min
-
Bus 24 Lausanne, Bourdonnette – Lausanne, Ouchy-OlympiqueLausanne, Bourdonnette – Lausanne, Ouchy-Olympique 40.1%
142 trips · avg +6.1 min
-
70 trips · avg +4.1 min
-
Bus 109 Neuchâtel, Place Pury – Neuchâtel, Trois-ChênesNeuchâtel, Place Pury – Neuchâtel, Trois-Chênes 42.9%
184 trips · avg +3.4 min
-
Tram 8 Basel, Neuweilerstrasse – Weil am Rhein, Bahnhof/ZentrumBasel, Neuweilerstrasse – Weil am Rhein, Bahnhof/Zentrum 46.2%
262 trips · avg +5.3 min
Show 17 more
-
67 trips · avg +3.7 min
-
272 trips · avg +3.2 min
-
74 trips · avg +3.3 min
-
Bus 165 Rüschlikon, Park im Grüene – Zürich, BürkliplatzRüschlikon, Park im Grüene – Zürich, Bürkliplatz 52%
98 trips · avg +3.6 min
-
230 trips · avg +4.2 min
-
Bus 68 Thoiry, Centre commercial – Vernier, BlandonnetThoiry, Centre commercial – Vernier, Blandonnet 54.4%
57 trips · avg +2.9 min
-
97 trips · avg +3.3 min
-
67 trips · avg +10.7 min
-
47 trips · avg +2.7 min
-
149 trips · avg +3.7 min
-
69 trips · avg +2.7 min
-
137 trips · avg +3.4 min
-
Bus 122 Grindelwald, Gletscherschlucht – Grindelwald, KlusiGrindelwald, Gletscherschlucht – Grindelwald, Klusi 57.1%
42 trips · avg +2.7 min
-
Bus 61 Wallisellen, Glatt (Bus) – Zürich, MühlackerWallisellen, Glatt (Bus) – Zürich, Mühlacker 58.7%
143 trips · avg +2.7 min
-
44 trips · avg +2.6 min
-
Bus 9 Vernier, Lignon Tours – Thônex, Belle-Terre Pl. AraireVernier, Lignon Tours – Thônex, Belle-Terre Pl. Araire 59.6%
151 trips · avg +3.3 min
-
71 trips · avg +2.5 min
Most punctual busy lines
-
273 trips · avg +0.6 min
-
302 trips · avg +0.5 min
-
212 trips · avg +0.4 min
-
221 trips · avg +1 min
-
268 trips · avg +1.1 min
-
276 trips · avg +0.7 min
-
Bus 17 Lausanne, Vigie – Villars-Ste-Croix, Croix-PéageLausanne, Vigie – Villars-Ste-Croix, Croix-Péage 94.2%
243 trips · avg +0.8 min
-
Tram 10 Zürich Flughafen, Fracht – Zürich, Bahnhofplatz/HBZürich Flughafen, Fracht – Zürich, Bahnhofplatz/HB 94%
252 trips · avg +1 min
Least punctual busy lines
-
67 trips · avg +10.7 min
-
41 trips · avg +4 min
-
87 trips · avg +2.7 min
-
69 trips · avg +1.5 min
-
116 trips · avg +2.1 min
-
58 trips · avg +0.7 min
-
121 trips · avg +0.9 min
-
77 trips · avg +1 min
Show 17 more
-
75 trips · avg +0.9 min
-
40 trips · avg +0.7 min
-
85 trips · avg +0.7 min
-
46 trips · avg +0.7 min
-
117 trips · avg +0.8 min
-
51 trips · avg +0.7 min
-
69 trips · avg +0.9 min
-
75 trips · avg +0.5 min
-
57 trips · avg +0.6 min
-
79 trips · avg +0.6 min
-
43 trips · avg +0.7 min
-
71 trips · avg +0.6 min
-
74 trips · avg +0.5 min
-
78 trips · avg +0.6 min
-
52 trips · avg +0.7 min
-
R15 Boudry Littorail – Neuchâtel Place Pury LittorailBoudry Littorail – Neuchâtel Place Pury Littorail 96.2%
106 trips · avg +0.9 min
-
120 trips · avg +0.7 min
Most punctual busy lines
-
139 trips · avg +0.4 min
-
126 trips · avg +0.2 min
-
114 trips · avg +0.3 min
-
108 trips · avg +0.2 min
-
79 trips · avg +0.3 min
-
79 trips · avg +0.3 min
-
79 trips · avg +0.1 min
-
79 trips · avg +0.1 min
Least punctual busy lines
-
Tram 8 Basel, Neuweilerstrasse – Weil am Rhein, Bahnhof/ZentrumBasel, Neuweilerstrasse – Weil am Rhein, Bahnhof/Zentrum 46.2%
262 trips · avg +5.3 min
-
271 trips · avg +1.9 min
-
276 trips · avg +2 min
-
Tram 14 Basel, Dreirosenbrücke – Pratteln, SchlossstrasseBasel, Dreirosenbrücke – Pratteln, Schlossstrasse 76.3%
274 trips · avg +2.1 min
-
Tram 8 Bern, Saali – Bern Brünnen Westside, BahnhofBern, Saali – Bern Brünnen Westside, Bahnhof 76.7%
300 trips · avg +2 min
-
267 trips · avg +1.9 min
-
342 trips · avg +1.5 min
-
265 trips · avg +1.7 min
Show 17 more
-
351 trips · avg +1.4 min
-
Tram 9 Wabern, Tram-Endstation – Bern Wankdorf, BahnhofWabern, Tram-Endstation – Bern Wankdorf, Bahnhof 85.8%
289 trips · avg +1.6 min
-
280 trips · avg +1.6 min
-
270 trips · avg +1.4 min
-
267 trips · avg +1.6 min
-
Tram 2 Binningen, Kronenplatz – Basel, Badischer BahnhofBinningen, Kronenplatz – Basel, Badischer Bahnhof 88.3%
266 trips · avg +1.6 min
-
283 trips · avg +1.3 min
-
273 trips · avg +1.3 min
-
298 trips · avg +1.5 min
-
258 trips · avg +1.4 min
-
Tram 11 Zürich, Central – Zürich Tiefenbrunnen, BahnhofZürich, Central – Zürich Tiefenbrunnen, Bahnhof 91.1%
270 trips · avg +1.3 min
-
Tram 7 Stettbach, Bahnhof – Zürich, WollishoferplatzStettbach, Bahnhof – Zürich, Wollishoferplatz 92%
275 trips · avg +1.4 min
-
Tram 51 Zürich Altstetten, Bahnhof N – Zürich, SeebachZürich Altstetten, Bahnhof N – Zürich, Seebach 92.4%
290 trips · avg +1.2 min
-
Tram 20 Killwangen, Bahnhof – Zürich Altstetten, BahnhofKillwangen, Bahnhof – Zürich Altstetten, Bahnhof 93.5%
155 trips · avg +1 min
-
Tram 10 Zürich Flughafen, Fracht – Zürich, Bahnhofplatz/HBZürich Flughafen, Fracht – Zürich, Bahnhofplatz/HB 94%
252 trips · avg +1 min
-
276 trips · avg +0.7 min
-
135 trips · avg +0.8 min
Most punctual busy lines
-
137 trips · avg +0.2 min
-
273 trips · avg +0.6 min
-
221 trips · avg +1 min
-
135 trips · avg +0.8 min
-
276 trips · avg +0.7 min
-
Tram 10 Zürich Flughafen, Fracht – Zürich, Bahnhofplatz/HBZürich Flughafen, Fracht – Zürich, Bahnhofplatz/HB 94%
252 trips · avg +1 min
-
Tram 20 Killwangen, Bahnhof – Zürich Altstetten, BahnhofKillwangen, Bahnhof – Zürich Altstetten, Bahnhof 93.5%
155 trips · avg +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.2 min
Least punctual busy lines
-
47 trips · avg +4.9 min
-
148 trips · avg +3.8 min
-
Bus 24 Lausanne, Bourdonnette – Lausanne, Ouchy-OlympiqueLausanne, Bourdonnette – Lausanne, Ouchy-Olympique 40.1%
142 trips · avg +6.1 min
-
70 trips · avg +4.1 min
-
Bus 109 Neuchâtel, Place Pury – Neuchâtel, Trois-ChênesNeuchâtel, Place Pury – Neuchâtel, Trois-Chênes 42.9%
184 trips · avg +3.4 min
-
67 trips · avg +3.7 min
-
272 trips · avg +3.2 min
-
74 trips · avg +3.3 min
Show 17 more
-
Bus 165 Rüschlikon, Park im Grüene – Zürich, BürkliplatzRüschlikon, Park im Grüene – Zürich, Bürkliplatz 52%
98 trips · avg +3.6 min
-
230 trips · avg +4.2 min
-
Bus 68 Thoiry, Centre commercial – Vernier, BlandonnetThoiry, Centre commercial – Vernier, Blandonnet 54.4%
57 trips · avg +2.9 min
-
97 trips · avg +3.3 min
-
47 trips · avg +2.7 min
-
149 trips · avg +3.7 min
-
69 trips · avg +2.7 min
-
137 trips · avg +3.4 min
-
Bus 122 Grindelwald, Gletscherschlucht – Grindelwald, KlusiGrindelwald, Gletscherschlucht – Grindelwald, Klusi 57.1%
42 trips · avg +2.7 min
-
Bus 61 Wallisellen, Glatt (Bus) – Zürich, MühlackerWallisellen, Glatt (Bus) – Zürich, Mühlacker 58.7%
143 trips · avg +2.7 min
-
44 trips · avg +2.6 min
-
Bus 9 Vernier, Lignon Tours – Thônex, Belle-Terre Pl. AraireVernier, Lignon Tours – Thônex, Belle-Terre Pl. Araire 59.6%
151 trips · avg +3.3 min
-
71 trips · avg +2.5 min
-
Bus 32 Zürich, Strassenverkehrsamt – Zürich, HolzerhurdZürich, Strassenverkehrsamt – Zürich, Holzerhurd 60.7%
280 trips · avg +2.9 min
-
Bus 80 Zürich, Triemlispital – Zürich Oerlikon, Bahnhof NordZürich, Triemlispital – Zürich Oerlikon, Bahnhof Nord 60.8%
273 trips · avg +2.7 min
-
74 trips · avg +6.9 min
-
Bus 22 Carouge GE, Rondeau – Genève, Jardin BotaniqueCarouge GE, Rondeau – Genève, Jardin Botanique 61.2%
129 trips · avg +2.5 min
Most punctual busy lines
-
167 trips · avg +0.4 min
-
167 trips · avg +0.6 min
-
Bus 1 Schaffhausen, Waldfriedhof – Neuhausen, HerbstäckerSchaffhausen, Waldfriedhof – Neuhausen, Herbstäcker 98.9%
179 trips · avg +0.7 min
-
212 trips · avg +0.4 min
-
Bus 6 Schaffhausen, Falkeneck – Schaffhausen, BuchthalenSchaffhausen, Falkeneck – Schaffhausen, Buchthalen 97.7%
171 trips · avg +0.5 min
-
Bus 332 Bremgarten AG, Obertorplatz – Baden, PostautostationBremgarten AG, Obertorplatz – Baden, Postautostation 97.1%
173 trips · avg +0.7 min
-
180 trips · avg +0.8 min
-
180 trips · avg +0.6 min
Least punctual operators
-
Mouettes genevoises 35.5%
256 trips · avg +5.9 min
-
TPL 67.5%
1,218 trips · avg +2.8 min
-
VBL 72.5%
3,359 trips · avg +2.2 min
-
Verkehrsbetrieb LIECHTENSTEINmobil 72.8%
640 trips · avg +2.5 min
-
Automobil Rottal 75.5%
327 trips · avg +2.1 min
-
Transports Publics Neuchâtelois 78.8%
2,158 trips · avg +1.8 min
-
TPG 79.1%
7,215 trips · avg +1.7 min
-
BVB 79.2%
4,273 trips · avg +2 min
Show 17 more
-
Autobetrieb Sernftal 81.8%
110 trips · avg +1.3 min
-
AFA Bus 82%
139 trips · avg +2.2 min
-
Bus und Service 82.2%
1,345 trips · avg +1.9 min
-
Automobiles MBC 82.3%
854 trips · avg +1.4 min
-
Auto AG Rothenburg 84%
721 trips · avg +1.4 min
-
tl 84.1%
6,022 trips · avg +2.1 min
-
Bus Sierrois 84.5%
193 trips · avg +1.6 min
-
Busbetrieb Rapperswil-Eschenbach-Rüti ZH 84.7%
242 trips · avg +1.6 min
-
Auto Leuk-Leukerbad 85.4%
226 trips · avg +1.2 min
-
Busbetrieb Aarau 85.5%
861 trips · avg +1.3 min
-
Montreux-Vevey-Riviera 86.2%
116 trips · avg +1.3 min
-
Matterhorn Gotthard Bahn 86.9%
328 trips · avg +1.9 min
-
VBZ 87%
14,262 trips · avg +1.4 min
-
Regionale Verkehrsbetriebe Baden-Wettingen 87%
1,168 trips · avg +1.2 min
-
Bus Nyon-Prangins 87%
193 trips · avg +1.2 min
-
Auto AG Uri 87.2%
298 trips · avg +1.4 min
-
Verkehrsbetriebe Biel 87.7%
1,235 trips · avg +1.3 min
Most punctual operators
-
Regionalverkehr Bern-Solothurn 100%
492 trips · avg +0.1 min
-
THURBO 99.4%
1,140 trips · avg +0.2 min
-
Wengernalpbahn 100%
156 trips · avg +0.1 min
-
BLS 98.3%
1,432 trips · avg +0.4 min
-
Busbetrieb Grenchen und Umgebung 99.1%
330 trips · avg +0.6 min
-
Aare Seeland mobil 99%
300 trips · avg +0.3 min
-
Sihltal-Zürich-Uetliberg-Bahn 98.7%
237 trips · avg +0.3 min
-
Verkehrsbetrieb der Landschaft Davos 98.1%
366 trips · avg +0.4 min
Stations
The share of the departures less than 3 minutes late. A train station has departures of trains.
-
Zürich HB 93.9%
1,420 departures · avg +1.2 min
-
Bern 96.7%
956 departures · avg +1 min
-
Zürich Oerlikon 97%
861 departures · avg +0.9 min
-
Zürich Stadelhofen 98.2%
682 departures · avg +1 min
-
Winterthur 98.6%
630 departures · avg +0.9 min
-
Zürich Hardbrücke 88.3%
614 departures · avg +1.9 min
-
Olten 91.3%
564 departures · avg +1.4 min
-
Lausanne 79.4%
524 departures · avg +3.1 min
-
Renens VD 83.3%
515 departures · avg +2.6 min
-
St. Gallen 97.6%
462 departures · avg +1.1 min
-
Luzern 99.6%
454 departures · avg +0.6 min
-
Zug 93.8%
420 departures · avg +1.3 min
-
Bern, Bahnhof 96.2%
2,652 departures · avg +1 min
-
Genève, Bel-Air 84.9%
2,341 departures · avg +1.5 min
-
Genève, gare Cornavin 83.8%
2,324 departures · avg +1.5 min
-
Zürich, Central 94.2%
2,125 departures · avg +1 min
-
Basel, Schifflände 80.8%
2,103 departures · avg +2 min
-
Bern, Hirschengraben 92.3%
2,066 departures · avg +1.3 min
-
Luzern, Kantonalbank 78.9%
2,009 departures · avg +2 min
-
Bern, Zytglogge 92.7%
1,952 departures · avg +1.3 min
-
Lausanne, Bel-Air 70.8%
1,923 departures · avg +4.1 min
-
Zürich, Bellevue 91.9%
1,894 departures · avg +1.2 min
-
Basel, Bahnhof SBB 86.8%
1,825 departures · avg +1.8 min
-
Luzern, Bahnhof 89.8%
1,800 departures · avg +1.4 min
-
Cully 61.8%
178 departures · avg +4.2 min
-
Lutry 64.4%
163 departures · avg +4.3 min
-
Pully 65%
163 departures · avg +4.4 min
-
Rheinfelden 70.1%
157 departures · avg +2.5 min
-
Puidoux 70.4%
125 departures · avg +2.4 min
-
Muhen Nord 73.5%
151 departures · avg +1.5 min
-
Oberentfelden Engelplatz 73.5%
151 departures · avg +1.4 min
-
Vevey 76.6%
333 departures · avg +2.4 min
-
Wilderswil 78.2%
133 departures · avg +1.9 min
-
Möhlin 78.2%
156 departures · avg +2.1 min
-
Cham Alpenblick 78.5%
121 departures · avg +2 min
-
Pratteln 79.2%
183 departures · avg +2 min
Largest delays
- Tram 10 Dornach, Bahnhof +208 min
- Bus 1 Gebenstorf, Reuss – Würenlos, Bettlen Würenlos, Bettlen +151 min
- Bus 354 Baden, Postautostation – Kaiserstuhl AG, Bahnhof Kaiserstuhl AG, Bahnhofand 1 more trips of this line +99 min
- GEX Zermatt +97 min
- Bus 170 Richterswil, Bahnhof – Samstagern, Bahnhof Samstagern, Bahnhof +96 min
- NJ Feldkirch – Zürich HB Zürich HB +96 min
- Bus 182 Chur, Postautostation – Lenzerheide/Lai, Post Chur, Postautostation +91 min
- Bus 25 Pully, gare +87 min
- Bus 802 Frauenfeld, Flurhofand 1 more trips of this line +72 min
- Bus 17 Lausanne, Vigie – Villars-Ste-Croix, Croix-Péage Vigie +72 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 9 Temple de Broyeand 7 more trips of this line +533 min