Punctuality of Swiss public transportThursday 26 March 2026
85.9% of 151,759 trips were on time. The share was lowest at 17:30: 66.9%. Of the busy lines, Bus 33 Prilly, Mont-Goulin – St-Sulpice VD, Venoge nord had the lowest share on time: 15%.
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.
85.9%
−0.8 ptsDay before: 86.7% · 151,759 trips with live data
Average delay
+1.5 min
Canceled trips
379
0.2% 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: Wednesday 25 March
- Lowest points
The disruptions of this day were not recorded, so the chart cannot show its incidents.
By mode
-
Train 92.4%
14,284 trips · avg +1 min
-
Tram 84.4%
11,453 trips · avg +1.6 min
-
Bus 85.3%
125,292 trips · avg +1.5 min
-
Metro 87.5%
335 trips · avg +1.5 min
-
Boat 59.7%
395 trips · avg +3.1 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 15%
153 trips · avg +11.8 min
-
43 trips · avg +7 min
-
74 trips · avg +5.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) 26.4%
148 trips · avg +5.1 min
-
149 trips · avg +4.2 min
-
56 trips · avg +4 min
-
62 trips · avg +3.9 min
-
75 trips · avg +5.7 min
Show 17 more
-
202 trips · avg +5.9 min
-
153 trips · avg +3.4 min
-
123 trips · avg +3.6 min
-
Bus 3 Canobbio, Mercato Resega – Breganzona, PostaCanobbio, Mercato Resega – Breganzona, Posta 50.5%
218 trips · avg +5.8 min
-
Bus 109 Neuchâtel, Place Pury – Neuchâtel, Trois-ChênesNeuchâtel, Place Pury – Neuchâtel, Trois-Chênes 51.6%
215 trips · avg +3.4 min
-
49 trips · avg +3.6 min
-
175 trips · avg +3.1 min
-
112 trips · avg +3.2 min
-
65 trips · avg +11.4 min
-
Bus 765 Dietlikon, Schwimmbad – Zürich Flughafen, BahnhofDietlikon, Schwimmbad – Zürich Flughafen, Bahnhof 58.6%
152 trips · avg +5.3 min
-
93 trips · avg +2.9 min
-
76 trips · avg +2.6 min
-
160 trips · avg +3.3 min
-
173 trips · avg +2.8 min
-
Bus 751 Stettbach, Bahnhof – Zürich, Kirche FlunternStettbach, Bahnhof – Zürich, Kirche Fluntern 62.5%
96 trips · avg +3.1 min
-
Bus 32 Zürich, Strassenverkehrsamt – Zürich, HolzerhurdZürich, Strassenverkehrsamt – Zürich, Holzerhurd 62.8%
325 trips · avg +2.8 min
-
43 trips · avg +3.3 min
Most punctual busy lines
-
306 trips · avg +0.7 min
-
225 trips · avg +0.6 min
-
Bus 781 Zürich Oerlikon, Bahnhof – Glattbrugg, GiebeleichstrasseZürich Oerlikon, Bahnhof – Glattbrugg, Giebeleichstrasse 96.7%
243 trips · avg +1 min
-
Bus 3 Winterthur, Oberseen – Winterthur, RosenbergWinterthur, Oberseen – Winterthur, Rosenberg 96.1%
283 trips · avg +0.7 min
-
293 trips · avg +0.8 min
-
218 trips · avg +0.8 min
-
296 trips · avg +0.9 min
-
240 trips · avg +0.9 min
Least punctual busy lines
-
65 trips · avg +11.4 min
-
65 trips · avg +3.6 min
-
73 trips · avg +4.4 min
-
48 trips · avg +2.7 min
-
40 trips · avg +1.7 min
-
53 trips · avg +2.3 min
-
40 trips · avg +1.4 min
-
132 trips · avg +1.2 min
Show 17 more
-
72 trips · avg +1.1 min
-
70 trips · avg +1.2 min
-
80 trips · avg +1.3 min
-
48 trips · avg +0.8 min
-
58 trips · avg +1.8 min
-
118 trips · avg +1.2 min
-
105 trips · avg +1.4 min
-
116 trips · avg +1.1 min
-
84 trips · avg +1 min
-
68 trips · avg +1.1 min
-
71 trips · avg +1.1 min
-
41 trips · avg +1.2 min
-
84 trips · avg +0.9 min
-
82 trips · avg +1.2 min
-
74 trips · avg +1.2 min
-
75 trips · avg +0.8 min
-
50 trips · avg +1 min
Most punctual busy lines
-
160 trips · avg +0.4 min
-
131 trips · avg +0.1 min
-
115 trips · avg +0.3 min
-
80 trips · avg +0.4 min
-
73 trips · avg +0.4 min
-
52 trips · avg +0 min
-
50 trips · avg +0.5 min
-
91 trips · avg +0.6 min
Least punctual busy lines
-
294 trips · avg +1.8 min
-
Tram 14 Basel, Dreirosenbrücke – Pratteln, SchlossstrasseBasel, Dreirosenbrücke – Pratteln, Schlossstrasse 71.8%
284 trips · avg +2.3 min
-
288 trips · avg +2.3 min
-
275 trips · avg +2 min
-
303 trips · avg +1.8 min
-
Tram 51 Zürich Altstetten, Bahnhof N – Zürich, SeebachZürich Altstetten, Bahnhof N – Zürich, Seebach 82.8%
308 trips · avg +1.8 min
-
380 trips · avg +1.7 min
-
306 trips · avg +1.7 min
Show 10 more
-
275 trips · avg +1.6 min
-
300 trips · avg +1.4 min
-
304 trips · avg +1.2 min
-
414 trips · avg +1.2 min
-
298 trips · avg +1.6 min
-
Tram 20 Killwangen, Bahnhof – Zürich Altstetten, BahnhofKillwangen, Bahnhof – Zürich Altstetten, Bahnhof 91%
155 trips · avg +1.5 min
-
121 trips · avg +0.9 min
-
296 trips · avg +0.9 min
-
293 trips · avg +0.8 min
-
142 trips · avg +0.1 min
Most punctual busy lines
-
142 trips · avg +0.1 min
-
293 trips · avg +0.8 min
-
296 trips · avg +0.9 min
-
121 trips · avg +0.9 min
-
Tram 20 Killwangen, Bahnhof – Zürich Altstetten, BahnhofKillwangen, Bahnhof – Zürich Altstetten, Bahnhof 91%
155 trips · avg +1.5 min
-
298 trips · avg +1.6 min
-
414 trips · avg +1.2 min
-
304 trips · avg +1.2 min
Least punctual busy lines
-
Bus 33 Prilly, Mont-Goulin – St-Sulpice VD, Venoge nordPrilly, Mont-Goulin – St-Sulpice VD, Venoge nord 15%
153 trips · avg +11.8 min
-
43 trips · avg +7 min
-
74 trips · avg +5.4 min
-
149 trips · avg +4.2 min
-
56 trips · avg +4 min
-
62 trips · avg +3.9 min
-
75 trips · avg +5.7 min
-
202 trips · avg +5.9 min
Show 17 more
-
153 trips · avg +3.4 min
-
123 trips · avg +3.6 min
-
Bus 3 Canobbio, Mercato Resega – Breganzona, PostaCanobbio, Mercato Resega – Breganzona, Posta 50.5%
218 trips · avg +5.8 min
-
Bus 109 Neuchâtel, Place Pury – Neuchâtel, Trois-ChênesNeuchâtel, Place Pury – Neuchâtel, Trois-Chênes 51.6%
215 trips · avg +3.4 min
-
49 trips · avg +3.6 min
-
175 trips · avg +3.1 min
-
112 trips · avg +3.2 min
-
Bus 765 Dietlikon, Schwimmbad – Zürich Flughafen, BahnhofDietlikon, Schwimmbad – Zürich Flughafen, Bahnhof 58.6%
152 trips · avg +5.3 min
-
93 trips · avg +2.9 min
-
76 trips · avg +2.6 min
-
160 trips · avg +3.3 min
-
173 trips · avg +2.8 min
-
Bus 751 Stettbach, Bahnhof – Zürich, Kirche FlunternStettbach, Bahnhof – Zürich, Kirche Fluntern 62.5%
96 trips · avg +3.1 min
-
Bus 32 Zürich, Strassenverkehrsamt – Zürich, HolzerhurdZürich, Strassenverkehrsamt – Zürich, Holzerhurd 62.8%
325 trips · avg +2.8 min
-
43 trips · avg +3.3 min
-
Bus 4 Chur, Austrasse – Chur, Seniorenzentrum CadonauChur, Austrasse – Chur, Seniorenzentrum Cadonau 63.3%
188 trips · avg +2.6 min
-
255 trips · avg +2.8 min
Most punctual busy lines
-
225 trips · avg +0.6 min
-
Bus 781 Zürich Oerlikon, Bahnhof – Glattbrugg, GiebeleichstrasseZürich Oerlikon, Bahnhof – Glattbrugg, Giebeleichstrasse 96.7%
243 trips · avg +1 min
-
Bus 6 St. Gallen, Bach St. Georgen – St. Gallen, HeiligkreuzSt. Gallen, Bach St. Georgen – St. Gallen, Heiligkreuz 96.6%
208 trips · avg +0.6 min
-
212 trips · avg +0.9 min
-
Bus 3 Winterthur, Oberseen – Winterthur, RosenbergWinterthur, Oberseen – Winterthur, Rosenberg 96.1%
283 trips · avg +0.7 min
-
218 trips · avg +0.8 min
-
203 trips · avg +0.8 min
-
Bus 5 St. Gallen, Riethüsli – St. Gallen, RotmontenSt. Gallen, Riethüsli – St. Gallen, Rotmonten 94.2%
208 trips · avg +1.2 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) 26.4%
148 trips · avg +5.1 min
-
148 trips · avg +2.6 min
-
M4 Genève-Port Noir (lac) – Genève-De-Châteaubriand (lac)Genève-Port Noir (lac) – Genève-De-Châteaubriand (lac) 93.9%
49 trips · avg +0.9 min
-
50 trips · avg +0.8 min
Least punctual operators
-
Compagnie du chemin de fer Nyon - St-Cergue - Morez 45.4%
108 trips · avg +4.3 min
-
Mouettes genevoises 59.7%
395 trips · avg +3.1 min
-
TPL 68.5%
1,613 trips · avg +3.1 min
-
VBL 68.6%
3,917 trips · avg +2.7 min
-
Automobil Rottal 70.2%
459 trips · avg +3.2 min
-
Sierre-Montana-Crans 72.1%
283 trips · avg +2.3 min
-
Verkehrsbetrieb LIECHTENSTEINmobil 72.6%
879 trips · avg +2.6 min
-
Transports Publics Neuchâtelois 73.1%
2,858 trips · avg +2.3 min
Show 17 more
-
BVB 74.7%
4,839 trips · avg +2.2 min
-
Auto AG Rothenburg 76.9%
728 trips · avg +2 min
-
Bus und Service 77.8%
1,481 trips · avg +2 min
-
Busbetrieb Solothurn und Umgebung 78.8%
749 trips · avg +1.8 min
-
TPG 79%
9,780 trips · avg +1.8 min
-
Bus Nyon-Prangins 79.2%
380 trips · avg +1.8 min
-
Auto AG Schwyz 80.1%
707 trips · avg +2.9 min
-
Busbetrieb Rapperswil-Eschenbach-Rüti ZH 80.5%
302 trips · avg +1.8 min
-
Bus Sierrois 80.5%
338 trips · avg +1.7 min
-
Regionale Verkehrsbetriebe Baden-Wettingen 80.8%
1,387 trips · avg +1.7 min
-
Montreux-Vevey-Riviera 81.1%
132 trips · avg +1.8 min
-
Regionalps 82.4%
188 trips · avg +1.5 min
-
Lugano-Ponte Tresa 82.6%
132 trips · avg +1.2 min
-
Matterhorn Gotthard Bahn 82.7%
335 trips · avg +1.9 min
-
VBZ 82.9%
16,816 trips · avg +1.7 min
-
Bamert Bus 83.1%
177 trips · avg +1.9 min
-
Bernmobil 83.3%
5,331 trips · avg +1.7 min
Most punctual operators
-
Lausanne-Echallens-Bercher 100%
131 trips · avg +0.1 min
-
Aare Seeland mobil 98.5%
338 trips · avg +0.4 min
-
THURBO 97.2%
1,113 trips · avg +0.5 min
-
Sihltal-Zürich-Uetliberg-Bahn 98.1%
313 trips · avg +0.7 min
-
Busbetrieb Lichtensteig-Wattwil-Ebnat-Kappel 99.1%
107 trips · avg +0.6 min
-
BLS 95.8%
1,510 trips · avg +0.7 min
-
Transports de la région Morges-Bière-Cossonay 99%
100 trips · avg +0.3 min
-
Automobildienst SZU 95.4%
1,770 trips · avg +0.7 min
Stations
The share of the departures less than 3 minutes late. A train station has departures of trains.
-
Zürich HB 92.3%
1,727 departures · avg +1.2 min
-
Bern 95.1%
1,062 departures · avg +1.2 min
-
Zürich Oerlikon 92.2%
915 departures · avg +1.2 min
-
699 departures · avg +1.6 min
-
Winterthur 94.6%
691 departures · avg +1.1 min
-
Zürich Hardbrücke 77.1%
673 departures · avg +2.3 min
-
Olten 88.8%
600 departures · avg +1.5 min
-
St. Gallen 91.5%
520 departures · avg +1.3 min
-
Aarau 94%
520 departures · avg +1 min
-
Lausanne 92.4%
498 departures · avg +1.8 min
-
Renens VD 93.4%
488 departures · avg +1.3 min
-
Worblaufen 95.4%
478 departures · avg +1.1 min
-
Genève, gare Cornavin 78.1%
3,200 departures · avg +1.8 min
-
Genève, Bel-Air 81.8%
3,076 departures · avg +1.6 min
-
Bern, Bahnhof 91.8%
2,952 departures · avg +1.3 min
-
2,457 departures · avg +2.3 min
-
Zürich, Central 93.1%
2,270 departures · avg +1.2 min
-
2,263 departures · avg +1.8 min
-
Bern, Hirschengraben 87.8%
2,235 departures · avg +1.7 min
-
Bern, Zytglogge 86.5%
2,163 departures · avg +1.7 min
-
Zürich, Bellevue 92.8%
2,148 departures · avg +1.2 min
-
Basel, Bahnhof SBB 85.3%
2,137 departures · avg +1.8 min
-
Luzern, Bahnhof 84.3%
2,123 departures · avg +1.9 min
-
Lausanne, Bel-Air 75.4%
2,112 departures · avg +2.2 min
-
Magliaso Paese 47.7%
132 departures · avg +2.9 min
-
Agno 50.8%
132 departures · avg +2.8 min
-
Magliaso 53%
132 departures · avg +2.7 min
-
St. Gallen Marktplatz 53.2%
109 departures · avg +3.1 min
-
Lustmühle 53.7%
108 departures · avg +3.5 min
-
Serocca 53.8%
132 departures · avg +2.6 min
-
St. Gallen Notkersegg 59.6%
109 departures · avg +2.9 min
-
St. Gallen Birnbäumen 60.6%
109 departures · avg +2.9 min
-
St. Gallen Güterbahnhof 63.9%
108 departures · avg +3 min
-
St. Gallen Riethüsli 63.9%
108 departures · avg +3 min
-
Niederteufen 64.3%
112 departures · avg +3 min
-
Bioggio Molinazzo 64.4%
132 departures · avg +2.3 min
Largest delays
- Bus 2 Fribourg, Schönberg Dunant – Villars-sur-Glâne, Les Dailles Fribourg, Schönberg Dunant +223 min
- Bus 61 Ettiswil, Post – Luzern, Bahnhof Luzern, Bahnhofand 1 more trips of this line +178 min
- NJ Feldkirch – Zürich HB Zürich HB +175 min
- EC Bregenz – Zürich HB Genèveand 1 more trips of this line +149 min
- Bus 180 Les Diablerets, gare – Saanen, Bahnhof Les Diablerets, gareand 8 more trips of this line +138 min
- Bus 507 Schindellegi, Chaltenboden +88 min
- Bus 311 Stans, Bahnhofand 2 more trips of this line +82 min
- Bus 170 Richterswil, Bahnhof – Samstagern, Bahnhof Samstagern, Bahnhof +73 min