Punctuality of Swiss public transportWeek 816 Feb – 22 Feb 2026
88.7% of 966,741 trips were on time. The best day was Sunday 22 February with 91.6%, the worst Tuesday 17 February with 86.6%. Of the busy lines, Bus 101 Marin-Epagnier, gare – Cormondrèche, Grand'Rue had the lowest share on time: 28.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.
88.7%
−0.5 ptsWeek before: 89.3% · 966,741 trips with live data
Average delay
+1.3 min
Canceled trips
3,590
0.4% of the trips
Day by day
The share on time of each day. A day opens its page.
- 95%
- Average: 88.7%
- Best day
- Sun 22 Feb · 91.6%
- Worst day
- Tue 17 Feb · 86.6%
- Worst hour
- Mon 02:00–03:00 · 62.5%
By mode
-
Train 93%
97,830 trips · avg +1 min
-
Tram 86.4%
77,252 trips · avg +1.4 min
-
Bus 88.5%
786,978 trips · avg +1.3 min
-
Metro 89.8%
2,196 trips · avg +1.3 min
-
Boat 64.7%
2,485 trips · avg +2.9 min
Hour by hour
The share of the trips on their way that are less than 3 minutes late, each hour. A day opens its page.
- ≥ 95%
- 90–95%
- 85–90%
- 75–85%
- < 75%
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 28.9%
1,369 trips · avg +4.8 min
-
Bus 436 Crans-Montana, gare – Crans-Montana, MarignyCrans-Montana, gare – Crans-Montana, Marigny 33.1%
363 trips · avg +7.3 min
-
518 trips · avg +5.9 min
-
721 trips · avg +6.7 min
-
Bus 301 Davos Glaris, Ortolfi – Davos Laret, LandhausDavos Glaris, Ortolfi – Davos Laret, Landhaus 37.3%
946 trips · avg +5.7 min
-
Bus 107 Marin-Epagnier, gare – Neuchâtel, Place PuryMarin-Epagnier, gare – Neuchâtel, Place Pury 44.1%
1,058 trips · avg +3.8 min
-
314 trips · avg +3.7 min
-
Bus 106 Neuchâtel, Place Pury – Neuchâtel,Vallon de l'ErmitageNeuchâtel, Place Pury – Neuchâtel,Vallon de l'Ermitage 50.1%
395 trips · avg +3.2 min
Show 17 more
-
Bus 109 Neuchâtel, Place Pury – Neuchâtel, Trois-ChênesNeuchâtel, Place Pury – Neuchâtel, Trois-Chênes 50.1%
1,362 trips · avg +3.3 min
-
970 trips · avg +5.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) 51.6%
925 trips · avg +3.9 min
-
932 trips · avg +3.5 min
-
Bus 33 Prilly, Mont-Goulin – St-Sulpice VD, Venoge nordPrilly, Mont-Goulin – St-Sulpice VD, Venoge nord 55.1%
1,076 trips · avg +3.8 min
-
Bus 54 Versoix, Centre sportif – Vernier, ParfumerieVersoix, Centre sportif – Vernier, Parfumerie 57.2%
423 trips · avg +4.2 min
-
432 trips · avg +3.1 min
-
346 trips · avg +3.3 min
-
1,171 trips · avg +2.7 min
-
370 trips · avg +2.8 min
-
323 trips · avg +2.6 min
-
Bus 1 Lausanne, Blécherette – Ecublens VD, EPFL/ColladonLausanne, Blécherette – Ecublens VD, EPFL/Colladon 59.9%
1,220 trips · avg +3.2 min
-
462 trips · avg +3 min
-
452 trips · avg +2.9 min
-
392 trips · avg +3 min
-
1,174 trips · avg +3.1 min
-
Tram 8 Weil am Rhein, Bahnhof/Zentrum – Basel, NeuweilerstrasseWeil am Rhein, Bahnhof/Zentrum – Basel, Neuweilerstrasse 62.5%
1,547 trips · avg +3 min
Most punctual busy lines
-
2,045 trips · avg +0.7 min
-
Bus 101 Bern, Hauptbahnhof – Hinterkappelen, SchlossmattBern, Hauptbahnhof – Hinterkappelen, Schlossmatt 96%
1,518 trips · avg +0.6 min
-
1,959 trips · avg +0.8 min
-
1,861 trips · avg +0.8 min
-
Tram 15 Zürich Tiefenbrunnen, Bahnhof – Zürich, CentralZürich Tiefenbrunnen, Bahnhof – Zürich, Central 95.5%
1,691 trips · avg +1 min
-
Bus 30 Basel, Badischer Bahnhof – Basel, Bahnhof SBBBasel, Badischer Bahnhof – Basel, Bahnhof SBB 95.3%
2,420 trips · avg +0.8 min
-
Bus 781 Zürich Oerlikon, Bahnhof – Glattbrugg, GiebeleichstrasseZürich Oerlikon, Bahnhof – Glattbrugg, Giebeleichstrasse 94.6%
1,513 trips · avg +0.9 min
-
1,624 trips · avg +1.1 min
Least punctual busy lines
-
740 trips · avg +2.6 min
-
375 trips · avg +5.9 min
-
747 trips · avg +1.9 min
-
793 trips · avg +1.6 min
-
535 trips · avg +1.3 min
-
577 trips · avg +1.6 min
-
405 trips · avg +1.1 min
-
287 trips · avg +1.3 min
Show 17 more
-
367 trips · avg +1.5 min
-
518 trips · avg +1.6 min
-
749 trips · avg +3.2 min
-
540 trips · avg +1.1 min
-
381 trips · avg +1.2 min
-
549 trips · avg +1.2 min
-
329 trips · avg +1.2 min
-
460 trips · avg +0.8 min
-
363 trips · avg +1.2 min
-
586 trips · avg +0.9 min
-
705 trips · avg +1.1 min
-
515 trips · avg +1 min
-
299 trips · avg +0.9 min
-
540 trips · avg +0.8 min
-
808 trips · avg +0.9 min
-
493 trips · avg +0.9 min
-
560 trips · avg +0.8 min
Most punctual busy lines
-
726 trips · avg +0.4 min
-
407 trips · avg +0.5 min
-
474 trips · avg +0.2 min
-
406 trips · avg +0.1 min
-
463 trips · avg +0.3 min
-
996 trips · avg +0.3 min
-
530 trips · avg +0.2 min
-
458 trips · avg +0.4 min
Least punctual busy lines
-
Tram 8 Weil am Rhein, Bahnhof/Zentrum – Basel, NeuweilerstrasseWeil am Rhein, Bahnhof/Zentrum – Basel, Neuweilerstrasse 62.5%
1,547 trips · avg +3 min
-
Tram 14 Basel, Dreirosenbrücke – Pratteln, SchlossstrasseBasel, Dreirosenbrücke – Pratteln, Schlossstrasse 70.9%
1,905 trips · avg +2.4 min
-
1,944 trips · avg +1.7 min
-
1,945 trips · avg +2.2 min
-
1,922 trips · avg +2.3 min
-
1,848 trips · avg +1.9 min
-
1,863 trips · avg +1.8 min
-
2,202 trips · avg +1.5 min
Show 17 more
-
Tram 3 St-Louis, Gare de Saint-Louis – Birsfelden, HardSt-Louis, Gare de Saint-Louis – Birsfelden, Hard 82.1%
1,442 trips · avg +1.8 min
-
1,764 trips · avg +1.9 min
-
956 trips · avg +1.5 min
-
Tram 10 Zürich, Bahnhofstrasse/HB – Zürich Flughafen, FrachtZürich, Bahnhofstrasse/HB – Zürich Flughafen, Fracht 84.9%
1,408 trips · avg +1.5 min
-
1,470 trips · avg +1.5 min
-
2,335 trips · avg +1.4 min
-
2,024 trips · avg +1.5 min
-
1,443 trips · avg +1.5 min
-
2,072 trips · avg +1.6 min
-
Tram 7 Zürich, Wollishoferplatz – Stettbach, BahnhofZürich, Wollishoferplatz – Stettbach, Bahnhof 87.1%
1,463 trips · avg +1.6 min
-
Tram 9 Wabern, Tram-Endstation – Bern Wankdorf, BahnhofWabern, Tram-Endstation – Bern Wankdorf, Bahnhof 87.2%
2,125 trips · avg +1.6 min
-
2,353 trips · avg +1.4 min
-
1,852 trips · avg +1.6 min
-
1,935 trips · avg +1.7 min
-
2,007 trips · avg +1.2 min
-
1,974 trips · avg +1.1 min
-
Tram 51 Zürich Altstetten, Bahnhof N – Zürich, SeebachZürich Altstetten, Bahnhof N – Zürich, Seebach 90.5%
2,055 trips · avg +1.2 min
Most punctual busy lines
-
Tram 20 Killwangen, Bahnhof – Zürich Altstetten, BahnhofKillwangen, Bahnhof – Zürich Altstetten, Bahnhof 97.9%
1,005 trips · avg +0.7 min
-
1,430 trips · avg +0.9 min
-
1,959 trips · avg +0.8 min
-
1,861 trips · avg +0.8 min
-
Tram 15 Zürich Tiefenbrunnen, Bahnhof – Zürich, CentralZürich Tiefenbrunnen, Bahnhof – Zürich, Central 95.5%
1,691 trips · avg +1 min
-
1,104 trips · avg +0.9 min
-
Tram 5 Zürich Stadelhofen, Bahnhof – Zürich, LaubeggZürich Stadelhofen, Bahnhof – Zürich, Laubegg 95.4%
1,163 trips · avg +0.9 min
-
Tram 12 Zürich Flughafen, Fracht – Stettbach, BahnhofZürich Flughafen, Fracht – Stettbach, Bahnhof 94.8%
922 trips · avg +1.1 min
Least punctual busy lines
-
Bus 101 Marin-Epagnier, gare – Cormondrèche, Grand'RueMarin-Epagnier, gare – Cormondrèche, Grand'Rue 28.9%
1,369 trips · avg +4.8 min
-
Bus 436 Crans-Montana, gare – Crans-Montana, MarignyCrans-Montana, gare – Crans-Montana, Marigny 33.1%
363 trips · avg +7.3 min
-
518 trips · avg +5.9 min
-
721 trips · avg +6.7 min
-
Bus 301 Davos Glaris, Ortolfi – Davos Laret, LandhausDavos Glaris, Ortolfi – Davos Laret, Landhaus 37.3%
946 trips · avg +5.7 min
-
Bus 107 Marin-Epagnier, gare – Neuchâtel, Place PuryMarin-Epagnier, gare – Neuchâtel, Place Pury 44.1%
1,058 trips · avg +3.8 min
-
314 trips · avg +3.7 min
-
Bus 106 Neuchâtel, Place Pury – Neuchâtel,Vallon de l'ErmitageNeuchâtel, Place Pury – Neuchâtel,Vallon de l'Ermitage 50.1%
395 trips · avg +3.2 min
Show 17 more
-
Bus 109 Neuchâtel, Place Pury – Neuchâtel, Trois-ChênesNeuchâtel, Place Pury – Neuchâtel, Trois-Chênes 50.1%
1,362 trips · avg +3.3 min
-
970 trips · avg +5.5 min
-
Bus 33 Prilly, Mont-Goulin – St-Sulpice VD, Venoge nordPrilly, Mont-Goulin – St-Sulpice VD, Venoge nord 55.1%
1,076 trips · avg +3.8 min
-
Bus 54 Versoix, Centre sportif – Vernier, ParfumerieVersoix, Centre sportif – Vernier, Parfumerie 57.2%
423 trips · avg +4.2 min
-
432 trips · avg +3.1 min
-
346 trips · avg +3.3 min
-
1,171 trips · avg +2.7 min
-
370 trips · avg +2.8 min
-
323 trips · avg +2.6 min
-
Bus 1 Lausanne, Blécherette – Ecublens VD, EPFL/ColladonLausanne, Blécherette – Ecublens VD, EPFL/Colladon 59.9%
1,220 trips · avg +3.2 min
-
462 trips · avg +3 min
-
452 trips · avg +2.9 min
-
392 trips · avg +3 min
-
1,174 trips · avg +3.1 min
-
290 trips · avg +2.3 min
-
719 trips · avg +3.4 min
-
436 trips · avg +3 min
Most punctual busy lines
-
1,469 trips · avg +0.4 min
-
1,303 trips · avg +0.3 min
-
1,321 trips · avg +0.6 min
-
Bus 1 Schaffhausen, Waldfriedhof – Neuhausen, HerbstäckerSchaffhausen, Waldfriedhof – Neuhausen, Herbstäcker 96.2%
1,324 trips · avg +1 min
-
1,339 trips · avg +0.7 min
-
1,338 trips · avg +0.7 min
-
Bus 752 Stettbach, Bahnhof – Dübendorf, KunsteisbahnStettbach, Bahnhof – Dübendorf, Kunsteisbahn 96%
1,325 trips · avg +0.9 min
-
Bus 101 Bern, Hauptbahnhof – Hinterkappelen, SchlossmattBern, Hauptbahnhof – Hinterkappelen, Schlossmatt 96%
1,518 trips · avg +0.6 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) 51.6%
925 trips · avg +3.9 min
-
932 trips · avg +3.5 min
-
314 trips · avg +0.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) 99.7%
314 trips · avg +0.4 min
Least punctual operators
-
Verkehrsbetrieb der Landschaft Davos 46.7%
2,756 trips · avg +5 min
-
Sierre-Montana-Crans 53.5%
1,926 trips · avg +5.6 min
-
Mouettes genevoises 64.7%
2,485 trips · avg +2.9 min
-
Bus und Service 71.8%
10,164 trips · avg +2.4 min
-
Busbetrieb Rapperswil-Eschenbach-Rüti ZH 72.3%
1,868 trips · avg +2.1 min
-
Matterhorn Gotthard Bahn 75.2%
2,340 trips · avg +2.3 min
-
Wengernalpbahn 76.4%
1,076 trips · avg +2 min
-
Transports Publics Neuchâtelois 76.6%
17,297 trips · avg +1.9 min
Show 17 more
-
TPG 78.3%
60,820 trips · avg +2.1 min
-
BVB 79.2%
31,498 trips · avg +1.9 min
-
Lugano-Ponte Tresa 79.9%
793 trips · avg +1.6 min
-
Verkehrsbetrieb LIECHTENSTEINmobil 80.7%
5,068 trips · avg +2 min
-
Verkehrsbetriebe Biel 80.9%
9,345 trips · avg +2.1 min
-
VBL 81%
26,232 trips · avg +1.8 min
-
Automobil Rottal 82.2%
2,932 trips · avg +1.5 min
-
Auto Leuk-Leukerbad 83%
1,869 trips · avg +1.8 min
-
AFA Bus 83.2%
1,814 trips · avg +1.5 min
-
Transports Publics du Chablais 83.4%
7,824 trips · avg +1.7 min
-
Busbetrieb Solothurn und Umgebung 83.9%
4,695 trips · avg +1.5 min
-
Regionale Verkehrsbetriebe Baden-Wettingen 84.1%
9,095 trips · avg +1.6 min
-
RhB 84.2%
3,594 trips · avg +1.6 min
-
Stadtbus Frauenfeld 85.7%
3,439 trips · avg +1.7 min
-
Auto AG Rothenburg 85.9%
4,895 trips · avg +1.4 min
-
TPF 86.1%
23,560 trips · avg +2.9 min
-
TPL 86.1%
10,472 trips · avg +1.2 min
Most punctual operators
-
Zentralbahn 99.4%
2,407 trips · avg +0.2 min
-
Aare Seeland mobil 99.1%
2,222 trips · avg +0.4 min
-
THURBO 98.2%
7,802 trips · avg +0.4 min
-
Sihltal-Zürich-Uetliberg-Bahn 98.3%
2,032 trips · avg +0.6 min
-
Automobildienst SZU 97.8%
11,626 trips · avg +0.5 min
-
Schweizerische Südostbahn 97.8%
3,533 trips · avg +0.5 min
-
BLT 96.7%
15,945 trips · avg +0.6 min
-
Appenzeller Bahnen 97%
2,294 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 93.8%
11,757 departures · avg +1.2 min
-
Bern 96.3%
7,217 departures · avg +0.9 min
-
Zürich Oerlikon 93.5%
5,957 departures · avg +1.2 min
-
Zürich Stadelhofen 88.1%
4,821 departures · avg +1.5 min
-
Winterthur 96.2%
4,709 departures · avg +1 min
-
Zürich Hardbrücke 79.5%
4,526 departures · avg +2.2 min
-
Olten 92.2%
4,196 departures · avg +1.4 min
-
Aarau 94.8%
3,617 departures · avg +1 min
-
St. Gallen 94.6%
3,609 departures · avg +1.1 min
-
Lausanne 84.8%
3,443 departures · avg +1.9 min
-
Renens VD 84.5%
3,363 departures · avg +1.9 min
-
Luzern 97.9%
3,270 departures · avg +0.8 min
-
Genève, gare Cornavin 80.4%
19,917 departures · avg +1.9 min
-
Bern, Bahnhof 94%
19,403 departures · avg +1.2 min
-
Genève, Bel-Air 81.7%
19,305 departures · avg +1.8 min
-
Luzern, Kantonalbank 87.1%
15,896 departures · avg +1.6 min
-
Basel, Schifflände 85.1%
14,945 departures · avg +1.8 min
-
14,945 departures · avg +1.5 min
-
Zürich, Central 94.4%
14,863 departures · avg +1 min
-
Basel, Bahnhof SBB 90.4%
13,915 departures · avg +1.5 min
-
Bern, Zytglogge 91.1%
13,891 departures · avg +1.5 min
-
Zürich, Bellevue 94%
13,845 departures · avg +1.2 min
-
Luzern, Bahnhof 92.4%
13,754 departures · avg +1.1 min
-
13,411 departures · avg +2 min
-
Täsch 61.4%
803 departures · avg +3.8 min
-
Magliaso Paese 68.7%
793 departures · avg +3 min
-
Agno 69.9%
793 departures · avg +2.9 min
-
Magliaso 70.4%
793 departures · avg +2.8 min
-
Bioggio Molinazzo 70.9%
793 departures · avg +2.7 min
-
Serocca 71.2%
793 departures · avg +2.7 min
-
Oberentfelden Engelplatz 72.6%
1,024 departures · avg +1.7 min
-
Muhen Nord 72.9%
1,024 departures · avg +1.7 min
-
Bioggio 74.7%
793 departures · avg +2.4 min
-
Zug Chollermüli 75.6%
945 departures · avg +2.4 min
-
Cham Alpenblick 76.2%
951 departures · avg +2.3 min
-
Martigny 77.1%
1,449 departures · avg +2.2 min
Largest delays
- NJ Zürich HBand 5 more trips of this line +244 min
- Bus 60 Lausanne, Riponne-M. Béjart – Froideville, Laiterie Riponne-M.Béjartand 2 more trips of this line +177 min
- EC Bregenz – Zürich HB Zürich HBand 4 more trips of this line +175 min
- Bus 1 Gebenstorf, Reuss – Würenlos, Bettlen Baden, Bahnhof Ostand 2 more trips of this line +154 min
- Bus 3 Wettingen, Brunnenwiese – Baden, Grosse Bäder Wettingen, Brunnenwiese +150 min
- RJX Zürich HBand 3 more trips of this line +131 min
- S17 Dietikon – Wohlen AG Bremgarten West +122 min
- Bus 22 Triesenberg, Dorfzentrum – Gaflei, Klinik Triesenberg, Dorfzentrumand 1 more trips of this line +120 min
- Bus 508 Schwyz, Bahnhof +111 min
- Bus 7 Pully, Val-Vertand 1 more trips of this line +109 min
- Bus 301 Davos Glaris, Ortolfi – Davos Laret, Landhaus Davos Laret, Landhausand 1 more trips of this line +104 min
- Bus 436 Crans-Montana, gare – Crans-Montana, Marigny Crans-Montana, Marigny +96 min
- Bus 22 Genève, Jardin Botanique +93 min
- Bus 11 Genève, Jardin Botanique – Genève-Eaux-Vives, gare Genève-Eaux-Vives, gareand 1 more trips of this line +89 min
- Bus 81 Chur, Postautostation – Falera, center Chur, Postautostation +85 min