Punctuality of Swiss public transportFriday 29 May 2026
83.8% of 152,799 trips were on time. The share was lowest at 17:20: 68%. Of the busy lines, S60 Lugano FLP – Ponte Tresa had the lowest share on time: 20.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.
83.8%
−0.6 ptsDay before: 84.4% · 152,799 trips with live data
Average delay
+1.5 min
Canceled trips
723
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 28 May
- Lowest points
The disruptions of this day were not recorded, so the chart cannot show its incidents.
By mode
-
Train 91.9%
14,459 trips · avg +1 min
-
Tram 80.8%
11,904 trips · avg +1.8 min
-
Bus 83.3%
125,760 trips · avg +1.6 min
-
Metro 62.4%
335 trips · avg +8.4 min
-
Boat 62.5%
341 trips · avg +3.3 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
-
129 trips · avg +5.7 min
-
49 trips · avg +4.3 min
-
65 trips · avg +4.3 min
-
56 trips · avg +4.1 min
-
Bus 109 Neuchâtel, Place Pury – Neuchâtel, Trois-ChênesNeuchâtel, Place Pury – Neuchâtel, Trois-Chênes 38.5%
213 trips · avg +4 min
-
254 trips · avg +4 min
-
M2 Genève-Pâquis (lac) – Genève-Quai Gustave Ador (lac)Genève-Pâquis (lac) – Genève-Quai Gustave Ador (lac) 41.9%
148 trips · avg +4.8 min
-
Bus 501 Estavayer-le-Lac,Champ-de-Lune – Estavayer-le-Lac, plageEstavayer-le-Lac,Champ-de-Lune – Estavayer-le-Lac, plage 42.9%
56 trips · avg +4.9 min
Show 17 more
-
57 trips · avg +3.7 min
-
Bus 765 Dietlikon, Schwimmbad – Zürich Flughafen, BahnhofDietlikon, Schwimmbad – Zürich Flughafen, Bahnhof 46.4%
153 trips · avg +3.7 min
-
99 trips · avg +3.5 min
-
219 trips · avg +4.4 min
-
160 trips · avg +4.5 min
-
Bus 163 Kilchberg ZH, Bahnhof – Kilchberg ZH, Schlimbergstr.Kilchberg ZH, Bahnhof – Kilchberg ZH, Schlimbergstr. 47.4%
76 trips · avg +2.9 min
-
173 trips · avg +3.6 min
-
Bus 165 Rüschlikon, Park im Grüene – Zürich, BürkliplatzRüschlikon, Park im Grüene – Zürich, Bürkliplatz 48.2%
110 trips · avg +4.4 min
-
202 trips · avg +3.7 min
-
104 trips · avg +3.3 min
-
44 trips · avg +3.1 min
-
Bus 6 Biel/Bienne, Spitalzentrum/CHB – Port, BellevueBiel/Bienne, Spitalzentrum/CHB – Port, Bellevue 50.7%
146 trips · avg +3.3 min
-
326 trips · avg +3.5 min
-
Bus 50 Versoix, Centre sportif – Genève-Aéroport, TerminalVersoix, Centre sportif – Genève-Aéroport, Terminal 52.1%
73 trips · avg +4.5 min
-
44 trips · avg +6.2 min
-
114 trips · avg +3.3 min
-
Bus 3 Canobbio, Mercato Resega – Breganzona, PostaCanobbio, Mercato Resega – Breganzona, Posta 53.2%
218 trips · avg +4.5 min
Most punctual busy lines
-
246 trips · avg +0.9 min
-
Bus 781 Zürich Oerlikon, Bahnhof – Glattbrugg, GiebeleichstrasseZürich Oerlikon, Bahnhof – Glattbrugg, Giebeleichstrasse 96.1%
232 trips · avg +1 min
-
222 trips · avg +0.9 min
-
246 trips · avg +1 min
-
230 trips · avg +0.9 min
-
Bus 30 Basel, Badischer Bahnhof – Basel, Bahnhof SBBBasel, Badischer Bahnhof – Basel, Bahnhof SBB 93.5%
398 trips · avg +0.9 min
-
Bus 1 Winterthur, Oberwinterthur – Winterthur, TössWinterthur, Oberwinterthur – Winterthur, Töss 92.6%
283 trips · avg +1 min
-
Bus 101 Bern, Hauptbahnhof – Hinterkappelen, SchlossmattBern, Hauptbahnhof – Hinterkappelen, Schlossmatt 92.2%
282 trips · avg +0.9 min
Least punctual busy lines
-
129 trips · avg +5.7 min
-
64 trips · avg +6.6 min
-
114 trips · avg +2.2 min
-
78 trips · avg +5.5 min
-
126 trips · avg +1.1 min
-
75 trips · avg +1.4 min
-
60 trips · avg +1.1 min
-
301 trips · avg +1.7 min
Show 17 more
-
77 trips · avg +1.3 min
-
40 trips · avg +1.8 min
-
77 trips · avg +0.9 min
-
87 trips · avg +1 min
-
145 trips · avg +1 min
-
77 trips · avg +1 min
-
50 trips · avg +1 min
-
71 trips · avg +1.1 min
-
78 trips · avg +1 min
-
84 trips · avg +1 min
-
60 trips · avg +0.6 min
-
74 trips · avg +1.1 min
-
77 trips · avg +1 min
-
53 trips · avg +0.9 min
-
41 trips · avg +0.9 min
-
144 trips · avg +1.1 min
-
160 trips · avg +0.8 min
Most punctual busy lines
-
208 trips · avg +0.2 min
-
119 trips · avg +0.4 min
-
85 trips · avg +0.3 min
-
79 trips · avg +0.2 min
-
75 trips · avg +0.2 min
-
73 trips · avg +0.3 min
-
66 trips · avg +0.3 min
-
60 trips · avg +0 min
Least punctual busy lines
-
298 trips · avg +2 min
-
368 trips · avg +2.9 min
-
298 trips · avg +3 min
-
301 trips · avg +2.5 min
-
Tram 14 Basel, Dreirosenbrücke – Pratteln, SchlossstrasseBasel, Dreirosenbrücke – Pratteln, Schlossstrasse 69.6%
293 trips · avg +2.5 min
-
286 trips · avg +2.1 min
-
307 trips · avg +2.4 min
-
308 trips · avg +1.9 min
Show 14 more
-
256 trips · avg +2 min
-
Tram 9 Wabern, Tram-Endstation – Bern Wankdorf, BahnhofWabern, Tram-Endstation – Bern Wankdorf, Bahnhof 79.9%
353 trips · avg +1.9 min
-
288 trips · avg +1.7 min
-
302 trips · avg +2 min
-
424 trips · avg +1.3 min
-
306 trips · avg +1.7 min
-
182 trips · avg +1.4 min
-
299 trips · avg +1.3 min
-
296 trips · avg +1.2 min
-
Tram 51 Zürich Altstetten, Bahnhof N – Zürich, SeebachZürich Altstetten, Bahnhof N – Zürich, Seebach 88.6%
306 trips · avg +1.4 min
-
291 trips · avg +1.3 min
-
222 trips · avg +0.9 min
-
Tram 20 Killwangen, Bahnhof – Zürich Altstetten, BahnhofKillwangen, Bahnhof – Zürich Altstetten, Bahnhof 98.7%
155 trips · avg +0.8 min
-
148 trips · avg +0.2 min
Most punctual busy lines
-
148 trips · avg +0.2 min
-
Tram 20 Killwangen, Bahnhof – Zürich Altstetten, BahnhofKillwangen, Bahnhof – Zürich Altstetten, Bahnhof 98.7%
155 trips · avg +0.8 min
-
222 trips · avg +0.9 min
-
291 trips · avg +1.3 min
-
Tram 51 Zürich Altstetten, Bahnhof N – Zürich, SeebachZürich Altstetten, Bahnhof N – Zürich, Seebach 88.6%
306 trips · avg +1.4 min
-
296 trips · avg +1.2 min
-
299 trips · avg +1.3 min
-
182 trips · avg +1.4 min
Least punctual busy lines
-
49 trips · avg +4.3 min
-
65 trips · avg +4.3 min
-
56 trips · avg +4.1 min
-
Bus 109 Neuchâtel, Place Pury – Neuchâtel, Trois-ChênesNeuchâtel, Place Pury – Neuchâtel, Trois-Chênes 38.5%
213 trips · avg +4 min
-
254 trips · avg +4 min
-
Bus 501 Estavayer-le-Lac,Champ-de-Lune – Estavayer-le-Lac, plageEstavayer-le-Lac,Champ-de-Lune – Estavayer-le-Lac, plage 42.9%
56 trips · avg +4.9 min
-
57 trips · avg +3.7 min
-
Bus 765 Dietlikon, Schwimmbad – Zürich Flughafen, BahnhofDietlikon, Schwimmbad – Zürich Flughafen, Bahnhof 46.4%
153 trips · avg +3.7 min
Show 17 more
-
99 trips · avg +3.5 min
-
219 trips · avg +4.4 min
-
160 trips · avg +4.5 min
-
Bus 163 Kilchberg ZH, Bahnhof – Kilchberg ZH, Schlimbergstr.Kilchberg ZH, Bahnhof – Kilchberg ZH, Schlimbergstr. 47.4%
76 trips · avg +2.9 min
-
173 trips · avg +3.6 min
-
Bus 165 Rüschlikon, Park im Grüene – Zürich, BürkliplatzRüschlikon, Park im Grüene – Zürich, Bürkliplatz 48.2%
110 trips · avg +4.4 min
-
202 trips · avg +3.7 min
-
104 trips · avg +3.3 min
-
44 trips · avg +3.1 min
-
Bus 6 Biel/Bienne, Spitalzentrum/CHB – Port, BellevueBiel/Bienne, Spitalzentrum/CHB – Port, Bellevue 50.7%
146 trips · avg +3.3 min
-
326 trips · avg +3.5 min
-
Bus 50 Versoix, Centre sportif – Genève-Aéroport, TerminalVersoix, Centre sportif – Genève-Aéroport, Terminal 52.1%
73 trips · avg +4.5 min
-
44 trips · avg +6.2 min
-
114 trips · avg +3.3 min
-
Bus 3 Canobbio, Mercato Resega – Breganzona, PostaCanobbio, Mercato Resega – Breganzona, Posta 53.2%
218 trips · avg +4.5 min
-
Bus 33 Zürich, Triemli – Zürich Tiefenbrunnen, BahnhofZürich, Triemli – Zürich Tiefenbrunnen, Bahnhof 53.7%
300 trips · avg +3.1 min
-
104 trips · avg +5.4 min
Most punctual busy lines
-
203 trips · avg +0.6 min
-
Bus 6 St. Gallen, Bach St. Georgen – St. Gallen, HeiligkreuzSt. Gallen, Bach St. Georgen – St. Gallen, Heiligkreuz 97.6%
208 trips · avg +0.6 min
-
246 trips · avg +0.9 min
-
Bus 781 Zürich Oerlikon, Bahnhof – Glattbrugg, GiebeleichstrasseZürich Oerlikon, Bahnhof – Glattbrugg, Giebeleichstrasse 96.1%
232 trips · avg +1 min
-
Bus 5 St. Gallen, Riethüsli – St. Gallen, RotmontenSt. Gallen, Riethüsli – St. Gallen, Rotmonten 95.8%
214 trips · avg +0.9 min
-
246 trips · avg +1 min
-
Bus 611 Zug, St. Johannes – Oberwil b. Zug,Klinik ZugerseeZug, St. Johannes – Oberwil b. Zug,Klinik Zugersee 94.8%
213 trips · avg +0.9 min
-
212 trips · avg +0.9 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) 41.9%
148 trips · avg +4.8 min
-
93 trips · avg +3.4 min
-
50 trips · avg +1 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%
50 trips · avg +0.8 min
Least punctual operators
-
Lugano-Ponte Tresa 20.2%
129 trips · avg +5.7 min
-
VBL 58.9%
3,956 trips · avg +3.1 min
-
TPL 59.3%
1,616 trips · avg +3.5 min
-
Compagnie du chemin de fer Nyon - St-Cergue - Morez 61.5%
109 trips · avg +2.8 min
-
Mouettes genevoises 62.5%
341 trips · avg +3.3 min
-
Montreux-Oberland Bernois 64.8%
142 trips · avg +3 min
-
Autobetrieb Sernftal 66.4%
137 trips · avg +2.2 min
-
Automobil Rottal 66.7%
447 trips · avg +2.5 min
Show 17 more
-
Verkehrsbetrieb LIECHTENSTEINmobil 66.7%
926 trips · avg +3.1 min
-
Transports Publics Neuchâtelois 68.1%
2,829 trips · avg +2.5 min
-
Auto AG Rothenburg 73.1%
733 trips · avg +2.2 min
-
Verkehrsbetriebe Biel 74.5%
1,352 trips · avg +2.1 min
-
TPG 74.6%
9,819 trips · avg +2.1 min
-
BVB 75.5%
4,996 trips · avg +2.1 min
-
Matterhorn Gotthard Bahn 76.4%
326 trips · avg +1.7 min
-
Regiobus Gossau SG 77.5%
688 trips · avg +1.9 min
-
Bus und Service 77.6%
1,561 trips · avg +1.9 min
-
Bus Nyon-Prangins 77.7%
355 trips · avg +1.8 min
-
Busbetrieb Rapperswil-Eschenbach-Rüti ZH 77.9%
307 trips · avg +1.7 min
-
tl 78.5%
7,040 trips · avg +2.2 min
-
VBZ 79%
17,179 trips · avg +1.9 min
-
Busbetrieb Aarau 79.8%
955 trips · avg +1.8 min
-
Busbetrieb Solothurn und Umgebung 79.9%
793 trips · avg +1.6 min
-
Regionale Verkehrsbetriebe Baden-Wettingen 80.6%
1,395 trips · avg +1.6 min
-
Transports publics Vevey-Montreux-Chillon-Villeneuve 81.8%
1,205 trips · avg +1.6 min
Most punctual operators
-
THURBO 98.3%
1,110 trips · avg +0.4 min
-
Sihltal-Zürich-Uetliberg-Bahn 99.3%
268 trips · avg +0.4 min
-
Zentralbahn 98.4%
370 trips · avg +0.4 min
-
BLS 97.1%
1,550 trips · avg +0.6 min
-
Schweizerische Südostbahn 97.5%
515 trips · avg +0.5 min
-
Transports de la région Morges-Bière-Cossonay 99.1%
110 trips · avg +0.3 min
-
Aare Seeland mobil 96.8%
340 trips · avg +0.6 min
-
Wengernalpbahn 98.4%
123 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 91.6%
1,579 departures · avg +1.4 min
-
Bern 96%
1,073 departures · avg +1 min
-
Zürich Oerlikon 92.9%
920 departures · avg +1.3 min
-
Zürich Stadelhofen 88.8%
697 departures · avg +1.7 min
-
Winterthur 95.3%
688 departures · avg +1.2 min
-
Zürich Hardbrücke 76.8%
676 departures · avg +2.4 min
-
Olten 88.2%
612 departures · avg +1.6 min
-
St. Gallen 93.6%
531 departures · avg +1.2 min
-
Aarau 86.8%
521 departures · avg +1.4 min
-
Lausanne 90.3%
507 departures · avg +1.4 min
-
Renens VD 93%
497 departures · avg +1.2 min
-
Worblaufen 94.4%
479 departures · avg +1.1 min
-
Genève, gare Cornavin 78.2%
3,188 departures · avg +1.9 min
-
Bern, Bahnhof 93.3%
3,102 departures · avg +1.2 min
-
Genève, Bel-Air 80.9%
3,093 departures · avg +1.7 min
-
Basel, Schifflände 80.1%
2,354 departures · avg +1.9 min
-
Bern, Hirschengraben 88.1%
2,333 departures · avg +1.7 min
-
Zürich, Central 88.6%
2,328 departures · avg +1.5 min
-
Luzern, Kantonalbank 64.9%
2,291 departures · avg +2.7 min
-
Bern, Zytglogge 89.2%
2,254 departures · avg +1.6 min
-
Basel, Bahnhof SBB 85.4%
2,186 departures · avg +1.7 min
-
Zürich, Bellevue 83.4%
2,146 departures · avg +1.8 min
-
St. Gallen, Bahnhof 90.6%
2,144 departures · avg +1.3 min
-
Lausanne, Bel-Air 68.7%
2,142 departures · avg +2.5 min
-
Agno 17.8%
129 departures · avg +7.2 min
-
Magliaso 18.6%
129 departures · avg +7 min
-
Serocca 18.6%
129 departures · avg +7 min
-
Bioggio Molinazzo 18.6%
129 departures · avg +6.6 min
-
Cappella-Agnuzzo 19.4%
129 departures · avg +5.9 min
-
Caslano 20.2%
129 departures · avg +6.2 min
-
Magliaso Paese 20.9%
129 departures · avg +7.1 min
-
Bioggio 21.7%
129 departures · avg +6.3 min
-
Sorengo Laghetto 22.5%
129 departures · avg +5.7 min
-
Sorengo 32.6%
129 departures · avg +4.9 min
-
Château-de-Blonay 51.5%
101 departures · avg +3.1 min
-
Lustmühle 58.2%
110 departures · avg +3 min
Largest delays
- NJ Feldkirch – Zürich HB Zürich HB +103 min
- Bus 362 Moudon, gareand 3 more trips of this line +96 min
- Bus 610 Maloja, Posta – Pontresina, Bahnhof Pontresina, Bahnhof +88 min
- Tram 18 Grand-Lancy, Palettes – Meyrin, CERN Grand-Lancy, Palettes +86 min
- Bus 6 Lausanne, Maladière – Lausanne, Praz-Séchaud Praz-Séchaud +81 min
- Bus 42 Triesenberg, Leitawis – Triesenberg, Balischguad Triesenberg, Balischguadand 1 more trips of this line +77 min
- Bus 8 Le Mont-sur-L., Grand-Mont – Pully, gare Grand-Mont +65 min
- Tram 10 Zürich, Bahnhofplatz/HB +61 min
- Bus 42 Grand-Lancy, Stade de Genève – Avusy, village Avusy, village +59 min
- Bus 50 Versoix, Centre sportif – Genève-Aéroport, Terminal Versoix, Centre sportif +59 min
- Bus 68 Vernier, Blandonnetand 2 more trips of this line +58 min
- Bus 71 Lauwil, Dorf – Liestal, Bahnhof Lauwil, Dorf +58 min
- Bus 10 Genève-Aéroport, Terminal +57 min
- ICE Basel Bad Bfand 3 more trips of this line +54 min
- Bus 2 Genève, Plage – Bernex, Cressy Genève, Plage +54 min