Punctuality of Swiss public transportFriday 31 July 2026
90.4% of 154,064 trips were on time. The share was lowest at 21:50: 80.4%. Of the busy lines, M2 Genève-Pâquis (lac) – Genève-Quai Gustave Ador (lac) had the lowest share on time: 18.7%.
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.4%
−1.3 ptsDay before: 91.7% · 154,064 trips with live data
Average delay
+1.1 min
Canceled trips
832
0.5% 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: Thursday 30 July
- Lowest points
The disruptions of this day were not recorded, so the chart cannot show its incidents.
By mode
-
Train 94.2%
14,245 trips · avg +0.9 min
-
Tram 85.8%
13,986 trips · avg +1.5 min
-
Bus 90.6%
125,093 trips · avg +1 min
-
Metro 100%
296 trips · avg +1 min
-
Boat 45.3%
444 trips · avg +4.5 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) 18.7%
166 trips · avg +6.6 min
-
Bus 24 Lausanne, Bourdonnette – Lausanne, Ouchy-OlympiqueLausanne, Bourdonnette – Lausanne, Ouchy-Olympique 28.2%
142 trips · avg +8.2 min
-
Bus 501 Estavayer-le-Lac,Champ-de-Lune – Estavayer-le-Lac, plageEstavayer-le-Lac,Champ-de-Lune – Estavayer-le-Lac, plage 35.7%
56 trips · avg +7.8 min
-
Bus 101 Cormondrèche, Grand'Rue – Marin-Epagnier, gareCormondrèche, Grand'Rue – Marin-Epagnier, gare 36.6%
194 trips · avg +4 min
-
166 trips · avg +4.9 min
-
67 trips · avg +13.7 min
-
218 trips · avg +5.1 min
-
Bus 122 Grindelwald, Gletscherschlucht – Grindelwald, KlusiGrindelwald, Gletscherschlucht – Grindelwald, Klusi 51.1%
45 trips · avg +3.9 min
Show 17 more
-
239 trips · avg +2.9 min
-
Bus 6 Lausanne, Maladière – Lausanne, Praz-SéchaudLausanne, Maladière – Lausanne, Praz-Séchaud 54.9%
204 trips · avg +3.6 min
-
52 trips · avg +2.6 min
-
71 trips · avg +3.3 min
-
Bus 301 Davos Glaris, Ortolfi – Davos Laret, LandhausDavos Glaris, Ortolfi – Davos Laret, Landhaus 58%
138 trips · avg +3.2 min
-
Bus 109 Neuchâtel, Place Pury – Neuchâtel, Trois-ChênesNeuchâtel, Place Pury – Neuchâtel, Trois-Chênes 58.7%
206 trips · avg +2.9 min
-
143 trips · avg +3 min
-
83 trips · avg +2.4 min
-
86 trips · avg +3.2 min
-
140 trips · avg +2.6 min
-
Bus 602 Pontresina, Bahnhof – Silvaplana, Rundella CurtinsPontresina, Bahnhof – Silvaplana, Rundella Curtins 63.6%
55 trips · avg +3 min
-
288 trips · avg +2.3 min
-
Bus 55 Chavannes-des-Bois – Genève-Aéroport, TerminalChavannes-des-Bois – Genève-Aéroport, Terminal 64%
75 trips · avg +2.2 min
-
233 trips · avg +3.1 min
-
175 trips · avg +2.4 min
-
225 trips · avg +2.4 min
-
79 trips · avg +2.5 min
Most punctual busy lines
-
211 trips · avg +0.1 min
-
216 trips · avg +0.3 min
-
216 trips · avg +0.4 min
-
255 trips · avg +0.3 min
-
246 trips · avg +0.5 min
-
Bus 3 Winterthur, Oberseen – Winterthur, RosenbergWinterthur, Oberseen – Winterthur, Rosenberg 98.4%
250 trips · avg +0.3 min
-
Bus 701 Lausanne, Bourdonnette – Tolochenaz, La PlantazLausanne, Bourdonnette – Tolochenaz, La Plantaz 98.1%
216 trips · avg +0.2 min
-
Bus 781 Zürich Oerlikon, Bahnhof – Glattbrugg, GiebeleichstrasseZürich Oerlikon, Bahnhof – Glattbrugg, Giebeleichstrasse 97.5%
243 trips · avg +0.6 min
Least punctual busy lines
-
67 trips · avg +13.7 min
-
76 trips · avg +3.5 min
-
79 trips · avg +2 min
-
58 trips · avg +2.9 min
-
40 trips · avg +1.8 min
-
121 trips · avg +1.8 min
-
42 trips · avg +1.7 min
-
40 trips · avg +1.6 min
Show 17 more
-
302 trips · avg +1.3 min
-
114 trips · avg +1.4 min
-
77 trips · avg +0.9 min
-
84 trips · avg +1.4 min
-
47 trips · avg +1.2 min
-
48 trips · avg +1.4 min
-
59 trips · avg +0.7 min
-
107 trips · avg +1.1 min
-
40 trips · avg +1.4 min
-
40 trips · avg +1 min
-
116 trips · avg +0.9 min
-
46 trips · avg +0.6 min
-
77 trips · avg +1.1 min
-
66 trips · avg +0.5 min
-
86 trips · avg +0.9 min
-
42 trips · avg +0.4 min
-
44 trips · avg +1 min
Most punctual busy lines
-
199 trips · avg +0.2 min
-
153 trips · avg +0.3 min
-
119 trips · avg +0.3 min
-
91 trips · avg +0.2 min
-
79 trips · avg +0 min
-
79 trips · avg +0.1 min
-
78 trips · avg +0.3 min
-
78 trips · avg +0.3 min
Least punctual busy lines
-
288 trips · avg +2.3 min
-
282 trips · avg +2 min
-
284 trips · avg +1.9 min
-
330 trips · avg +1.9 min
-
524 trips · avg +1.5 min
-
172 trips · avg +1.9 min
-
363 trips · avg +1.9 min
-
267 trips · avg +1.5 min
Show 10 more
-
Tram 51 Zürich Altstetten, Bahnhof N – Zürich, SeebachZürich Altstetten, Bahnhof N – Zürich, Seebach 86.4%
309 trips · avg +1.6 min
-
282 trips · avg +1.4 min
-
96 trips · avg +1.6 min
-
311 trips · avg +1.3 min
-
297 trips · avg +1.5 min
-
297 trips · avg +1.2 min
-
268 trips · avg +0.9 min
-
265 trips · avg +0.9 min
-
Tram 20 Killwangen, Bahnhof – Zürich Altstetten, BahnhofKillwangen, Bahnhof – Zürich Altstetten, Bahnhof 96.7%
153 trips · avg +0.9 min
-
270 trips · avg +0.9 min
Most punctual busy lines
-
270 trips · avg +0.9 min
-
Tram 20 Killwangen, Bahnhof – Zürich Altstetten, BahnhofKillwangen, Bahnhof – Zürich Altstetten, Bahnhof 96.7%
153 trips · avg +0.9 min
-
265 trips · avg +0.9 min
-
268 trips · avg +0.9 min
-
297 trips · avg +1.2 min
-
297 trips · avg +1.5 min
-
311 trips · avg +1.3 min
-
96 trips · avg +1.6 min
Least punctual busy lines
-
Bus 24 Lausanne, Bourdonnette – Lausanne, Ouchy-OlympiqueLausanne, Bourdonnette – Lausanne, Ouchy-Olympique 28.2%
142 trips · avg +8.2 min
-
Bus 501 Estavayer-le-Lac,Champ-de-Lune – Estavayer-le-Lac, plageEstavayer-le-Lac,Champ-de-Lune – Estavayer-le-Lac, plage 35.7%
56 trips · avg +7.8 min
-
Bus 101 Cormondrèche, Grand'Rue – Marin-Epagnier, gareCormondrèche, Grand'Rue – Marin-Epagnier, gare 36.6%
194 trips · avg +4 min
-
218 trips · avg +5.1 min
-
Bus 122 Grindelwald, Gletscherschlucht – Grindelwald, KlusiGrindelwald, Gletscherschlucht – Grindelwald, Klusi 51.1%
45 trips · avg +3.9 min
-
239 trips · avg +2.9 min
-
Bus 6 Lausanne, Maladière – Lausanne, Praz-SéchaudLausanne, Maladière – Lausanne, Praz-Séchaud 54.9%
204 trips · avg +3.6 min
-
52 trips · avg +2.6 min
Show 17 more
-
71 trips · avg +3.3 min
-
Bus 301 Davos Glaris, Ortolfi – Davos Laret, LandhausDavos Glaris, Ortolfi – Davos Laret, Landhaus 58%
138 trips · avg +3.2 min
-
Bus 109 Neuchâtel, Place Pury – Neuchâtel, Trois-ChênesNeuchâtel, Place Pury – Neuchâtel, Trois-Chênes 58.7%
206 trips · avg +2.9 min
-
143 trips · avg +3 min
-
83 trips · avg +2.4 min
-
86 trips · avg +3.2 min
-
140 trips · avg +2.6 min
-
Bus 602 Pontresina, Bahnhof – Silvaplana, Rundella CurtinsPontresina, Bahnhof – Silvaplana, Rundella Curtins 63.6%
55 trips · avg +3 min
-
Bus 55 Chavannes-des-Bois – Genève-Aéroport, TerminalChavannes-des-Bois – Genève-Aéroport, Terminal 64%
75 trips · avg +2.2 min
-
233 trips · avg +3.1 min
-
175 trips · avg +2.4 min
-
225 trips · avg +2.4 min
-
79 trips · avg +2.5 min
-
99 trips · avg +2.7 min
-
180 trips · avg +2.4 min
-
Bus 16 Lausanne, Grand Vennes – Lausanne, Provence nordLausanne, Grand Vennes – Lausanne, Provence nord 68.9%
151 trips · avg +2.2 min
-
174 trips · avg +1.9 min
Most punctual busy lines
-
211 trips · avg +0.1 min
-
201 trips · avg +0.3 min
-
216 trips · avg +0.3 min
-
216 trips · avg +0.4 min
-
202 trips · avg +0.5 min
-
255 trips · avg +0.3 min
-
246 trips · avg +0.5 min
-
Bus 3 Winterthur, Oberseen – Winterthur, RosenbergWinterthur, Oberseen – Winterthur, Rosenberg 98.4%
250 trips · avg +0.3 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) 18.7%
166 trips · avg +6.6 min
-
166 trips · avg +4.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) 96.4%
56 trips · avg +0.9 min
-
56 trips · avg +0.7 min
Least punctual operators
-
Mouettes genevoises 45.3%
444 trips · avg +4.5 min
-
Verkehrsbetrieb der Landschaft Davos 64.5%
380 trips · avg +2.9 min
-
Berner Oberland-Bahnen 71.6%
134 trips · avg +3.2 min
-
Compagnie du chemin de fer Nyon - St-Cergue - Morez 76.1%
109 trips · avg +2.7 min
-
Bus Sierrois 76.2%
193 trips · avg +3 min
-
VBL 78.5%
3,822 trips · avg +1.8 min
-
tl 79.6%
6,442 trips · avg +1.8 min
-
TPG 80.4%
9,837 trips · avg +1.7 min
Show 17 more
-
TPL 80.7%
1,599 trips · avg +1.6 min
-
Autobetrieb Sernftal 81.5%
124 trips · avg +2.3 min
-
Bus und Service 82%
1,597 trips · avg +1.6 min
-
Lugano-Ponte Tresa 82.6%
121 trips · avg +1.8 min
-
BVB 82.7%
5,914 trips · avg +1.6 min
-
Regionale Verkehrsbetriebe Baden-Wettingen 83.1%
1,393 trips · avg +1.5 min
-
Autolinee FART 84.3%
719 trips · avg +1.3 min
-
Forchbahn 84.3%
172 trips · avg +1.9 min
-
Transports Publics Neuchâtelois 84.4%
2,886 trips · avg +1.4 min
-
Verkehrsbetrieb LIECHTENSTEINmobil 84.9%
926 trips · avg +1.5 min
-
AFA Bus 85.5%
235 trips · avg +1.3 min
-
Matterhorn Gotthard Bahn 85.7%
321 trips · avg +1.4 min
-
Automobil Rottal 85.7%
469 trips · avg +1.2 min
-
Bernmobil 87.8%
6,041 trips · avg +1.3 min
-
RhB 87.9%
569 trips · avg +1.5 min
-
Transports publics Vevey-Montreux-Chillon-Villeneuve 88.3%
1,197 trips · avg +1.1 min
-
Auto AG Rothenburg 89.5%
759 trips · avg +1.2 min
Most punctual operators
-
Regionalverkehr Bern-Solothurn 99.1%
573 trips · avg +0.3 min
-
Appenzeller Bahnen 99.4%
346 trips · avg +0.3 min
-
Aare Seeland mobil 99.4%
341 trips · avg +0.4 min
-
Stadtbus Winterthur 98.4%
1,912 trips · avg +0.4 min
-
Sihltal-Zürich-Uetliberg-Bahn 99.3%
268 trips · avg +0.2 min
-
Zentralbahn 98.9%
372 trips · avg +0.4 min
-
Verkehrsbetriebe Glattal 97.6%
4,528 trips · avg +0.7 min
-
THURBO 97.8%
1,108 trips · avg +0.3 min
Stations
The share of the departures less than 3 minutes late. A train station has departures of trains.
-
Zürich HB 96.6%
1,569 departures · avg +1 min
-
Bern 96.1%
1,046 departures · avg +1 min
-
Zürich Oerlikon 97%
921 departures · avg +0.9 min
-
Zürich Stadelhofen 95.3%
696 departures · avg +1.1 min
-
Winterthur 95.8%
695 departures · avg +1.1 min
-
Zürich Hardbrücke 92.1%
672 departures · avg +1.8 min
-
Olten 89.7%
611 departures · avg +1.6 min
-
St. Gallen 94.3%
541 departures · avg +1.2 min
-
Lausanne 91.5%
539 departures · avg +1.4 min
-
Aarau 89.7%
525 departures · avg +1.3 min
-
Renens VD 90.8%
476 departures · avg +1.3 min
-
Worblaufen 98.9%
452 departures · avg +0.9 min
-
Genève, gare Cornavin 79.5%
2,722 departures · avg +1.7 min
-
Genève, Bel-Air 81.9%
2,634 departures · avg +1.7 min
-
Zürich, Central 94.5%
2,285 departures · avg +1 min
-
Bern, Bahnhof 89.1%
2,266 departures · avg +1.5 min
-
Basel, Bahnhof SBB 87.3%
2,238 departures · avg +1.5 min
-
Luzern, Kantonalbank 82.6%
2,199 departures · avg +1.8 min
-
Zürich, Bellevue 93.6%
2,160 departures · avg +1.2 min
-
1,990 departures · avg +1 min
-
Bern, Zytglogge 90.8%
1,958 departures · avg +1.6 min
-
Luzern, Bahnhof 90%
1,949 departures · avg +1.2 min
-
Lausanne, Bel-Air 55.7%
1,923 departures · avg +3.5 min
-
Basel, Schützenhaus 91.2%
1,909 departures · avg +1.2 min
-
Matten b. Interlaken 65.2%
132 departures · avg +3.4 min
-
Payerne 65.4%
107 departures · avg +2.7 min
-
Wilderswil 65.9%
132 departures · avg +3.4 min
-
Oberentfelden Engelplatz 68.6%
153 departures · avg +2 min
-
Magliaso Paese 70.2%
121 departures · avg +2.8 min
-
Muhen Nord 70.6%
153 departures · avg +1.9 min
-
Magliaso 71.1%
121 departures · avg +2.7 min
-
Buchs AG 71.1%
149 departures · avg +2.6 min
-
Zweilütschinen 71.7%
120 departures · avg +3.2 min
-
Caslano 72.7%
121 departures · avg +2.7 min
-
Agno 72.7%
121 departures · avg +2.7 min
-
Chiasso 73.3%
172 departures · avg +2.5 min
Largest delays
- Bus 401 Flüelen, Gruonbach – Göschenen, Bahnhof Amsteg, Dorf +165 min
- NJ Zürich HBand 1 more trips of this line +152 min
- Bus 1 Sierre, Sablonsand 1 more trips of this line +120 min
- EC Bregenz – Zürich HB Basel SBBand 5 more trips of this line +85 min
- Bus 9 Bel-Airand 1 more trips of this line +80 min
- Bus 801 Frauenfeld, Sonnmattand 2 more trips of this line +77 min
- Bus 308 Davos Platz, Bahnhof – Sertig, Sand Davos Platz, Bahnhof +71 min
- Bus 1 Gebenstorf, Reuss – Würenlos, Bettlen Würenlos, Bettlen +68 min
- Bus 2 Genève, Plage – Bernex, Cressy Genève, Plage +66 min
- R20 Bercher – Lausanne-Flon Lausanne-Flon +65 min
- Bus 643 Saas-Fee, Busterminal +62 min
- Bus 24 Lausanne, Bourdonnette – Lausanne, Ouchy-Olympique Bourdonnetteand 4 more trips of this line +59 min
- Tram 9 Bern, Zytglogge +58 min
- Tram 8 Bern, Saali +57 min
- E Genève, Rive +56 min