Punctuality of Swiss public transportThursday 12 March 2026
86.2% of 148,144 trips were on time. The share was lowest at 17:30: 65.3%. Of the busy lines, Bus 101 Marin-Epagnier, gare – Cormondrèche, Grand'Rue had the lowest share on time: 18.9%.
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.2%
−0.4 ptsDay before: 86.6% · 148,144 trips with live data
Average delay
+1.4 min
Canceled trips
967
0.6% 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 11 March
- Lowest points
The disruptions of this day were not recorded, so the chart cannot show its incidents.
By mode
-
Train 94.9%
14,302 trips · avg +0.8 min
-
Tram 81.1%
11,443 trips · avg +1.9 min
-
Bus 85.8%
121,667 trips · avg +1.4 min
-
Metro 90.2%
336 trips · avg +1.4 min
-
Boat 57.1%
396 trips · avg +3.4 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 Marin-Epagnier, gare – Cormondrèche, Grand'RueMarin-Epagnier, gare – Cormondrèche, Grand'Rue 18.9%
238 trips · avg +6.3 min
-
149 trips · avg +4 min
-
62 trips · avg +4.9 min
-
132 trips · avg +4.7 min
-
49 trips · avg +3.6 min
-
148 trips · avg +4.6 min
-
Bus 107 Marin-Epagnier, gare – Neuchâtel, Place PuryMarin-Epagnier, gare – Neuchâtel, Place Pury 41.4%
210 trips · avg +3.6 min
-
102 trips · avg +5.7 min
Show 17 more
-
Bus 109 Neuchâtel, Place Pury – Neuchâtel, Trois-ChênesNeuchâtel, Place Pury – Neuchâtel, Trois-Chênes 45.6%
215 trips · avg +3.6 min
-
Bus 2 Brügg BE, Bahnhof – Biel/Bienne, OrpundplatzBrügg BE, Bahnhof – Biel/Bienne, Orpundplatz 45.6%
204 trips · avg +4.1 min
-
92 trips · avg +5 min
-
M2 Genève-Pâquis (lac) – Genève-Quai Gustave Ador (lac)Genève-Pâquis (lac) – Genève-Quai Gustave Ador (lac) 47.3%
148 trips · avg +4.1 min
-
85 trips · avg +3.8 min
-
57 trips · avg +3.5 min
-
207 trips · avg +4.2 min
-
Bus 50 Basel, Bahnhof SBB – Basel EuroAirport, VerwaltungBasel, Bahnhof SBB – Basel EuroAirport, Verwaltung 51.1%
268 trips · avg +3.5 min
-
Bus 106 Neuchâtel, Place Pury – Neuchâtel,Vallon de l'ErmitageNeuchâtel, Place Pury – Neuchâtel,Vallon de l'Ermitage 51.4%
70 trips · avg +3 min
-
58 trips · avg +2.6 min
-
170 trips · avg +4.7 min
-
Tram 3 St-Louis, Gare de Saint-Louis – Birsfelden, HardSt-Louis, Gare de Saint-Louis – Birsfelden, Hard 51.9%
287 trips · avg +3.7 min
-
40 trips · avg +2.6 min
-
110 trips · avg +4.4 min
-
Bus 4 Nidau, Burgerallee – Biel/Bienne, Vorhölzli/Bois-DvNidau, Burgerallee – Biel/Bienne, Vorhölzli/Bois-Dv 54.3%
140 trips · avg +2.9 min
-
Bus 61 Wallisellen, Glatt (Bus) – Zürich, MühlackerWallisellen, Glatt (Bus) – Zürich, Mühlacker 55.1%
158 trips · avg +3.1 min
-
152 trips · avg +3.3 min
Most punctual busy lines
-
294 trips · avg +0.7 min
-
306 trips · avg +0.7 min
-
379 trips · avg +1.1 min
-
Bus 1 Winterthur, Oberwinterthur – Winterthur, TössWinterthur, Oberwinterthur – Winterthur, Töss 94.4%
286 trips · avg +0.8 min
-
288 trips · avg +0.8 min
-
312 trips · avg +0.9 min
-
Bus 101 Bern, Hauptbahnhof – Hinterkappelen, SchlossmattBern, Hauptbahnhof – Hinterkappelen, Schlossmatt 92.3%
271 trips · avg +0.9 min
-
296 trips · avg +0.9 min
Least punctual busy lines
-
132 trips · avg +4.7 min
-
63 trips · avg +6.6 min
-
108 trips · avg +2.7 min
-
40 trips · avg +2.8 min
-
40 trips · avg +1.4 min
-
107 trips · avg +1.2 min
-
76 trips · avg +1.2 min
-
82 trips · avg +1.1 min
Show 17 more
-
103 trips · avg +1.4 min
-
76 trips · avg +1.4 min
-
40 trips · avg +1.1 min
-
74 trips · avg +1.7 min
-
65 trips · avg +0.7 min
-
122 trips · avg +1 min
-
80 trips · avg +0.9 min
-
59 trips · avg +0.4 min
-
50 trips · avg +0.9 min
-
41 trips · avg +1.1 min
-
41 trips · avg +1.2 min
-
69 trips · avg +0.5 min
-
75 trips · avg +0.8 min
-
74 trips · avg +0.4 min
-
77 trips · avg +0.7 min
-
77 trips · avg +0.5 min
-
79 trips · avg +1.1 min
Most punctual busy lines
-
122 trips · avg +0.3 min
-
119 trips · avg +0.3 min
-
115 trips · avg +0.4 min
-
105 trips · avg +0.7 min
-
81 trips · avg +0.4 min
-
80 trips · avg +0.2 min
-
79 trips · avg +0.5 min
-
79 trips · avg +0.1 min
Least punctual busy lines
-
Tram 3 St-Louis, Gare de Saint-Louis – Birsfelden, HardSt-Louis, Gare de Saint-Louis – Birsfelden, Hard 51.9%
287 trips · avg +3.7 min
-
288 trips · avg +3 min
-
Tram 8 Weil am Rhein, Bahnhof/Zentrum – Basel, NeuweilerstrasseWeil am Rhein, Bahnhof/Zentrum – Basel, Neuweilerstrasse 60.3%
305 trips · avg +2.9 min
-
Tram 14 Basel, Dreirosenbrücke – Pratteln, SchlossstrasseBasel, Dreirosenbrücke – Pratteln, Schlossstrasse 61.3%
284 trips · avg +2.9 min
-
436 trips · avg +3.5 min
-
291 trips · avg +1.9 min
-
250 trips · avg +2.7 min
-
Tram 8 Bern Brünnen Westside, Bahnhof – Bern, SaaliBern Brünnen Westside, Bahnhof – Bern, Saali 70.7%
311 trips · avg +2.3 min
Show 17 more
-
304 trips · avg +2 min
-
275 trips · avg +2 min
-
295 trips · avg +2.1 min
-
396 trips · avg +3.5 min
-
Tram 10 Zürich, Bahnhofstrasse/HB – Zürich Flughafen, FrachtZürich, Bahnhofstrasse/HB – Zürich Flughafen, Fracht 79.4%
282 trips · avg +1.9 min
-
286 trips · avg +1.7 min
-
297 trips · avg +1.8 min
-
381 trips · avg +1.8 min
-
304 trips · avg +1.8 min
-
276 trips · avg +1.6 min
-
303 trips · avg +1.7 min
-
Tram 9 Wabern, Tram-Endstation – Bern Wankdorf, BahnhofWabern, Tram-Endstation – Bern Wankdorf, Bahnhof 85.1%
349 trips · avg +1.7 min
-
Tram 7 Zürich, Wollishoferplatz – Stettbach, BahnhofZürich, Wollishoferplatz – Stettbach, Bahnhof 85.7%
294 trips · avg +1.6 min
-
224 trips · avg +1.3 min
-
296 trips · avg +1.8 min
-
300 trips · avg +1.4 min
-
Tram 11 Zürich Tiefenbrunnen, Bahnhof – Zürich, Bahnhofstrasse/HBZürich Tiefenbrunnen, Bahnhof – Zürich, Bahnhofstrasse/HB 88.7%
282 trips · avg +1.3 min
Most punctual busy lines
-
142 trips · avg +0.2 min
-
294 trips · avg +0.7 min
-
Tram 20 Killwangen, Bahnhof – Zürich Altstetten, BahnhofKillwangen, Bahnhof – Zürich Altstetten, Bahnhof 95.5%
154 trips · avg +1 min
-
Tram 5 Zürich Stadelhofen, Bahnhof – Zürich, LaubeggZürich Stadelhofen, Bahnhof – Zürich, Laubegg 95.4%
238 trips · avg +1 min
-
Tram 12 Zürich Flughafen, Fracht – Stettbach, BahnhofZürich Flughafen, Fracht – Stettbach, Bahnhof 94.2%
154 trips · avg +1.2 min
-
177 trips · avg +0.9 min
-
93 trips · avg +1.1 min
-
312 trips · avg +0.9 min
Least punctual busy lines
-
Bus 101 Marin-Epagnier, gare – Cormondrèche, Grand'RueMarin-Epagnier, gare – Cormondrèche, Grand'Rue 18.9%
238 trips · avg +6.3 min
-
149 trips · avg +4 min
-
62 trips · avg +4.9 min
-
49 trips · avg +3.6 min
-
Bus 107 Marin-Epagnier, gare – Neuchâtel, Place PuryMarin-Epagnier, gare – Neuchâtel, Place Pury 41.4%
210 trips · avg +3.6 min
-
102 trips · avg +5.7 min
-
Bus 109 Neuchâtel, Place Pury – Neuchâtel, Trois-ChênesNeuchâtel, Place Pury – Neuchâtel, Trois-Chênes 45.6%
215 trips · avg +3.6 min
-
Bus 2 Brügg BE, Bahnhof – Biel/Bienne, OrpundplatzBrügg BE, Bahnhof – Biel/Bienne, Orpundplatz 45.6%
204 trips · avg +4.1 min
Show 17 more
-
92 trips · avg +5 min
-
85 trips · avg +3.8 min
-
57 trips · avg +3.5 min
-
207 trips · avg +4.2 min
-
Bus 50 Basel, Bahnhof SBB – Basel EuroAirport, VerwaltungBasel, Bahnhof SBB – Basel EuroAirport, Verwaltung 51.1%
268 trips · avg +3.5 min
-
Bus 106 Neuchâtel, Place Pury – Neuchâtel,Vallon de l'ErmitageNeuchâtel, Place Pury – Neuchâtel,Vallon de l'Ermitage 51.4%
70 trips · avg +3 min
-
58 trips · avg +2.6 min
-
170 trips · avg +4.7 min
-
40 trips · avg +2.6 min
-
110 trips · avg +4.4 min
-
Bus 4 Nidau, Burgerallee – Biel/Bienne, Vorhölzli/Bois-DvNidau, Burgerallee – Biel/Bienne, Vorhölzli/Bois-Dv 54.3%
140 trips · avg +2.9 min
-
Bus 61 Wallisellen, Glatt (Bus) – Zürich, MühlackerWallisellen, Glatt (Bus) – Zürich, Mühlacker 55.1%
158 trips · avg +3.1 min
-
152 trips · avg +3.3 min
-
60 trips · avg +3 min
-
141 trips · avg +3.4 min
-
Bus 1 Lausanne, Blécherette – Ecublens VD, EPFL/ColladonLausanne, Blécherette – Ecublens VD, EPFL/Colladon 56.9%
290 trips · avg +7 min
-
213 trips · avg +3.5 min
Most punctual busy lines
-
228 trips · avg +0.7 min
-
379 trips · avg +1.1 min
-
Bus 781 Zürich Oerlikon, Bahnhof – Glattbrugg, GiebeleichstrasseZürich Oerlikon, Bahnhof – Glattbrugg, Giebeleichstrasse 94.7%
243 trips · avg +1 min
-
Bus 1 Winterthur, Oberwinterthur – Winterthur, TössWinterthur, Oberwinterthur – Winterthur, Töss 94.4%
286 trips · avg +0.8 min
-
Bus 752 Stettbach, Bahnhof – Dübendorf, KunsteisbahnStettbach, Bahnhof – Dübendorf, Kunsteisbahn 94.3%
265 trips · avg +1.1 min
-
288 trips · avg +0.8 min
-
Bus 101 Bern, Hauptbahnhof – Hinterkappelen, SchlossmattBern, Hauptbahnhof – Hinterkappelen, Schlossmatt 92.3%
271 trips · avg +0.9 min
-
242 trips · avg +1 min
Least punctual busy lines
-
148 trips · avg +4.6 min
-
M2 Genève-Pâquis (lac) – Genève-Quai Gustave Ador (lac)Genève-Pâquis (lac) – Genève-Quai Gustave Ador (lac) 47.3%
148 trips · avg +4.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) 98%
50 trips · avg +0.4 min
-
50 trips · avg +0.4 min
Least punctual operators
-
Lugano-Ponte Tresa 34.1%
132 trips · avg +4.7 min
-
Mouettes genevoises 57.1%
396 trips · avg +3.4 min
-
Compagnie du chemin de fer Nyon - St-Cergue - Morez 63.9%
108 trips · avg +2.7 min
-
Busbetrieb Rapperswil-Eschenbach-Rüti ZH 63.9%
280 trips · avg +2.8 min
-
Automobil Rottal 69%
461 trips · avg +2.6 min
-
BVB 70.7%
4,819 trips · avg +2.4 min
-
Transports Publics Neuchâtelois 71.6%
2,855 trips · avg +2.4 min
-
VBL 72.9%
3,916 trips · avg +2.4 min
Show 17 more
-
TPL 72.9%
1,613 trips · avg +2.3 min
-
TPG 74.2%
9,694 trips · avg +2.4 min
-
Verkehrsbetriebe Biel 74.6%
1,404 trips · avg +2 min
-
Bus Nyon-Prangins 74.8%
385 trips · avg +2.1 min
-
Bus und Service 76.8%
1,507 trips · avg +2 min
-
Verkehrsbetrieb LIECHTENSTEINmobil 77.2%
798 trips · avg +2 min
-
Bus Sierrois 80.1%
316 trips · avg +2.1 min
-
Regionale Verkehrsbetriebe Baden-Wettingen 80.7%
1,387 trips · avg +1.6 min
-
Auto AG Rothenburg 81.7%
736 trips · avg +1.8 min
-
Autolinee Regionali Luganesi 81.7%
230 trips · avg +1.5 min
-
tl 81.9%
6,856 trips · avg +2 min
-
Busbetrieb Solothurn und Umgebung 82.4%
749 trips · avg +1.5 min
-
TPF 83.4%
4,127 trips · avg +1.4 min
-
VBZ 83.4%
16,721 trips · avg +1.6 min
-
Stadtbus Frauenfeld 84.9%
538 trips · avg +1.6 min
-
Busbetrieb Aarau 85%
932 trips · avg +1.5 min
-
Bernmobil 85.2%
5,030 trips · avg +1.6 min
Most punctual operators
-
Zentralbahn 100%
361 trips · avg +0.2 min
-
Sihltal-Zürich-Uetliberg-Bahn 99.7%
313 trips · avg +0.6 min
-
Aare Seeland mobil 99.4%
338 trips · avg +0.3 min
-
Regionalverkehr Bern-Solothurn 99%
606 trips · avg +0.4 min
-
THURBO 98.4%
1,127 trips · avg +0.3 min
-
BLS 98.1%
1,551 trips · avg +0.5 min
-
Schweizerische Südostbahn 98.4%
515 trips · avg +0.4 min
-
Automobildienst SZU 96.2%
1,696 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 95.4%
1,728 departures · avg +1.1 min
-
Bern 97.8%
1,073 departures · avg +0.9 min
-
Zürich Oerlikon 93.3%
901 departures · avg +1.3 min
-
Zürich Stadelhofen 88.1%
699 departures · avg +1.6 min
-
Winterthur 96.4%
694 departures · avg +1.1 min
-
Zürich Hardbrücke 81.4%
676 departures · avg +2.2 min
-
Olten 94.9%
588 departures · avg +1.2 min
-
St. Gallen 92.7%
532 departures · avg +1.2 min
-
Aarau 97.3%
514 departures · avg +0.8 min
-
Lausanne 89.1%
496 departures · avg +1.4 min
-
Renens VD 87.9%
489 departures · avg +1.5 min
-
Worblaufen 97.9%
480 departures · avg +1 min
-
Genève, gare Cornavin 75.8%
3,184 departures · avg +2.3 min
-
Genève, Bel-Air 77.9%
3,019 departures · avg +2.4 min
-
Bern, Bahnhof 93.9%
2,964 departures · avg +1.2 min
-
Luzern, Kantonalbank 79.7%
2,453 departures · avg +2 min
-
Basel, Schifflände 79.2%
2,269 departures · avg +2.1 min
-
Zürich, Central 90.9%
2,257 departures · avg +1.2 min
-
Bern, Hirschengraben 91.2%
2,248 departures · avg +1.6 min
-
Bern, Zytglogge 88.7%
2,177 departures · avg +1.6 min
-
Basel, Bahnhof SBB 82.2%
2,131 departures · avg +1.9 min
-
Luzern, Bahnhof 88.2%
2,119 departures · avg +1.5 min
-
Zürich, Bellevue 91.5%
2,116 departures · avg +1.3 min
-
Lausanne, Bel-Air 68.4%
2,085 departures · avg +2.9 min
-
Agno 26.5%
132 departures · avg +5.9 min
-
Magliaso 27.3%
132 departures · avg +5.9 min
-
Serocca 27.3%
132 departures · avg +5.7 min
-
Magliaso Paese 28%
132 departures · avg +5.8 min
-
Caslano 35.6%
132 departures · avg +5 min
-
Bioggio Molinazzo 35.6%
132 departures · avg +5.2 min
-
Sorengo Laghetto 35.6%
132 departures · avg +4.8 min
-
Bioggio 36.4%
132 departures · avg +4.9 min
-
Sorengo 38.6%
132 departures · avg +4.4 min
-
Cappella-Agnuzzo 39.4%
132 departures · avg +4.6 min
-
L'Asse 50%
108 departures · avg +3 min
-
100 departures · avg +2.6 min
Largest delays
- Bus 4 Prilly, Coudraie – Lausanne, Faverges Prilly, Coudraie +120 min
- Tram 14 Bernex, Vaillyand 2 more trips of this line +95 min
- Bus 24 Lausanne, Tour Haldimand-Lac – Lausanne, Bourdonnette Bourdonnetteand 2 more trips of this line +81 min
- Bus 107 Sissach, Bahnhof – Eptingen, Gemeindeplatz Sissach, Bahnhof +80 min
- Tram 17 Annemasse, Parc Montessuitand 5 more trips of this line +78 min
- Tram 15 Plan-les-Ouates, ZIPLO – Genève, Nations Genève, gare Cornavinand 1 more trips of this line +71 min
- NJ Zürich HB +68 min
- Bus 39 Vésenaz, Pointe à la Bise – Presinge, village Vésenaz, Pointe à la Bise +68 min
- Bus 7 Montsevelier, poste – Delémont, gare Montsevelier, poste +65 min
- Bus 321 Bellikon, Dorf – Baden, Postautostation Oberrohrdorf, Zentrumand 1 more trips of this line +64 min
- Bus 21 Onex, cité – Carouge GE, Rondeau Carouge GE, Rondeauand 1 more trips of this line +62 min
- Tram 18 Meyrin, CERN – Grand-Lancy, Palettes Vernier, Blandonnet +62 min
- Bus 28 Petit-Lancy, Les Esserts – Grand-Saconnex, Tunnel Routier Petit-Lancy, Les Esserts +59 min
- Bus 2 Lausanne, Désert – Lausanne, Maladière-Lac Maladière-Lac +57 min
- Bus 1 Lausanne, Blécherette – Ecublens VD, EPFL/Colladon EPFL/Colladonand 2 more trips of this line +57 min