Punctuality of Swiss public transportWednesday 1 April 2026
86.7% of 146,996 trips were on time. The share was lowest at 17:30: 66.9%. Of the busy lines, M1 Genève-Pâquis (lac) – Genève-Molard (lac) had the lowest share on time: 32.4%.
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.
86.7%
−0.4 ptsDay before: 87.1% · 146,996 trips with live data
Average delay
+1.4 min
Canceled trips
664
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: Tuesday 31 March
- Lowest points
The disruptions of this day were not recorded, so the chart cannot show its incidents.
By mode
-
Train 95.8%
14,395 trips · avg +0.7 min
-
Tram 86.1%
10,490 trips · avg +1.4 min
-
Bus 85.8%
121,601 trips · avg +1.4 min
-
Metro 78.9%
336 trips · avg +1.7 min
-
Boat 33.9%
174 trips · avg +5.2 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
-
148 trips · avg +5.4 min
-
62 trips · avg +4 min
-
149 trips · avg +4.1 min
-
175 trips · avg +5.6 min
-
74 trips · avg +3.5 min
-
Bus 3 Canobbio, Mercato Resega – Breganzona, PostaCanobbio, Mercato Resega – Breganzona, Posta 44.5%
218 trips · avg +7.3 min
-
Bus 109 Neuchâtel, Place Pury – Neuchâtel, Trois-ChênesNeuchâtel, Place Pury – Neuchâtel, Trois-Chênes 47.4%
209 trips · avg +3.6 min
-
Bus 6 Lausanne, Maladière – Lausanne, Praz-SéchaudLausanne, Maladière – Lausanne, Praz-Séchaud 47.9%
219 trips · avg +6.1 min
Show 17 more
-
202 trips · avg +7.3 min
-
56 trips · avg +3.5 min
-
Bus 33 Prilly, Mont-Goulin – St-Sulpice VD, Venoge nordPrilly, Mont-Goulin – St-Sulpice VD, Venoge nord 50.3%
153 trips · avg +5 min
-
64 trips · avg +3.3 min
-
256 trips · avg +3.3 min
-
64 trips · avg +2.9 min
-
172 trips · avg +3.3 min
-
Bus 1 Schaffhausen, Waldfriedhof – Neuhausen, HerbstäckerSchaffhausen, Waldfriedhof – Neuhausen, Herbstäcker 57.6%
205 trips · avg +2.8 min
-
215 trips · avg +4.2 min
-
110 trips · avg +4.1 min
-
Bus 33 Zürich, Triemli – Zürich Tiefenbrunnen, BahnhofZürich, Triemli – Zürich Tiefenbrunnen, Bahnhof 58.6%
292 trips · avg +3.2 min
-
324 trips · avg +3.9 min
-
122 trips · avg +4.1 min
-
132 trips · avg +2.8 min
-
49 trips · avg +2.9 min
-
50 trips · avg +3.5 min
-
174 trips · avg +3.1 min
Most punctual busy lines
-
306 trips · avg +0.7 min
-
Bus 30 Basel, Badischer Bahnhof – Basel, Bahnhof SBBBasel, Badischer Bahnhof – Basel, Bahnhof SBB 96.5%
375 trips · avg +0.8 min
-
379 trips · avg +1.1 min
-
214 trips · avg +0.8 min
-
294 trips · avg +0.8 min
-
240 trips · avg +1 min
-
Bus 1 Winterthur, Oberwinterthur – Winterthur, TössWinterthur, Oberwinterthur – Winterthur, Töss 94%
285 trips · avg +1.1 min
-
228 trips · avg +0.8 min
Least punctual busy lines
-
132 trips · avg +2.8 min
-
107 trips · avg +2 min
-
67 trips · avg +4.2 min
-
41 trips · avg +1.2 min
-
76 trips · avg +1.1 min
-
41 trips · avg +0.5 min
-
53 trips · avg +3 min
-
44 trips · avg +0.7 min
Show 17 more
-
68 trips · avg +1.3 min
-
59 trips · avg +0.7 min
-
50 trips · avg +0.9 min
-
82 trips · avg +1.1 min
-
116 trips · avg +0.9 min
-
53 trips · avg +0.7 min
-
74 trips · avg +0.9 min
-
78 trips · avg +0.8 min
-
79 trips · avg +0.8 min
-
40 trips · avg +0.3 min
-
97 trips · avg +0.6 min
-
75 trips · avg +0.8 min
-
75 trips · avg +1 min
-
50 trips · avg +0.7 min
-
78 trips · avg +0.4 min
-
79 trips · avg +0.5 min
-
79 trips · avg +0.6 min
Most punctual busy lines
-
208 trips · avg +0.2 min
-
146 trips · avg +0.3 min
-
126 trips · avg +0.1 min
-
126 trips · avg +0.2 min
-
91 trips · avg +0.3 min
-
84 trips · avg +0.5 min
-
80 trips · avg +0.2 min
-
79 trips · avg +0.1 min
Least punctual busy lines
-
289 trips · avg +1.8 min
-
287 trips · avg +2 min
-
Tram 14 Basel, Dreirosenbrücke – Pratteln, SchlossstrasseBasel, Dreirosenbrücke – Pratteln, Schlossstrasse 80.2%
283 trips · avg +1.8 min
-
374 trips · avg +1.8 min
-
291 trips · avg +1.9 min
-
299 trips · avg +1.5 min
-
274 trips · avg +1.7 min
-
300 trips · avg +1.4 min
Show 9 more
-
190 trips · avg +1.1 min
-
Tram 51 Zürich Altstetten, Bahnhof N – Zürich, SeebachZürich Altstetten, Bahnhof N – Zürich, Seebach 88%
308 trips · avg +1.3 min
-
292 trips · avg +1.3 min
-
303 trips · avg +1.4 min
-
296 trips · avg +0.9 min
-
276 trips · avg +1.2 min
-
177 trips · avg +1 min
-
294 trips · avg +0.8 min
-
Tram 20 Killwangen, Bahnhof – Zürich Altstetten, BahnhofKillwangen, Bahnhof – Zürich Altstetten, Bahnhof 98.7%
155 trips · avg +0.9 min
Most punctual busy lines
-
Tram 20 Killwangen, Bahnhof – Zürich Altstetten, BahnhofKillwangen, Bahnhof – Zürich Altstetten, Bahnhof 98.7%
155 trips · avg +0.9 min
-
294 trips · avg +0.8 min
-
177 trips · avg +1 min
-
276 trips · avg +1.2 min
-
296 trips · avg +0.9 min
-
303 trips · avg +1.4 min
-
292 trips · avg +1.3 min
-
Tram 51 Zürich Altstetten, Bahnhof N – Zürich, SeebachZürich Altstetten, Bahnhof N – Zürich, Seebach 88%
308 trips · avg +1.3 min
Least punctual busy lines
-
62 trips · avg +4 min
-
149 trips · avg +4.1 min
-
175 trips · avg +5.6 min
-
74 trips · avg +3.5 min
-
Bus 3 Canobbio, Mercato Resega – Breganzona, PostaCanobbio, Mercato Resega – Breganzona, Posta 44.5%
218 trips · avg +7.3 min
-
Bus 109 Neuchâtel, Place Pury – Neuchâtel, Trois-ChênesNeuchâtel, Place Pury – Neuchâtel, Trois-Chênes 47.4%
209 trips · avg +3.6 min
-
Bus 6 Lausanne, Maladière – Lausanne, Praz-SéchaudLausanne, Maladière – Lausanne, Praz-Séchaud 47.9%
219 trips · avg +6.1 min
-
202 trips · avg +7.3 min
Show 17 more
-
56 trips · avg +3.5 min
-
Bus 33 Prilly, Mont-Goulin – St-Sulpice VD, Venoge nordPrilly, Mont-Goulin – St-Sulpice VD, Venoge nord 50.3%
153 trips · avg +5 min
-
64 trips · avg +3.3 min
-
256 trips · avg +3.3 min
-
64 trips · avg +2.9 min
-
172 trips · avg +3.3 min
-
Bus 1 Schaffhausen, Waldfriedhof – Neuhausen, HerbstäckerSchaffhausen, Waldfriedhof – Neuhausen, Herbstäcker 57.6%
205 trips · avg +2.8 min
-
215 trips · avg +4.2 min
-
110 trips · avg +4.1 min
-
Bus 33 Zürich, Triemli – Zürich Tiefenbrunnen, BahnhofZürich, Triemli – Zürich Tiefenbrunnen, Bahnhof 58.6%
292 trips · avg +3.2 min
-
324 trips · avg +3.9 min
-
122 trips · avg +4.1 min
-
49 trips · avg +2.9 min
-
50 trips · avg +3.5 min
-
174 trips · avg +3.1 min
-
151 trips · avg +2.6 min
-
53 trips · avg +3.4 min
Most punctual busy lines
-
Bus 5 St. Gallen, Riethüsli – St. Gallen, RotmontenSt. Gallen, Riethüsli – St. Gallen, Rotmonten 98.1%
208 trips · avg +0.8 min
-
194 trips · avg +0.9 min
-
Bus 30 Basel, Badischer Bahnhof – Basel, Bahnhof SBBBasel, Badischer Bahnhof – Basel, Bahnhof SBB 96.5%
375 trips · avg +0.8 min
-
379 trips · avg +1.1 min
-
214 trips · avg +0.8 min
-
240 trips · avg +1 min
-
Bus 1 Winterthur, Oberwinterthur – Winterthur, TössWinterthur, Oberwinterthur – Winterthur, Töss 94%
285 trips · avg +1.1 min
-
228 trips · avg +0.8 min
Least punctual operators
-
Mouettes genevoises 33.9%
174 trips · avg +5.2 min
-
Lugano-Ponte Tresa 59.1%
132 trips · avg +2.8 min
-
TPL 60.6%
1,613 trips · avg +4.2 min
-
VBL 65.1%
3,910 trips · avg +3 min
-
Automobil Rottal 69.6%
448 trips · avg +2.3 min
-
Auto AG Rothenburg 73.5%
762 trips · avg +2.1 min
-
Transports Publics Neuchâtelois 74.2%
2,850 trips · avg +2.2 min
-
Busbetrieb Aarau 75.5%
935 trips · avg +2.2 min
Show 17 more
-
Sierre-Montana-Crans 77.4%
279 trips · avg +2 min
-
Bus Nyon-Prangins 78.2%
380 trips · avg +1.8 min
-
Busbetrieb Rapperswil-Eschenbach-Rüti ZH 78.5%
274 trips · avg +2 min
-
Autolinee Regionali Luganesi 78.7%
225 trips · avg +1.8 min
-
Bus und Service 79.1%
1,507 trips · avg +1.9 min
-
Busbetrieb Solothurn und Umgebung 79.6%
739 trips · avg +1.8 min
-
tl 79.6%
6,878 trips · avg +2 min
-
TPG 80.4%
5,338 trips · avg +1.7 min
-
Verkehrsbetrieb LIECHTENSTEINmobil 80.6%
882 trips · avg +1.9 min
-
Stadtbus Frauenfeld 80.8%
574 trips · avg +1.9 min
-
Verkehrsbetriebe Schaffhausen 80.8%
1,968 trips · avg +1.7 min
-
BVB 80.8%
4,798 trips · avg +1.8 min
-
Verkehrsbetriebe Biel 81.4%
1,403 trips · avg +1.7 min
-
Regionale Verkehrsbetriebe Baden-Wettingen 81.5%
1,387 trips · avg +1.7 min
-
Regiobus Gossau SG 82.4%
672 trips · avg +1.7 min
-
Autolinea Mendrisiense 82.6%
373 trips · avg +1.4 min
-
VBZ 82.7%
16,755 trips · avg +1.7 min
Most punctual operators
-
Regionalverkehr Bern-Solothurn 100%
606 trips · avg +0.2 min
-
Sihltal-Zürich-Uetliberg-Bahn 100%
313 trips · avg +0.5 min
-
BLS 98.8%
1,555 trips · avg +0.4 min
-
Zentralbahn 99.2%
361 trips · avg +0.3 min
-
THURBO 98.4%
1,114 trips · avg +0.3 min
-
Aare Seeland mobil 98.8%
338 trips · avg +0.4 min
-
Schweizerische Südostbahn 98.4%
516 trips · avg +0.5 min
-
RhB 98.2%
510 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 94.2%
1,737 departures · avg +1.1 min
-
Bern 97.7%
1,062 departures · avg +0.8 min
-
Zürich Oerlikon 94.2%
919 departures · avg +1.1 min
-
Zürich Stadelhofen 87.7%
700 departures · avg +1.5 min
-
Winterthur 98.3%
692 departures · avg +0.8 min
-
Zürich Hardbrücke 78.1%
677 departures · avg +2.2 min
-
Olten 93.5%
601 departures · avg +1.1 min
-
St. Gallen 96.4%
532 departures · avg +0.9 min
-
Aarau 96.9%
522 departures · avg +0.9 min
-
Lausanne 92.4%
497 departures · avg +1.3 min
-
Renens VD 94.7%
489 departures · avg +1.1 min
-
Worblaufen 99.4%
480 departures · avg +0.8 min
-
Bern, Bahnhof 95.1%
2,968 departures · avg +1.1 min
-
Luzern, Kantonalbank 72.3%
2,451 departures · avg +2.5 min
-
Basel, Schifflände 86.8%
2,252 departures · avg +1.6 min
-
Bern, Hirschengraben 90.8%
2,251 departures · avg +1.5 min
-
Zürich, Central 92.4%
2,247 departures · avg +1.2 min
-
Bern, Zytglogge 91%
2,178 departures · avg +1.4 min
-
Luzern, Bahnhof 80.8%
2,123 departures · avg +1.9 min
-
Zürich, Bellevue 93.6%
2,117 departures · avg +1.2 min
-
2,114 departures · avg +1.5 min
-
St. Gallen, Bahnhof 90.3%
2,105 departures · avg +1.3 min
-
Lausanne, Bel-Air 65.5%
2,101 departures · avg +3 min
-
1,942 departures · avg +1.3 min
-
Magliaso 36.4%
132 departures · avg +4.3 min
-
Agno 36.4%
132 departures · avg +4.3 min
-
Serocca 37.1%
132 departures · avg +4.1 min
-
Magliaso Paese 37.9%
132 departures · avg +4.2 min
-
Bioggio Molinazzo 42.4%
132 departures · avg +3.8 min
-
Bioggio 46.2%
132 departures · avg +3.4 min
-
Caslano 53%
132 departures · avg +3.5 min
-
Sorengo Laghetto 54.5%
132 departures · avg +3.3 min
-
Sorengo 56.8%
132 departures · avg +3.1 min
-
Cappella-Agnuzzo 57.6%
132 departures · avg +3 min
-
St. Gallen Marktplatz 64.5%
110 departures · avg +2.6 min
-
Lustmühle 68.5%
108 departures · avg +2.6 min
Largest delays
- Bus 8 Corminboeuf, anc. poste – Marly, piscine Marly, piscineand 1 more trips of this line +295 min
- ICE Basel SBBand 1 more trips of this line +69 min
- Bus 847 Diessenhofen, Bahnhof – Marthalen, Bahnhof Marthalen, Bahnhofand 13 more trips of this line +64 min
- Bus 727 Yens, gare – Lavigny, café Yens, gare +64 min
- Bus 407 Amsteg, Dorf – Bristen, Talstation Golzern Bristen, Talstation Golzern +63 min