Punctuality of Swiss public transportSaturday 1 August 2026
89.5% of 102,492 trips were on time. The share was lowest at 00:00: 78.2%. Of the busy lines, M2 Genève-Pâquis (lac) – Genève-Quai Gustave Ador (lac) had the lowest share on time: 11.9%.
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.5%
−0.9 ptsDay before: 90.4% · 102,492 trips with live data
Average delay
+1.2 min
Canceled trips
439
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 31 July
- Lowest points
The disruptions of this day were not recorded, so the chart cannot show its incidents.
By mode
-
Train 95.8%
13,013 trips · avg +0.7 min
-
Tram 87.3%
9,826 trips · avg +1.4 min
-
Bus 89%
78,985 trips · avg +1.3 min
-
Metro 99.4%
308 trips · avg +0.8 min
-
Boat 39.2%
360 trips · avg +4.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) 11.9%
134 trips · avg +6.9 min
-
134 trips · avg +5.9 min
-
124 trips · avg +8.5 min
-
Bus 101 Cormondrèche, Grand'Rue – Marin-Epagnier, gareCormondrèche, Grand'Rue – Marin-Epagnier, gare 30.5%
105 trips · avg +6.5 min
-
Bus 109 Neuchâtel, Place Pury – Neuchâtel, Trois-ChênesNeuchâtel, Place Pury – Neuchâtel, Trois-Chênes 31%
116 trips · avg +4.4 min
-
74 trips · avg +3.9 min
-
Bus 40 Grand-Lancy, Stade de Genève – Chancy, douaneGrand-Lancy, Stade de Genève – Chancy, douane 33.3%
42 trips · avg +5.2 min
-
Bus 501 Estavayer-le-Lac,Champ-de-Lune – Estavayer-le-Lac, plageEstavayer-le-Lac,Champ-de-Lune – Estavayer-le-Lac, plage 41.7%
48 trips · avg +3.8 min
Show 17 more
-
148 trips · avg +3.8 min
-
44 trips · avg +3.6 min
-
43 trips · avg +4.1 min
-
Bus 9 Vernier, Lignon Tours – Thônex, Belle-Terre Pl. AraireVernier, Lignon Tours – Thônex, Belle-Terre Pl. Araire 46.7%
122 trips · avg +4.4 min
-
Bus 68 Thoiry, Centre commercial – Vernier, BlandonnetThoiry, Centre commercial – Vernier, Blandonnet 47.5%
40 trips · avg +5 min
-
Bus 55 Chavannes-des-Bois – Genève-Aéroport, TerminalChavannes-des-Bois – Genève-Aéroport, Terminal 47.7%
44 trips · avg +3.2 min
-
145 trips · avg +6.9 min
-
72 trips · avg +6.8 min
-
43 trips · avg +6 min
-
Bus 122 Grindelwald, Gletscherschlucht – Grindelwald, KlusiGrindelwald, Gletscherschlucht – Grindelwald, Klusi 51.2%
41 trips · avg +2.8 min
-
256 trips · avg +6.1 min
-
Tram 8 Basel, Neuweilerstrasse – Weil am Rhein, Bahnhof/ZentrumBasel, Neuweilerstrasse – Weil am Rhein, Bahnhof/Zentrum 51.7%
180 trips · avg +3.7 min
-
149 trips · avg +2.7 min
-
Bus 22 Carouge GE, Rondeau – Genève, Jardin BotaniqueCarouge GE, Rondeau – Genève, Jardin Botanique 52.3%
86 trips · avg +3.5 min
-
Bus 54 Vernier, Parfumerie – Versoix, Centre sportifVernier, Parfumerie – Versoix, Centre sportif 52.5%
40 trips · avg +3.3 min
-
70 trips · avg +10.2 min
-
41 trips · avg +4 min
Most punctual busy lines
-
Bus 17 Lausanne, Vigie – Villars-Ste-Croix, Croix-PéageLausanne, Vigie – Villars-Ste-Croix, Croix-Péage 99.6%
248 trips · avg +0.1 min
-
212 trips · avg +0.6 min
-
211 trips · avg +0.7 min
-
Bus 3 Winterthur, Oberseen – Winterthur, RosenbergWinterthur, Oberseen – Winterthur, Rosenberg 98.5%
201 trips · avg +0.5 min
-
223 trips · avg +0.6 min
-
198 trips · avg +0.6 min
-
189 trips · avg +0.8 min
-
Tram 15 Zürich, Bahnhofstrasse/HB – Zürich Tiefenbrunnen, BahnhofZürich, Bahnhofstrasse/HB – Zürich Tiefenbrunnen, Bahnhof 97%
200 trips · avg +0.8 min
Least punctual busy lines
-
70 trips · avg +10.2 min
-
79 trips · avg +1.7 min
-
58 trips · avg +1.3 min
-
R15 Boudry Littorail – Neuchâtel Place Pury LittorailBoudry Littorail – Neuchâtel Place Pury Littorail 84.3%
102 trips · avg +1.9 min
-
116 trips · avg +2 min
-
65 trips · avg +1.1 min
-
50 trips · avg +1.1 min
-
41 trips · avg +1.9 min
Show 17 more
-
41 trips · avg +0.9 min
-
52 trips · avg +1.3 min
-
54 trips · avg +0.6 min
-
78 trips · avg +0.6 min
-
109 trips · avg +1 min
-
41 trips · avg +0.8 min
-
44 trips · avg +0.3 min
-
83 trips · avg +0.9 min
-
87 trips · avg +1.4 min
-
93 trips · avg +0.3 min
-
75 trips · avg +0.6 min
-
40 trips · avg +0.4 min
-
41 trips · avg +0.6 min
-
86 trips · avg +0.8 min
-
45 trips · avg +0.4 min
-
71 trips · avg +0.6 min
-
145 trips · avg +0.5 min
Most punctual busy lines
-
117 trips · avg +0.5 min
-
116 trips · avg +0.1 min
-
115 trips · avg +0.4 min
-
114 trips · avg +0.5 min
-
114 trips · avg +0.4 min
-
111 trips · avg +0.2 min
-
103 trips · avg +0.1 min
-
80 trips · avg +0.3 min
Least punctual busy lines
-
Tram 8 Basel, Neuweilerstrasse – Weil am Rhein, Bahnhof/ZentrumBasel, Neuweilerstrasse – Weil am Rhein, Bahnhof/Zentrum 51.7%
180 trips · avg +3.7 min
-
216 trips · avg +2.4 min
-
208 trips · avg +2.8 min
-
204 trips · avg +2.8 min
-
203 trips · avg +2.6 min
-
207 trips · avg +2.2 min
-
206 trips · avg +1.6 min
-
210 trips · avg +1.1 min
Show 17 more
-
221 trips · avg +1.1 min
-
Tram 10 Zürich Flughafen, Fracht – Zürich, Bahnhofplatz/HBZürich Flughafen, Fracht – Zürich, Bahnhofplatz/HB 91.8%
159 trips · avg +1.3 min
-
Tram 7 Stettbach, Bahnhof – Zürich, WollishoferplatzStettbach, Bahnhof – Zürich, Wollishoferplatz 91.9%
210 trips · avg +1.2 min
-
208 trips · avg +1.1 min
-
223 trips · avg +1.1 min
-
Tram 11 Zürich, Central – Zürich Tiefenbrunnen, BahnhofZürich, Central – Zürich Tiefenbrunnen, Bahnhof 93.8%
208 trips · avg +1 min
-
Tram 51 Zürich Altstetten, Bahnhof N – Zürich, SeebachZürich Altstetten, Bahnhof N – Zürich, Seebach 94.1%
219 trips · avg +1.2 min
-
213 trips · avg +1.3 min
-
440 trips · avg +1 min
-
Tram 12 Stettbach, Bahnhof – Zürich Flughafen, FrachtStettbach, Bahnhof – Zürich Flughafen, Fracht 94.8%
154 trips · avg +1.3 min
-
209 trips · avg +1.2 min
-
88 trips · avg +0.7 min
-
206 trips · avg +1.2 min
-
Tram 20 Killwangen, Bahnhof – Zürich Altstetten, BahnhofKillwangen, Bahnhof – Zürich Altstetten, Bahnhof 96.6%
146 trips · avg +1 min
-
Tram 15 Zürich, Bahnhofstrasse/HB – Zürich Tiefenbrunnen, BahnhofZürich, Bahnhofstrasse/HB – Zürich Tiefenbrunnen, Bahnhof 97%
200 trips · avg +0.8 min
-
211 trips · avg +0.7 min
-
128 trips · avg +0.1 min
Most punctual busy lines
-
128 trips · avg +0.1 min
-
211 trips · avg +0.7 min
-
Tram 15 Zürich, Bahnhofstrasse/HB – Zürich Tiefenbrunnen, BahnhofZürich, Bahnhofstrasse/HB – Zürich Tiefenbrunnen, Bahnhof 97%
200 trips · avg +0.8 min
-
Tram 20 Killwangen, Bahnhof – Zürich Altstetten, BahnhofKillwangen, Bahnhof – Zürich Altstetten, Bahnhof 96.6%
146 trips · avg +1 min
-
206 trips · avg +1.2 min
-
88 trips · avg +0.7 min
-
209 trips · avg +1.2 min
-
Tram 12 Stettbach, Bahnhof – Zürich Flughafen, FrachtStettbach, Bahnhof – Zürich Flughafen, Fracht 94.8%
154 trips · avg +1.3 min
Least punctual busy lines
-
124 trips · avg +8.5 min
-
Bus 101 Cormondrèche, Grand'Rue – Marin-Epagnier, gareCormondrèche, Grand'Rue – Marin-Epagnier, gare 30.5%
105 trips · avg +6.5 min
-
Bus 109 Neuchâtel, Place Pury – Neuchâtel, Trois-ChênesNeuchâtel, Place Pury – Neuchâtel, Trois-Chênes 31%
116 trips · avg +4.4 min
-
74 trips · avg +3.9 min
-
Bus 40 Grand-Lancy, Stade de Genève – Chancy, douaneGrand-Lancy, Stade de Genève – Chancy, douane 33.3%
42 trips · avg +5.2 min
-
Bus 501 Estavayer-le-Lac,Champ-de-Lune – Estavayer-le-Lac, plageEstavayer-le-Lac,Champ-de-Lune – Estavayer-le-Lac, plage 41.7%
48 trips · avg +3.8 min
-
148 trips · avg +3.8 min
-
44 trips · avg +3.6 min
Show 17 more
-
43 trips · avg +4.1 min
-
Bus 9 Vernier, Lignon Tours – Thônex, Belle-Terre Pl. AraireVernier, Lignon Tours – Thônex, Belle-Terre Pl. Araire 46.7%
122 trips · avg +4.4 min
-
Bus 68 Thoiry, Centre commercial – Vernier, BlandonnetThoiry, Centre commercial – Vernier, Blandonnet 47.5%
40 trips · avg +5 min
-
Bus 55 Chavannes-des-Bois – Genève-Aéroport, TerminalChavannes-des-Bois – Genève-Aéroport, Terminal 47.7%
44 trips · avg +3.2 min
-
145 trips · avg +6.9 min
-
72 trips · avg +6.8 min
-
43 trips · avg +6 min
-
Bus 122 Grindelwald, Gletscherschlucht – Grindelwald, KlusiGrindelwald, Gletscherschlucht – Grindelwald, Klusi 51.2%
41 trips · avg +2.8 min
-
256 trips · avg +6.1 min
-
149 trips · avg +2.7 min
-
Bus 22 Carouge GE, Rondeau – Genève, Jardin BotaniqueCarouge GE, Rondeau – Genève, Jardin Botanique 52.3%
86 trips · avg +3.5 min
-
Bus 54 Vernier, Parfumerie – Versoix, Centre sportifVernier, Parfumerie – Versoix, Centre sportif 52.5%
40 trips · avg +3.3 min
-
41 trips · avg +4 min
-
163 trips · avg +3.6 min
-
Bus 10 Schliern, Bus-Endstation – Ostermundigen, RütiSchliern, Bus-Endstation – Ostermundigen, Rüti 54%
298 trips · avg +2.9 min
-
221 trips · avg +3.2 min
-
Bus 3 Canobbio, Mercato Resega – Breganzona, PostaCanobbio, Mercato Resega – Breganzona, Posta 55.3%
150 trips · avg +4.2 min
Most punctual busy lines
-
162 trips · avg +0.1 min
-
Bus 38 Renens VD, gare – Renens VD, Temple de BroyeRenens VD, gare – Renens VD, Temple de Broye 100%
162 trips · avg +0.1 min
-
Bus 17 Lausanne, Vigie – Villars-Ste-Croix, Croix-PéageLausanne, Vigie – Villars-Ste-Croix, Croix-Péage 99.6%
248 trips · avg +0.1 min
-
150 trips · avg +1 min
-
212 trips · avg +0.6 min
-
Bus 7 Elsau, Melcher – Winterthur Wülflingen, BahnhofElsau, Melcher – Winterthur Wülflingen, Bahnhof 98.7%
152 trips · avg +0.3 min
-
Bus 3 Winterthur, Oberseen – Winterthur, RosenbergWinterthur, Oberseen – Winterthur, Rosenberg 98.5%
201 trips · avg +0.5 min
-
152 trips · avg +0.4 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) 11.9%
134 trips · avg +6.9 min
-
134 trips · avg +5.9 min
-
46 trips · avg +0.4 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%
46 trips · avg +0.5 min
Least punctual operators
-
Mouettes genevoises 39.2%
360 trips · avg +4.9 min
-
TPL 70.4%
1,189 trips · avg +3 min
-
TPG 72.6%
5,857 trips · avg +2.6 min
-
Transports Publics Neuchâtelois 74.1%
1,085 trips · avg +2.3 min
-
VBL 77.3%
2,717 trips · avg +1.9 min
-
Berner Oberland-Bahnen 77.4%
137 trips · avg +1.5 min
-
Verkehrsbetrieb LIECHTENSTEINmobil 79.1%
628 trips · avg +1.8 min
-
BVB 79.7%
3,817 trips · avg +1.9 min
Show 17 more
-
tl 81%
6,487 trips · avg +2.4 min
-
Bus Nyon-Prangins 81.5%
108 trips · avg +1.5 min
-
Autolinee FART 83.1%
670 trips · avg +1.2 min
-
Matterhorn Gotthard Bahn 84.5%
322 trips · avg +1.6 min
-
Sierre-Montana-Crans 85.3%
300 trips · avg +1.4 min
-
Autobetrieb Sernftal 85.5%
110 trips · avg +1.5 min
-
AFA Bus 85.5%
227 trips · avg +1.1 min
-
Busbetrieb Olten-Gösgen-Gäu 85.6%
606 trips · avg +1.2 min
-
Regionale Verkehrsbetriebe Baden-Wettingen 85.8%
993 trips · avg +1.4 min
-
Bernmobil 86.3%
4,247 trips · avg +1.4 min
-
Verkehrsbetrieb der Landschaft Davos 87.1%
318 trips · avg +1 min
-
Transports publics Vevey-Montreux-Chillon-Villeneuve 87.5%
638 trips · avg +1.6 min
-
Transports Publics du Chablais 88%
736 trips · avg +1.2 min
-
Autolinee Bleniesi 88.2%
110 trips · avg +1 min
-
STI Bus 88.3%
1,510 trips · avg +1.9 min
-
Busbetrieb Aarau 88.6%
807 trips · avg +1 min
-
Bus und Service 89.6%
1,023 trips · avg +1.2 min
Most punctual operators
-
Sihltal-Zürich-Uetliberg-Bahn 100%
237 trips · avg +0.2 min
-
Automobildienst SZU 98.9%
1,322 trips · avg +0.3 min
-
Appenzeller Bahnen 99.6%
277 trips · avg +0.3 min
-
Schweizerische Südostbahn 99.2%
482 trips · avg +0.3 min
-
Verkehrsbetriebe Kreuzlingen 99%
407 trips · avg +0.4 min
-
THURBO 98.4%
1,100 trips · avg +0.3 min
-
BLS 98.1%
1,516 trips · avg +0.4 min
-
Stadtbus Winterthur 98%
1,527 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 97.2%
1,524 departures · avg +1 min
-
Zürich Oerlikon 99.1%
859 departures · avg +0.7 min
-
Bern 98.4%
801 departures · avg +1 min
-
Zürich Stadelhofen 98.2%
715 departures · avg +0.8 min
-
Winterthur 96.7%
696 departures · avg +1 min
-
Zürich Hardbrücke 96.2%
686 departures · avg +1.5 min
-
Olten 93.8%
612 departures · avg +1.5 min
-
Lausanne 92.8%
538 departures · avg +1.3 min
-
Aarau 95.1%
490 departures · avg +0.9 min
-
St. Gallen 95.6%
479 departures · avg +1.1 min
-
Renens VD 92.6%
473 departures · avg +1.3 min
-
Luzern 99.5%
426 departures · avg +0.6 min
-
Genève, gare Cornavin 77.3%
1,821 departures · avg +2.1 min
-
Genève, Bel-Air 80.4%
1,717 departures · avg +2 min
-
Luzern, Kantonalbank 82.4%
1,701 departures · avg +1.8 min
-
Bern, Bahnhof 83.3%
1,696 departures · avg +1.9 min
-
Zürich, Central 94.5%
1,656 departures · avg +1.1 min
-
Basel, Bahnhof SBB 89.4%
1,618 departures · avg +1.5 min
-
Luzern, Bahnhof 93.2%
1,555 departures · avg +1.1 min
-
Zürich HB 97.2%
1,524 departures · avg +1 min
-
Bern, Zytglogge 86%
1,505 departures · avg +1.7 min
-
1,422 departures · avg +1.2 min
-
Zürich, Bellevue 93.7%
1,310 departures · avg +1.2 min
-
Luzern, Pilatusplatz 80.3%
1,275 departures · avg +1.9 min
-
Wilderswil 75.6%
135 departures · avg +2.1 min
-
Colombier NE Littorail 77.5%
102 departures · avg +2.9 min
-
Zweilütschinen 78.5%
121 departures · avg +1.6 min
-
Brig 79.1%
129 departures · avg +2.7 min
-
Sissach 80.6%
180 departures · avg +1.6 min
-
Matten b. Interlaken 80.7%
135 departures · avg +2 min
-
Täsch 81%
121 departures · avg +1.8 min
-
102 departures · avg +2.4 min
-
Neuchâtel Evole 81.4%
102 departures · avg +2.3 min
-
102 departures · avg +2.5 min
-
Neuchâtel Serrières Ruau 82.4%
102 departures · avg +2.3 min
-
Muhen Nord 83%
112 departures · avg +1.3 min
Largest delays
- ICE Interlaken Ostand 3 more trips of this line +211 min
- Bus 1 Gebenstorf, Reuss – Würenlos, Bettlen Würenlos, Bettlen +179 min
- Tram 12 Genève, Plainpalais +139 min
- Bus 379 Wildegg, Bahnhof/Talstrasse – Auenstein, Gemeindehaus Schinznach Dorf, Oberdorf +136 min
- Bus 47 Grandv, P. Grana +136 min
- Bus 440 Echallens, gare – Moudon, gare Moudon, gare +104 min
- Bus 25 Sigriswil, Dorf – Thun, Bahnhof Gunten, Dorfand 2 more trips of this line +100 min
- Bus 21 Thun, Bahnhof – Interlaken Ost, Bahnhof Thun, Bahnhofand 4 more trips of this line +99 min
- Bus 24 Lausanne, Bourdonnette – Lausanne, Ouchy-Olympique Bourdonnette +95 min
- Bus 501 Scheid, Oberscheid – Tumegl/Tomils, Curschiglias Scheid, Oberscheid +88 min
- EC Bregenz – Zürich HB Zürich HB +83 min