Punctuality of Swiss public transportMonday 23 March 2026
89.2% of 151,058 trips were on time. The share was lowest at 17:30: 69.1%. Of the busy lines, Bus 33 Prilly, Mont-Goulin – St-Sulpice VD, Venoge nord had the lowest share on time: 23%.
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.2%
−3.8 ptsDay before: 93% · 151,058 trips with live data
Average delay
+1.2 min
Canceled trips
442
0.3% 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: Sunday 22 March
- Lowest points
The disruptions of this day were not recorded, so the chart cannot show its incidents.
By mode
-
Train 96%
14,348 trips · avg +0.8 min
-
Tram 87.7%
11,399 trips · avg +1.5 min
-
Bus 88.7%
124,579 trips · avg +1.2 min
-
Metro 81.8%
336 trips · avg +1.8 min
-
Boat 52.5%
396 trips · avg +3.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
-
Bus 33 Prilly, Mont-Goulin – St-Sulpice VD, Venoge nordPrilly, Mont-Goulin – St-Sulpice VD, Venoge nord 23%
148 trips · avg +9.9 min
-
M2 Genève-Pâquis (lac) – Genève-Quai Gustave Ador (lac)Genève-Pâquis (lac) – Genève-Quai Gustave Ador (lac) 35.1%
148 trips · avg +4.6 min
-
148 trips · avg +4.5 min
-
149 trips · avg +4.3 min
-
58 trips · avg +3.2 min
-
175 trips · avg +3.5 min
-
42 trips · avg +2.9 min
-
170 trips · avg +4.2 min
Show 17 more
-
Bus 109 Neuchâtel, Place Pury – Neuchâtel, Trois-ChênesNeuchâtel, Place Pury – Neuchâtel, Trois-Chênes 54.2%
212 trips · avg +3 min
-
74 trips · avg +3.5 min
-
99 trips · avg +3 min
-
123 trips · avg +3.6 min
-
63 trips · avg +10.5 min
-
287 trips · avg +3.5 min
-
75 trips · avg +2.1 min
-
Bus 3 Canobbio, Mercato Resega – Breganzona, PostaCanobbio, Mercato Resega – Breganzona, Posta 64.7%
218 trips · avg +3.2 min
-
111 trips · avg +3.7 min
-
151 trips · avg +2.4 min
-
Bus 456 Regensdorf-Watt, Bahnhof – Dielsdorf, BahnhofRegensdorf-Watt, Bahnhof – Dielsdorf, Bahnhof 65.1%
63 trips · avg +2.6 min
-
106 trips · avg +3 min
-
92 trips · avg +2.9 min
-
74 trips · avg +2.5 min
-
202 trips · avg +2.3 min
-
49 trips · avg +2.9 min
-
96 trips · avg +3.2 min
Most punctual busy lines
-
Bus 781 Zürich Oerlikon, Bahnhof – Glattbrugg, GiebeleichstrasseZürich Oerlikon, Bahnhof – Glattbrugg, Giebeleichstrasse 98.8%
243 trips · avg +0.7 min
-
228 trips · avg +0.5 min
-
289 trips · avg +0.7 min
-
306 trips · avg +0.8 min
-
240 trips · avg +0.9 min
-
Bus 101 Bern, Hauptbahnhof – Hinterkappelen, SchlossmattBern, Hauptbahnhof – Hinterkappelen, Schlossmatt 95.6%
270 trips · avg +0.7 min
-
Bus 30 Basel, Badischer Bahnhof – Basel, Bahnhof SBBBasel, Badischer Bahnhof – Basel, Bahnhof SBB 95.3%
386 trips · avg +0.9 min
-
379 trips · avg +1 min
Least punctual busy lines
-
63 trips · avg +10.5 min
-
74 trips · avg +2.6 min
-
107 trips · avg +1.3 min
-
132 trips · avg +1 min
-
76 trips · avg +1.3 min
-
78 trips · avg +0.9 min
-
40 trips · avg +0.8 min
-
41 trips · avg +1.6 min
Show 17 more
-
59 trips · avg +0.6 min
-
82 trips · avg +1.1 min
-
69 trips · avg +0.3 min
-
75 trips · avg +0.8 min
-
75 trips · avg +0.9 min
-
79 trips · avg +0.6 min
-
81 trips · avg +0.4 min
-
41 trips · avg +0.8 min
-
91 trips · avg +1 min
-
118 trips · avg +0.8 min
-
48 trips · avg +0.5 min
-
50 trips · avg +1 min
-
53 trips · avg +0.6 min
-
84 trips · avg +0.8 min
-
60 trips · avg +0.8 min
-
67 trips · avg +0.4 min
-
68 trips · avg +0.5 min
Most punctual busy lines
-
208 trips · avg +0.2 min
-
126 trips · avg +0.2 min
-
115 trips · avg +0.4 min
-
80 trips · avg +0.4 min
-
78 trips · avg +0.5 min
-
77 trips · avg +0.5 min
-
77 trips · avg +0.2 min
-
76 trips · avg +0.1 min
Least punctual busy lines
-
294 trips · avg +1.7 min
-
286 trips · avg +2.1 min
-
273 trips · avg +2 min
-
Tram 14 Basel, Dreirosenbrücke – Pratteln, SchlossstrasseBasel, Dreirosenbrücke – Pratteln, Schlossstrasse 77.7%
282 trips · avg +1.9 min
-
293 trips · avg +5.4 min
-
274 trips · avg +1.6 min
-
413 trips · avg +1.1 min
-
304 trips · avg +1.4 min
Show 11 more
-
253 trips · avg +1 min
-
382 trips · avg +1.4 min
-
291 trips · avg +1.6 min
-
Tram 51 Zürich Altstetten, Bahnhof N – Zürich, SeebachZürich Altstetten, Bahnhof N – Zürich, Seebach 91.8%
306 trips · avg +1.1 min
-
300 trips · avg +1 min
-
304 trips · avg +1 min
-
291 trips · avg +0.8 min
-
Tram 20 Killwangen, Bahnhof – Zürich Altstetten, BahnhofKillwangen, Bahnhof – Zürich Altstetten, Bahnhof 94.2%
155 trips · avg +1.2 min
-
124 trips · avg +0.6 min
-
289 trips · avg +0.7 min
-
141 trips · avg +0.1 min
Most punctual busy lines
-
141 trips · avg +0.1 min
-
289 trips · avg +0.7 min
-
124 trips · avg +0.6 min
-
Tram 20 Killwangen, Bahnhof – Zürich Altstetten, BahnhofKillwangen, Bahnhof – Zürich Altstetten, Bahnhof 94.2%
155 trips · avg +1.2 min
-
291 trips · avg +0.8 min
-
304 trips · avg +1 min
-
300 trips · avg +1 min
-
Tram 51 Zürich Altstetten, Bahnhof N – Zürich, SeebachZürich Altstetten, Bahnhof N – Zürich, Seebach 91.8%
306 trips · avg +1.1 min
Least punctual busy lines
-
Bus 33 Prilly, Mont-Goulin – St-Sulpice VD, Venoge nordPrilly, Mont-Goulin – St-Sulpice VD, Venoge nord 23%
148 trips · avg +9.9 min
-
149 trips · avg +4.3 min
-
58 trips · avg +3.2 min
-
175 trips · avg +3.5 min
-
42 trips · avg +2.9 min
-
170 trips · avg +4.2 min
-
Bus 109 Neuchâtel, Place Pury – Neuchâtel, Trois-ChênesNeuchâtel, Place Pury – Neuchâtel, Trois-Chênes 54.2%
212 trips · avg +3 min
-
74 trips · avg +3.5 min
Show 17 more
-
99 trips · avg +3 min
-
123 trips · avg +3.6 min
-
287 trips · avg +3.5 min
-
75 trips · avg +2.1 min
-
Bus 3 Canobbio, Mercato Resega – Breganzona, PostaCanobbio, Mercato Resega – Breganzona, Posta 64.7%
218 trips · avg +3.2 min
-
111 trips · avg +3.7 min
-
151 trips · avg +2.4 min
-
Bus 456 Regensdorf-Watt, Bahnhof – Dielsdorf, BahnhofRegensdorf-Watt, Bahnhof – Dielsdorf, Bahnhof 65.1%
63 trips · avg +2.6 min
-
106 trips · avg +3 min
-
92 trips · avg +2.9 min
-
74 trips · avg +2.5 min
-
202 trips · avg +2.3 min
-
49 trips · avg +2.9 min
-
96 trips · avg +3.2 min
-
Bus 4 Chur, Austrasse – Chur, Seniorenzentrum CadonauChur, Austrasse – Chur, Seniorenzentrum Cadonau 67.9%
196 trips · avg +2.4 min
-
Bus 62 Zürich, Waidhof – Zürich, SchwamendingerplatzZürich, Waidhof – Zürich, Schwamendingerplatz 68.2%
179 trips · avg +2.2 min
-
330 trips · avg +2.8 min
Most punctual busy lines
-
Bus 781 Zürich Oerlikon, Bahnhof – Glattbrugg, GiebeleichstrasseZürich Oerlikon, Bahnhof – Glattbrugg, Giebeleichstrasse 98.8%
243 trips · avg +0.7 min
-
228 trips · avg +0.5 min
-
Bus 5 St. Gallen, Riethüsli – St. Gallen, RotmontenSt. Gallen, Riethüsli – St. Gallen, Rotmonten 97.6%
208 trips · avg +0.8 min
-
240 trips · avg +0.9 min
-
Bus 101 Bern, Hauptbahnhof – Hinterkappelen, SchlossmattBern, Hauptbahnhof – Hinterkappelen, Schlossmatt 95.6%
270 trips · avg +0.7 min
-
Bus 30 Basel, Badischer Bahnhof – Basel, Bahnhof SBBBasel, Badischer Bahnhof – Basel, Bahnhof SBB 95.3%
386 trips · avg +0.9 min
-
200 trips · avg +0.7 min
-
379 trips · avg +1 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) 35.1%
148 trips · avg +4.6 min
-
148 trips · avg +4.5 min
-
M4 Genève-Port Noir (lac) – Genève-De-Châteaubriand (lac)Genève-Port Noir (lac) – Genève-De-Châteaubriand (lac) 98%
50 trips · avg +0.4 min
-
50 trips · avg +0.5 min
Least punctual operators
-
Mouettes genevoises 52.5%
396 trips · avg +3.5 min
-
Compagnie du chemin de fer Nyon - St-Cergue - Morez 60.2%
108 trips · avg +2.4 min
-
TPL 72%
1,613 trips · avg +2.5 min
-
VBL 75.1%
3,922 trips · avg +2.4 min
-
Transports Publics Neuchâtelois 76.2%
2,853 trips · avg +2 min
-
BVB 76.9%
4,834 trips · avg +2.2 min
-
Verkehrsbetrieb LIECHTENSTEINmobil 77%
849 trips · avg +2.8 min
-
Automobil Rottal 77.2%
457 trips · avg +1.9 min
Show 17 more
-
Bus und Service 78.4%
1,473 trips · avg +1.8 min
-
Auto AG Rothenburg 79.6%
761 trips · avg +1.7 min
-
DB Regio AG Baden-Württemberg 81%
126 trips · avg +1.3 min
-
TPG 81.6%
9,700 trips · avg +1.7 min
-
Bus Nyon-Prangins 81.9%
386 trips · avg +1.6 min
-
Busbetrieb Solothurn und Umgebung 83.4%
749 trips · avg +1.5 min
-
Regionale Verkehrsbetriebe Baden-Wettingen 84.8%
1,387 trips · avg +1.4 min
-
tl 84.9%
6,879 trips · avg +1.7 min
-
Bus Sierrois 86.4%
338 trips · avg +1.3 min
-
Bernmobil 86.5%
5,321 trips · avg +1.8 min
-
TPF 86.6%
4,125 trips · avg +1.4 min
-
Sierre-Montana-Crans 86.9%
283 trips · avg +1.4 min
-
Autobus AG Liestal 87.8%
867 trips · avg +1.3 min
-
VBZ 87.9%
16,737 trips · avg +1.3 min
-
Busbetrieb Aarau 88.2%
935 trips · avg +1.3 min
-
Busbetrieb Rapperswil-Eschenbach-Rüti ZH 88.3%
298 trips · avg +1.2 min
-
Autolinee Regionali Luganesi 88.3%
230 trips · avg +1.2 min
Most punctual operators
-
Regionalverkehr Bern-Solothurn 99.7%
606 trips · avg +0.2 min
-
THURBO 99.3%
1,112 trips · avg +0.3 min
-
Aare Seeland mobil 99.7%
338 trips · avg +0.2 min
-
Sihltal-Zürich-Uetliberg-Bahn 99.7%
313 trips · avg +0.5 min
-
Zentralbahn 99.2%
361 trips · avg +0.2 min
-
Appenzeller Bahnen 99.1%
345 trips · avg +0.3 min
-
Schweizerische Südostbahn 98.8%
512 trips · avg +0.4 min
-
Regionalps 99.5%
188 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%
1,738 departures · avg +1 min
-
Bern 96.5%
1,064 departures · avg +1 min
-
Zürich Oerlikon 97.2%
920 departures · avg +0.9 min
-
Zürich Stadelhofen 95.7%
700 departures · avg +1.2 min
-
Winterthur 98.8%
692 departures · avg +0.8 min
-
Zürich Hardbrücke 88.6%
676 departures · avg +1.9 min
-
Olten 96%
603 departures · avg +1.4 min
-
Aarau 95.6%
523 departures · avg +0.9 min
-
St. Gallen 96.7%
517 departures · avg +0.8 min
-
Lausanne 91.8%
499 departures · avg +1.5 min
-
Renens VD 93.5%
489 departures · avg +1.2 min
-
Worblaufen 99.2%
480 departures · avg +0.8 min
-
Genève, gare Cornavin 83.7%
3,143 departures · avg +1.5 min
-
Genève, Bel-Air 86.3%
3,041 departures · avg +1.4 min
-
Bern, Bahnhof 91.4%
2,945 departures · avg +1.7 min
-
Luzern, Kantonalbank 82.7%
2,460 departures · avg +1.9 min
-
Basel, Schifflände 82.5%
2,259 departures · avg +2 min
-
Zürich, Central 94.3%
2,259 departures · avg +1 min
-
Bern, Hirschengraben 87.8%
2,227 departures · avg +2.2 min
-
Bern, Zytglogge 88%
2,153 departures · avg +2.2 min
-
Zürich, Bellevue 95.3%
2,139 departures · avg +1 min
-
Basel, Bahnhof SBB 86.5%
2,134 departures · avg +1.7 min
-
Luzern, Bahnhof 89.6%
2,126 departures · avg +1.5 min
-
Lausanne, Bel-Air 79.5%
2,106 departures · avg +2 min
-
Oberentfelden Engelplatz 71.9%
153 departures · avg +1.8 min
-
Muhen Nord 72.5%
153 departures · avg +1.7 min
-
St. Gallen Marktplatz 74.3%
109 departures · avg +2.3 min
-
Lustmühle 76.6%
107 departures · avg +2.4 min
-
Magliaso Paese 77.3%
132 departures · avg +2.3 min
-
St. Gallen Güterbahnhof 79.4%
107 departures · avg +2 min
-
Agno 79.5%
132 departures · avg +2.3 min
-
Bioggio Molinazzo 79.5%
132 departures · avg +1.9 min
-
St. Gallen Riethüsli 80.4%
107 departures · avg +2 min
-
Magliaso 81.8%
132 departures · avg +2.1 min
-
Serocca 81.8%
132 departures · avg +2.1 min
-
110 departures · avg +3 min
Largest delays
- Bus 8 Corminboeuf, anc. poste – Marly, piscine Corminboeuf, anc. poste +316 min
- Bus 22 Triesenberg, Dorfzentrum – Gaflei, Klinik Triesenberg, Dorfzentrumand 3 more trips of this line +119 min
- NJ Feldkirch – Zürich HB Zürich HBand 1 more trips of this line +114 min
- Bus 42 Triesenberg, Leitawis – Triesenberg, Balischguad Triesenberg, Leitawisand 1 more trips of this line +114 min
- ICE Interlaken Ostand 7 more trips of this line +112 min
- Bus 51 Vernier, CO Renard – Genève, Nations Vernier, CO Renard +68 min
- Bus 161 Zürich, Bürkliplatz – Kilchberg ZH, Neuweid Zürich, Bürkliplatz +66 min
- Bus 10 Schliern, Bus-Endstation – Ostermundigen, Rüti Schliern, Bus-Endstation +64 min