Punctuality of Swiss public transportSaturday 25 July 2026
92.3% of 124,680 trips were on time. The share was lowest at 23:10: 84.9%. Of the busy lines, M1 Genève-Pâquis (lac) – Genève-Molard (lac) had the lowest share on time: 8.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.
92.3%
+1.7 ptsDay before: 90.6% · 124,680 trips with live data
Average delay
+0.9 min
Canceled trips
760
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: Friday 24 July
- Lowest points
The disruptions of this day were not recorded, so the chart cannot show its incidents.
By mode
-
Train 95.2%
13,070 trips · avg +0.7 min
-
Tram 88.4%
12,547 trips · avg +1.3 min
-
Bus 92.6%
98,431 trips · avg +0.9 min
-
Metro 97.1%
278 trips · avg +1 min
-
Boat 35.3%
354 trips · avg +5.6 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
-
134 trips · avg +7.1 min
-
M2 Genève-Pâquis (lac) – Genève-Quai Gustave Ador (lac)Genève-Pâquis (lac) – Genève-Quai Gustave Ador (lac) 19.5%
128 trips · avg +7.7 min
-
74 trips · avg +3.5 min
-
148 trips · avg +3.7 min
-
52 trips · avg +3.4 min
-
Bus 40 Grand-Lancy, Stade de Genève – Chancy, douaneGrand-Lancy, Stade de Genève – Chancy, douane 49.3%
73 trips · avg +3.8 min
-
74 trips · avg +3.9 min
-
48 trips · avg +3.2 min
Show 17 more
-
Bus 122 Grindelwald, Gletscherschlucht – Grindelwald, KlusiGrindelwald, Gletscherschlucht – Grindelwald, Klusi 52.4%
42 trips · avg +2.7 min
-
138 trips · avg +3.4 min
-
57 trips · avg +3.8 min
-
74 trips · avg +3.6 min
-
70 trips · avg +4 min
-
155 trips · avg +3 min
-
Tram 8 Basel, Neuweilerstrasse – Weil am Rhein, Bahnhof/ZentrumBasel, Neuweilerstrasse – Weil am Rhein, Bahnhof/Zentrum 59.1%
281 trips · avg +3.1 min
-
60 trips · avg +7.9 min
-
78 trips · avg +3.3 min
-
Bus 436 Crans-Montana, gare – Crans-Montana, MarignyCrans-Montana, gare – Crans-Montana, Marigny 63%
54 trips · avg +4.9 min
-
76 trips · avg +2.3 min
-
212 trips · avg +2.7 min
-
Bus 109 Neuchâtel, Place Pury – Neuchâtel, Trois-ChênesNeuchâtel, Place Pury – Neuchâtel, Trois-Chênes 64.9%
168 trips · avg +2.8 min
-
213 trips · avg +2.4 min
-
265 trips · avg +2.1 min
-
270 trips · avg +2.7 min
-
Bus 50 Basel EuroAirport, Verwaltung – Basel, Bahnhof SBBBasel EuroAirport, Verwaltung – Basel, Bahnhof SBB 68.1%
254 trips · avg +2.8 min
Most punctual busy lines
-
212 trips · avg +0.2 min
-
211 trips · avg +0 min
-
302 trips · avg +0.4 min
-
Bus 3 Winterthur, Oberseen – Winterthur, RosenbergWinterthur, Oberseen – Winterthur, Rosenberg 99.1%
223 trips · avg +0.3 min
-
220 trips · avg +0.5 min
-
233 trips · avg +0.7 min
-
219 trips · avg +0.5 min
-
243 trips · avg +0.5 min
Least punctual busy lines
-
74 trips · avg +3.9 min
-
57 trips · avg +3.8 min
-
60 trips · avg +7.9 min
-
47 trips · avg +1.6 min
-
82 trips · avg +1.5 min
-
R15 Boudry Littorail – Neuchâtel Place Pury LittorailBoudry Littorail – Neuchâtel Place Pury Littorail 87.7%
106 trips · avg +1.3 min
-
41 trips · avg +1.4 min
-
42 trips · avg +1.2 min
Show 17 more
-
87 trips · avg +1.1 min
-
48 trips · avg +1 min
-
79 trips · avg +0.9 min
-
42 trips · avg +0.5 min
-
108 trips · avg +0.8 min
-
64 trips · avg +0.6 min
-
52 trips · avg +1.2 min
-
52 trips · avg +0.8 min
-
75 trips · avg +0.7 min
-
40 trips · avg +0.4 min
-
41 trips · avg +0.7 min
-
69 trips · avg +0.7 min
-
116 trips · avg +1.1 min
-
70 trips · avg +0.3 min
-
78 trips · avg +0.4 min
-
80 trips · avg +0.2 min
-
40 trips · avg +0.3 min
Most punctual busy lines
-
115 trips · avg +0.4 min
-
114 trips · avg +0.3 min
-
93 trips · avg +0.2 min
-
87 trips · avg +0.2 min
-
79 trips · avg +0.2 min
-
79 trips · avg +0.7 min
-
79 trips · avg +0 min
-
79 trips · avg +0.2 min
Least punctual busy lines
-
Tram 8 Basel, Neuweilerstrasse – Weil am Rhein, Bahnhof/ZentrumBasel, Neuweilerstrasse – Weil am Rhein, Bahnhof/Zentrum 59.1%
281 trips · avg +3.1 min
-
265 trips · avg +2.1 min
-
265 trips · avg +2 min
-
266 trips · avg +1.8 min
-
496 trips · avg +1.7 min
-
282 trips · avg +1.7 min
-
276 trips · avg +1.7 min
-
352 trips · avg +1.2 min
Show 15 more
-
276 trips · avg +1.3 min
-
Tram 10 Zürich Flughafen, Fracht – Zürich, Bahnhofplatz/HBZürich Flughafen, Fracht – Zürich, Bahnhofplatz/HB 89.7%
252 trips · avg +1.3 min
-
247 trips · avg +1.4 min
-
Tram 7 Stettbach, Bahnhof – Zürich, WollishoferplatzStettbach, Bahnhof – Zürich, Wollishoferplatz 90.5%
242 trips · avg +1.3 min
-
267 trips · avg +1.2 min
-
Tram 11 Zürich, Central – Zürich Tiefenbrunnen, BahnhofZürich, Central – Zürich Tiefenbrunnen, Bahnhof 92.9%
254 trips · avg +1.1 min
-
262 trips · avg +1.2 min
-
Tram 51 Zürich Altstetten, Bahnhof N – Zürich, SeebachZürich Altstetten, Bahnhof N – Zürich, Seebach 94.4%
287 trips · avg +1 min
-
Tram 20 Killwangen, Bahnhof – Zürich Altstetten, BahnhofKillwangen, Bahnhof – Zürich Altstetten, Bahnhof 95.5%
155 trips · avg +0.8 min
-
133 trips · avg +1.1 min
-
258 trips · avg +1.2 min
-
275 trips · avg +1 min
-
249 trips · avg +0.7 min
-
243 trips · avg +0.5 min
-
138 trips · avg +0.1 min
Most punctual busy lines
-
138 trips · avg +0.1 min
-
243 trips · avg +0.5 min
-
249 trips · avg +0.7 min
-
275 trips · avg +1 min
-
258 trips · avg +1.2 min
-
133 trips · avg +1.1 min
-
Tram 20 Killwangen, Bahnhof – Zürich Altstetten, BahnhofKillwangen, Bahnhof – Zürich Altstetten, Bahnhof 95.5%
155 trips · avg +0.8 min
-
Tram 51 Zürich Altstetten, Bahnhof N – Zürich, SeebachZürich Altstetten, Bahnhof N – Zürich, Seebach 94.4%
287 trips · avg +1 min
Least punctual busy lines
-
74 trips · avg +3.5 min
-
148 trips · avg +3.7 min
-
52 trips · avg +3.4 min
-
Bus 40 Grand-Lancy, Stade de Genève – Chancy, douaneGrand-Lancy, Stade de Genève – Chancy, douane 49.3%
73 trips · avg +3.8 min
-
48 trips · avg +3.2 min
-
Bus 122 Grindelwald, Gletscherschlucht – Grindelwald, KlusiGrindelwald, Gletscherschlucht – Grindelwald, Klusi 52.4%
42 trips · avg +2.7 min
-
138 trips · avg +3.4 min
-
74 trips · avg +3.6 min
Show 17 more
-
70 trips · avg +4 min
-
155 trips · avg +3 min
-
78 trips · avg +3.3 min
-
Bus 436 Crans-Montana, gare – Crans-Montana, MarignyCrans-Montana, gare – Crans-Montana, Marigny 63%
54 trips · avg +4.9 min
-
76 trips · avg +2.3 min
-
212 trips · avg +2.7 min
-
Bus 109 Neuchâtel, Place Pury – Neuchâtel, Trois-ChênesNeuchâtel, Place Pury – Neuchâtel, Trois-Chênes 64.9%
168 trips · avg +2.8 min
-
213 trips · avg +2.4 min
-
270 trips · avg +2.7 min
-
Bus 50 Basel EuroAirport, Verwaltung – Basel, Bahnhof SBBBasel EuroAirport, Verwaltung – Basel, Bahnhof SBB 68.1%
254 trips · avg +2.8 min
-
189 trips · avg +2.4 min
-
153 trips · avg +2.3 min
-
96 trips · avg +2.2 min
-
143 trips · avg +3.1 min
-
82 trips · avg +2.3 min
-
Bus 61 Wallisellen, Glatt (Bus) – Zürich, MühlackerWallisellen, Glatt (Bus) – Zürich, Mühlacker 71.8%
142 trips · avg +2.2 min
-
Bus 32 Zürich, Strassenverkehrsamt – Zürich, HolzerhurdZürich, Strassenverkehrsamt – Zürich, Holzerhurd 71.9%
270 trips · avg +2.2 min
Most punctual busy lines
-
212 trips · avg +0.2 min
-
211 trips · avg +0 min
-
Bus 5 Schaffhausen, Bahnhof – Schaffhausen, SchlossweiherSchaffhausen, Bahnhof – Schaffhausen, Schlossweiher 99.4%
171 trips · avg +0.5 min
-
167 trips · avg +0.4 min
-
Bus 3 Winterthur, Oberseen – Winterthur, RosenbergWinterthur, Oberseen – Winterthur, Rosenberg 99.1%
223 trips · avg +0.3 min
-
178 trips · avg +0.9 min
-
176 trips · avg +0.7 min
-
Bus 332 Bremgarten AG, Obertorplatz – Baden, PostautostationBremgarten AG, Obertorplatz – Baden, Postautostation 98.8%
173 trips · avg +0.2 min
Least punctual busy lines
-
134 trips · avg +7.1 min
-
M2 Genève-Pâquis (lac) – Genève-Quai Gustave Ador (lac)Genève-Pâquis (lac) – Genève-Quai Gustave Ador (lac) 19.5%
128 trips · avg +7.7 min
-
46 trips · avg +0.7 min
-
M4 Genève-Port Noir (lac) – Genève-De-Châteaubriand (lac)Genève-Port Noir (lac) – Genève-De-Châteaubriand (lac) 97.8%
46 trips · avg +0.5 min
Least punctual operators
-
Mouettes genevoises 35.3%
354 trips · avg +5.6 min
-
Berner Oberland-Bahnen 52.7%
131 trips · avg +3.9 min
-
VBL 76.6%
3,358 trips · avg +2.1 min
-
Verkehrsbetrieb LIECHTENSTEINmobil 78.2%
634 trips · avg +1.9 min
-
TPL 80.1%
1,199 trips · avg +1.8 min
-
BVB 83.9%
4,776 trips · avg +1.6 min
-
Sierre-Montana-Crans 84%
306 trips · avg +1.7 min
-
Autolinee FART 84.6%
671 trips · avg +1.2 min
Show 17 more
-
Bus Sierrois 85.5%
193 trips · avg +1.2 min
-
Autobetrieb Sernftal 86.4%
110 trips · avg +1.2 min
-
Regionale Verkehrsbetriebe Baden-Wettingen 86.7%
1,168 trips · avg +1.3 min
-
Regionalps 87%
185 trips · avg +1.6 min
-
Transports Publics Neuchâtelois 87.2%
2,312 trips · avg +1.3 min
-
Autolinee Bleniesi 87.3%
126 trips · avg +1.5 min
-
TPG 87.6%
7,956 trips · avg +1.2 min
-
Bus und Service 87.7%
1,401 trips · avg +1.4 min
-
AFA Bus 87.7%
227 trips · avg +1.1 min
-
Auto AG Rothenburg 88.3%
699 trips · avg +1.3 min
-
tl 88.5%
5,835 trips · avg +1.2 min
-
Bernmobil 88.7%
5,464 trips · avg +1.3 min
-
RhB 90%
561 trips · avg +1.1 min
-
Automobil Rottal 90%
351 trips · avg +1 min
-
Busbetrieb Solothurn und Umgebung 90%
552 trips · avg +1 min
-
Wengernalpbahn 90.3%
155 trips · avg +1 min
-
Bus Nyon-Prangins 91%
212 trips · avg +1.2 min
Most punctual operators
-
Busbetrieb Olten-Gösgen-Gäu 100%
776 trips · avg +0 min
-
Busbetrieb Aarau 99.8%
861 trips · avg +0 min
-
Sihltal-Zürich-Uetliberg-Bahn 100%
237 trips · avg +0.3 min
-
Regionalverkehr Bern-Solothurn 99.4%
491 trips · avg +0.1 min
-
Aargau Verkehr 98.9%
1,307 trips · avg +0.2 min
-
Regionalbus Lenzburg 99.5%
364 trips · avg +0 min
-
Stadtbus Winterthur 98.5%
1,633 trips · avg +0.4 min
-
Automobildienst SZU 98.3%
1,430 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 97.5%
1,413 departures · avg +0.9 min
-
Bern 96.9%
943 departures · avg +0.9 min
-
Zürich Oerlikon 98.7%
790 departures · avg +0.7 min
-
Zürich Hardbrücke 96.3%
651 departures · avg +1.5 min
-
Zürich Stadelhofen 98.3%
647 departures · avg +0.8 min
-
Olten 92.9%
579 departures · avg +1.1 min
-
Lausanne 90.3%
557 departures · avg +1.5 min
-
Winterthur 91.9%
528 departures · avg +1.4 min
-
Aarau 97.2%
527 departures · avg +0.7 min
-
Renens VD 91.5%
494 departures · avg +1.3 min
-
St. Gallen 92.5%
477 departures · avg +1.4 min
-
Luzern 99.3%
427 departures · avg +0.6 min
-
Genève, gare Cornavin 88.6%
2,314 departures · avg +1.1 min
-
Genève, Bel-Air 90.7%
2,226 departures · avg +1.1 min
-
2,094 departures · avg +1.6 min
-
Zürich, Central 95.7%
2,031 departures · avg +0.9 min
-
Luzern, Kantonalbank 80.6%
2,004 departures · avg +2.1 min
-
Bern, Bahnhof 87.4%
1,982 departures · avg +1.7 min
-
Lausanne, Bel-Air 78.6%
1,831 departures · avg +1.8 min
-
Zürich, Bellevue 95.4%
1,828 departures · avg +1 min
-
Luzern, Bahnhof 88.9%
1,799 departures · avg +1.4 min
-
1,744 departures · avg +1 min
-
St. Gallen, Bahnhof 97.4%
1,636 departures · avg +0.9 min
-
Basel, Schützenhaus 91.3%
1,615 departures · avg +1.2 min
-
Wilderswil 51.2%
129 departures · avg +3.9 min
-
Matten b. Interlaken 54.3%
129 departures · avg +3.9 min
-
Zweilütschinen 56.3%
119 departures · avg +3.7 min
-
St-Maurice 72.7%
172 departures · avg +2.3 min
-
Muhen Nord 73.5%
151 departures · avg +1.5 min
-
Oberentfelden Engelplatz 73.5%
151 departures · avg +1.5 min
-
Martigny 75.3%
215 departures · avg +2.2 min
-
Leuk 77.5%
111 departures · avg +2.2 min
-
Sion 79.6%
152 departures · avg +2.1 min
-
Gelterkinden 80%
140 departures · avg +1.6 min
-
Sierre/Siders 80.3%
147 departures · avg +2.2 min
-
Spiez 82.6%
190 departures · avg +2 min
Largest delays
- RE9 Bern +131 min
- N1 Schaffhausen, Bahnhof +104 min
- N4 Neuhausen, Herbstäckerand 1 more trips of this line +91 min
- Bus 770 Ebnat-Kappel, Wier – Lichtensteig, Steigrüti Ebnat-Kappel, Wierand 1 more trips of this line +61 min
- Bus 48 Confignon, croisée – Plan-les-Ouates, ZIPLO Confignon, croisée +59 min
- ICE Basel Bad Bfand 2 more trips of this line +57 min
- Bus 5 Thun, Bahnhof – Thun, Schorenfriedhof Thun, Schorenfriedhofand 1 more trips of this line +56 min
- Tram 50 Zürich, Frankental – Zürich, Auzelg Zürich, Frankental +52 min
- Bus 18 Luzern, Bramberg – Luzern, Pilatusplatz Luzern, Pilatusplatz +52 min
- BEX Tirano – Chur Tirano +52 min
- Bus 8 Le Mont-sur-L., Grand-Mont – Pully, gare Grand-Montand 2 more trips of this line +52 min
- Bus 72 Lupsingen, Gewerbe – Augst BL, Stundeglas Lupsingen, Gewerbe +51 min
- Bus 3 Grand-Saconnex, Gardiol – Genève, Crêts-de-Champel Genève, Crêts-de-Champel +49 min
- Bus 321 Hohenems, Schlossplatz +48 min
- Bus 7 Wettingen, Tägi +48 min