Punctuality of Swiss public transportSunday 29 March 2026
94.5% of 93,657 trips were on time. The share was lowest at 16:30: 88.7%. Of the busy lines, Bus 101 Cormondrèche, Grand'Rue – Marin-Epagnier, gare had the lowest share on time: 27.6%.
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.
94.5%
+4.9 ptsDay before: 89.5% · 93,657 trips with live data
Average delay
+0.7 min
Canceled trips
430
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: Saturday 28 March
- Lowest points
The disruptions of this day were not recorded, so the chart cannot show its incidents.
By mode
-
Train 97.5%
12,549 trips · avg +0.5 min
-
Tram 90.7%
7,159 trips · avg +1.1 min
-
Bus 94.3%
73,728 trips · avg +0.7 min
-
Metro 100%
221 trips · avg +0.8 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 101 Cormondrèche, Grand'Rue – Marin-Epagnier, gareCormondrèche, Grand'Rue – Marin-Epagnier, gare 27.6%
98 trips · avg +4.3 min
-
Bus 109 Neuchâtel, Place Pury – Neuchâtel, Trois-ChênesNeuchâtel, Place Pury – Neuchâtel, Trois-Chênes 39.6%
111 trips · avg +3.3 min
-
148 trips · avg +3.3 min
-
149 trips · avg +2.9 min
-
74 trips · avg +3 min
-
183 trips · avg +2.5 min
-
Bus 33 Prilly, Mont-Goulin – St-Sulpice VD, Venoge nordPrilly, Mont-Goulin – St-Sulpice VD, Venoge nord 67.3%
153 trips · avg +2.5 min
-
175 trips · avg +2.6 min
Show 17 more
-
144 trips · avg +2.3 min
-
Bus 43 Plan-les-Ouates, Bellins – Bernex, Loëx HôpitalPlan-les-Ouates, Bellins – Bernex, Loëx Hôpital 69.8%
43 trips · avg +2.3 min
-
216 trips · avg +1.9 min
-
Tram 8 Basel, Neuweilerstrasse – Weil am Rhein, Bahnhof/ZentrumBasel, Neuweilerstrasse – Weil am Rhein, Bahnhof/Zentrum 73.2%
198 trips · avg +1.9 min
-
Bus 3 Canobbio, Mercato Resega – Breganzona, PostaCanobbio, Mercato Resega – Breganzona, Posta 73.3%
150 trips · avg +1.7 min
-
Tram 14 Basel, Dreirosenbrücke – Pratteln, SchlossstrasseBasel, Dreirosenbrücke – Pratteln, Schlossstrasse 73.7%
198 trips · avg +2.2 min
-
179 trips · avg +2.1 min
-
79 trips · avg +1.9 min
-
221 trips · avg +1.9 min
-
Bus 50 Basel EuroAirport, Verwaltung – Basel, Bahnhof SBBBasel EuroAirport, Verwaltung – Basel, Bahnhof SBB 75.4%
272 trips · avg +2.2 min
-
72 trips · avg +2.1 min
-
148 trips · avg +3.5 min
-
Bus 33 Zürich, Triemli – Zürich Tiefenbrunnen, BahnhofZürich, Triemli – Zürich Tiefenbrunnen, Bahnhof 77.5%
222 trips · avg +1.7 min
-
Bus 61 Wallisellen, Glatt (Bus) – Zürich, MühlackerWallisellen, Glatt (Bus) – Zürich, Mühlacker 77.6%
125 trips · avg +1.8 min
-
76 trips · avg +1.3 min
-
Bus 9 Villars-sur-Glâne, Coulat – Corminboeuf, Jo-SiffertVillars-sur-Glâne, Coulat – Corminboeuf, Jo-Siffert 78.4%
148 trips · avg +2.4 min
-
100 trips · avg +2.1 min
Most punctual busy lines
-
221 trips · avg +0.8 min
-
219 trips · avg +0.4 min
-
202 trips · avg +0.3 min
-
202 trips · avg +0.4 min
-
216 trips · avg +0.6 min
-
215 trips · avg +0.6 min
-
Tram 15 Zürich, Bahnhofstrasse/HB – Zürich Tiefenbrunnen, BahnhofZürich, Bahnhofstrasse/HB – Zürich Tiefenbrunnen, Bahnhof 99.1%
212 trips · avg +0.7 min
-
Bus 3 Winterthur, Oberseen – Winterthur, RosenbergWinterthur, Oberseen – Winterthur, Rosenberg 98.5%
202 trips · avg +0.5 min
Least punctual busy lines
-
R15 Boudry Littorail – Neuchâtel Place Pury LittorailBoudry Littorail – Neuchâtel Place Pury Littorail 83.7%
98 trips · avg +1.4 min
-
69 trips · avg +1 min
-
85 trips · avg +0.6 min
-
69 trips · avg +0.6 min
-
73 trips · avg +0.9 min
-
73 trips · avg +0.7 min
-
80 trips · avg +0.6 min
-
42 trips · avg +0.2 min
Show 17 more
-
44 trips · avg +0.3 min
-
112 trips · avg +0.8 min
-
51 trips · avg +0.9 min
-
77 trips · avg +0.4 min
-
53 trips · avg +0.6 min
-
74 trips · avg +0.7 min
-
74 trips · avg +0.7 min
-
114 trips · avg +0.7 min
-
117 trips · avg +0.5 min
-
78 trips · avg +0.4 min
-
79 trips · avg +0.4 min
-
79 trips · avg +0.3 min
-
40 trips · avg +0.7 min
-
81 trips · avg +0.3 min
-
83 trips · avg +0.5 min
-
42 trips · avg +0.4 min
-
42 trips · avg +0.3 min
Most punctual busy lines
-
219 trips · avg +0.4 min
-
123 trips · avg +0 min
-
118 trips · avg +0.2 min
-
117 trips · avg +0.1 min
-
116 trips · avg +0.1 min
-
116 trips · avg +0.2 min
-
105 trips · avg +0.1 min
-
86 trips · avg +0.1 min
Least punctual busy lines
-
216 trips · avg +1.9 min
-
Tram 8 Basel, Neuweilerstrasse – Weil am Rhein, Bahnhof/ZentrumBasel, Neuweilerstrasse – Weil am Rhein, Bahnhof/Zentrum 73.2%
198 trips · avg +1.9 min
-
Tram 14 Basel, Dreirosenbrücke – Pratteln, SchlossstrasseBasel, Dreirosenbrücke – Pratteln, Schlossstrasse 73.7%
198 trips · avg +2.2 min
-
221 trips · avg +1.8 min
-
193 trips · avg +1.9 min
-
201 trips · avg +1.6 min
-
195 trips · avg +1.5 min
-
216 trips · avg +1.1 min
Show 17 more
-
Tram 8 Bern, Saali – Bern Brünnen Westside, BahnhofBern, Saali – Bern Brünnen Westside, Bahnhof 85.7%
230 trips · avg +1.8 min
-
194 trips · avg +1.5 min
-
Tram 2 Binningen, Kronenplatz – Basel, Badischer BahnhofBinningen, Kronenplatz – Basel, Badischer Bahnhof 88.8%
197 trips · avg +1.5 min
-
144 trips · avg +0.9 min
-
77 trips · avg +0.8 min
-
227 trips · avg +1.5 min
-
Tram 51 Zürich Altstetten, Bahnhof N – Zürich, SeebachZürich Altstetten, Bahnhof N – Zürich, Seebach 92.9%
225 trips · avg +1.1 min
-
223 trips · avg +1.2 min
-
Tram 7 Stettbach, Bahnhof – Zürich, WollishoferplatzStettbach, Bahnhof – Zürich, Wollishoferplatz 94%
216 trips · avg +1 min
-
Tram 10 Zürich Flughafen, Fracht – Zürich, Bahnhofplatz/HBZürich Flughafen, Fracht – Zürich, Bahnhofplatz/HB 94.3%
159 trips · avg +0.9 min
-
214 trips · avg +1.2 min
-
159 trips · avg +1 min
-
Tram 11 Zürich, Central – Zürich Tiefenbrunnen, BahnhofZürich, Central – Zürich Tiefenbrunnen, Bahnhof 95.3%
214 trips · avg +0.8 min
-
217 trips · avg +1.1 min
-
223 trips · avg +0.9 min
-
Tram 12 Stettbach, Bahnhof – Zürich Flughafen, FrachtStettbach, Bahnhof – Zürich Flughafen, Fracht 96.8%
154 trips · avg +1 min
-
225 trips · avg +0.7 min
Most punctual busy lines
-
122 trips · avg +0.1 min
-
215 trips · avg +0.6 min
-
Tram 15 Zürich, Bahnhofstrasse/HB – Zürich Tiefenbrunnen, BahnhofZürich, Bahnhofstrasse/HB – Zürich Tiefenbrunnen, Bahnhof 99.1%
212 trips · avg +0.7 min
-
81 trips · avg +0.1 min
-
Tram 20 Killwangen, Bahnhof – Zürich Altstetten, BahnhofKillwangen, Bahnhof – Zürich Altstetten, Bahnhof 98.7%
155 trips · avg +0.6 min
-
225 trips · avg +0.7 min
-
Tram 12 Stettbach, Bahnhof – Zürich Flughafen, FrachtStettbach, Bahnhof – Zürich Flughafen, Fracht 96.8%
154 trips · avg +1 min
-
223 trips · avg +0.9 min
Least punctual busy lines
-
Bus 101 Cormondrèche, Grand'Rue – Marin-Epagnier, gareCormondrèche, Grand'Rue – Marin-Epagnier, gare 27.6%
98 trips · avg +4.3 min
-
Bus 109 Neuchâtel, Place Pury – Neuchâtel, Trois-ChênesNeuchâtel, Place Pury – Neuchâtel, Trois-Chênes 39.6%
111 trips · avg +3.3 min
-
148 trips · avg +3.3 min
-
149 trips · avg +2.9 min
-
74 trips · avg +3 min
-
183 trips · avg +2.5 min
-
Bus 33 Prilly, Mont-Goulin – St-Sulpice VD, Venoge nordPrilly, Mont-Goulin – St-Sulpice VD, Venoge nord 67.3%
153 trips · avg +2.5 min
-
175 trips · avg +2.6 min
Show 17 more
-
144 trips · avg +2.3 min
-
Bus 43 Plan-les-Ouates, Bellins – Bernex, Loëx HôpitalPlan-les-Ouates, Bellins – Bernex, Loëx Hôpital 69.8%
43 trips · avg +2.3 min
-
Bus 3 Canobbio, Mercato Resega – Breganzona, PostaCanobbio, Mercato Resega – Breganzona, Posta 73.3%
150 trips · avg +1.7 min
-
179 trips · avg +2.1 min
-
79 trips · avg +1.9 min
-
221 trips · avg +1.9 min
-
Bus 50 Basel EuroAirport, Verwaltung – Basel, Bahnhof SBBBasel EuroAirport, Verwaltung – Basel, Bahnhof SBB 75.4%
272 trips · avg +2.2 min
-
72 trips · avg +2.1 min
-
148 trips · avg +3.5 min
-
Bus 33 Zürich, Triemli – Zürich Tiefenbrunnen, BahnhofZürich, Triemli – Zürich Tiefenbrunnen, Bahnhof 77.5%
222 trips · avg +1.7 min
-
Bus 61 Wallisellen, Glatt (Bus) – Zürich, MühlackerWallisellen, Glatt (Bus) – Zürich, Mühlacker 77.6%
125 trips · avg +1.8 min
-
76 trips · avg +1.3 min
-
Bus 9 Villars-sur-Glâne, Coulat – Corminboeuf, Jo-SiffertVillars-sur-Glâne, Coulat – Corminboeuf, Jo-Siffert 78.4%
148 trips · avg +2.4 min
-
100 trips · avg +2.1 min
-
Bus 2 Spreitenbach, IKEA – Untersiggenthal, MühlewegSpreitenbach, IKEA – Untersiggenthal, Mühleweg 79.7%
74 trips · avg +1.7 min
-
214 trips · avg +1.4 min
-
Bus 1 Schaffhausen, Waldfriedhof – Neuhausen, HerbstäckerSchaffhausen, Waldfriedhof – Neuhausen, Herbstäcker 81.1%
111 trips · avg +1.6 min
Most punctual busy lines
-
202 trips · avg +0.3 min
-
Bus 302 Geroldswil, Zentrum – Urdorf Weihermatt, BahnhofGeroldswil, Zentrum – Urdorf Weihermatt, Bahnhof 100%
164 trips · avg +0.6 min
-
154 trips · avg +0.4 min
-
202 trips · avg +0.4 min
-
153 trips · avg +0.3 min
-
216 trips · avg +0.6 min
-
156 trips · avg +0.3 min
-
152 trips · avg +0.3 min
Least punctual operators
-
Transports Publics Neuchâtelois 78.6%
973 trips · avg +1.6 min
-
TPL 81.9%
1,186 trips · avg +1.5 min
-
Stadtbus Frauenfeld 82.2%
191 trips · avg +2.4 min
-
BVB 82.7%
3,320 trips · avg +1.6 min
-
Sierre-Montana-Crans 86.3%
263 trips · avg +1.2 min
-
Regionale Verkehrsbetriebe Baden-Wettingen 87.1%
984 trips · avg +1.3 min
-
VBL 88.1%
2,694 trips · avg +1.3 min
-
TPG 89.5%
2,448 trips · avg +0.9 min
Show 17 more
-
Matterhorn Gotthard Bahn 90.4%
344 trips · avg +1.2 min
-
Busbetrieb Solothurn und Umgebung 90.4%
376 trips · avg +1.1 min
-
Bus Nyon-Prangins 90.7%
108 trips · avg +0.8 min
-
Verkehrsbetrieb LIECHTENSTEINmobil 91.7%
507 trips · avg +1 min
-
tl 91.9%
5,388 trips · avg +1.1 min
-
Automobiles MBC 92%
647 trips · avg +0.9 min
-
TPF 92.2%
2,445 trips · avg +0.7 min
-
Busbetrieb Rapperswil-Eschenbach-Rüti ZH 92.9%
141 trips · avg +1.4 min
-
Verkehrsbetriebe Schaffhausen 93.2%
1,044 trips · avg +0.9 min
-
Transports Publics du Chablais 93.4%
778 trips · avg +0.7 min
-
VBZ 93.4%
10,756 trips · avg +1 min
-
Bernmobil 93.8%
3,330 trips · avg +1.1 min
-
Busbetrieb Olten-Gösgen-Gäu 93.9%
587 trips · avg +0.6 min
-
Verkehrsbetriebe Biel 94.5%
1,140 trips · avg +0.8 min
-
Bus und Service 94.5%
887 trips · avg +0.8 min
-
Service d'automobiles TRN 95%
141 trips · avg +0.9 min
-
Busbetrieb Aarau 95.2%
837 trips · avg +0.6 min
Most punctual operators
-
Regionalverkehr Bern-Solothurn 99.8%
424 trips · avg +0.1 min
-
Appenzeller Bahnen 100%
277 trips · avg +0.1 min
-
Automobildienst SZU 99.2%
1,326 trips · avg +0.2 min
-
Aargau Verkehr 99.2%
1,036 trips · avg +0.4 min
-
BLS 98.8%
1,377 trips · avg +0.3 min
-
THURBO 98.7%
1,096 trips · avg +0.3 min
-
Zentralbahn 99.4%
313 trips · avg +0.2 min
-
Aare Seeland mobil 99.6%
237 trips · avg +0.2 min
Stations
The share of the departures less than 3 minutes late. A train station has departures of trains.
-
Zürich HB 98.6%
1,611 departures · avg +0.8 min
-
Bern 98.1%
852 departures · avg +0.7 min
-
Zürich Oerlikon 99.2%
844 departures · avg +0.7 min
-
Zürich Stadelhofen 99.7%
699 departures · avg +0.7 min
-
Zürich Hardbrücke 97.3%
672 departures · avg +1.5 min
-
Winterthur 97.3%
655 departures · avg +0.8 min
-
Olten 94.7%
600 departures · avg +1 min
-
Aarau 97.3%
480 departures · avg +0.7 min
-
St. Gallen 96.1%
464 departures · avg +1 min
-
Lausanne 93.4%
455 departures · avg +1.2 min
-
Luzern 97.9%
436 departures · avg +0.7 min
-
Renens VD 95.5%
420 departures · avg +1 min
-
Bern, Bahnhof 97.8%
2,154 departures · avg +1 min
-
Luzern, Kantonalbank 92.9%
1,780 departures · avg +1.3 min
-
Lausanne, Bel-Air 85.9%
1,730 departures · avg +1.8 min
-
Bern, Hirschengraben 95.5%
1,640 departures · avg +1.4 min
-
Zürich HB 98.6%
1,611 departures · avg +0.8 min
-
Luzern, Bahnhof 97.6%
1,606 departures · avg +0.8 min
-
Zürich, Central 97.3%
1,537 departures · avg +0.9 min
-
Bern, Zytglogge 95.9%
1,502 departures · avg +1.3 min
-
Basel, Schifflände 87.6%
1,470 departures · avg +1.6 min
-
Basel, Bahnhof SBB 94.3%
1,401 departures · avg +1.2 min
-
1,379 departures · avg +1 min
-
Zürich, Bellevue 97.5%
1,332 departures · avg +0.8 min
-
Muhen Nord 83.6%
110 departures · avg +1.3 min
-
Oberentfelden Engelplatz 83.6%
110 departures · avg +1.3 min
-
Martigny 84.8%
178 departures · avg +1.7 min
-
Möhlin 86.6%
112 departures · avg +1.5 min
-
Stein-Säckingen 86.6%
112 departures · avg +1.4 min
-
Villeneuve VD 87%
123 departures · avg +2.2 min
-
Pully 88.1%
160 departures · avg +1.6 min
-
Baar 88.4%
155 departures · avg +1.6 min
-
Lutry 88.8%
160 departures · avg +1.5 min
-
Täsch 89.1%
119 departures · avg +1.6 min
-
Annemasse 89.4%
132 departures · avg +1.4 min
-
Minusio 89.5%
143 departures · avg +1.5 min
Largest delays
- EC Zürich HBand 1 more trips of this line +90 min
- SN Vallorbe +77 min
- R42 Brig Bahnhofplatz +73 min
- Bus 727 Yens, gare – Lavigny, café Yens, gare +70 min
- N2 Lausanne, Vers-chez-les-Blanc – Lausanne, St-François St-François +69 min
- Bus 60 Lausanne, Riponne-M. Béjart – Froideville, Laiterie Lausanne-Gareand 2 more trips of this line +64 min
- N1 Le Mont-sur-L., Grand-Mont – Lausanne, St-François Grand-Montand 2 more trips of this line +64 min
- N6 Grandvaux, Pra Grana – Lausanne, St-François St-Françoisand 3 more trips of this line +63 min
- N5 Lausanne, St-François – St-Sulpice VD, Venoge sud St-Françoisand 1 more trips of this line +63 min
- N4 Villars-Ste-Croix, En Coulaye – Lausanne, St-François Villars-Coulayeand 2 more trips of this line +62 min
- Bus 8 Schaffhausen, Bahnhof – Schaffhausen, Im Freien Schaffhausen, Bahnhof +62 min
- N3 Lausanne, Praz-Séchaud – Lausanne, St-François Praz-Séchaudand 2 more trips of this line +61 min
- M10 Bern, Bahnhof – Biel/Bienne, Orpundplatz Biel/Bienne, Orpundplatz +59 min
- M34 Biel/Bienne, Bahnhof/Gare – Lyss, Bahnhof Arch, Arche +59 min
- Bus 23 Carouge GE, Tours – Genève-Aéroport, Terminal Carouge GE, Tours +58 min