Punctuality of Swiss public transportWeek 415 Oct – 11 Oct 2026
88.9% of 981,192 trips were on time. The best day was Sunday 11 October with 92.2%, the worst Thursday 8 October with 87.2%. Of the busy lines, Bus 101 Cormondrèche, Grand'Rue – Marin-Epagnier, gare had the lowest share on time: 14.5%.
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.9%
+0.8 ptsWeek before: 88.1% · 981,192 trips with live data
Average delay
+1.3 min
Canceled trips
3,760
0.4% of the trips
Day by day
The share on time of each day. A day opens its page.
- 95%
- Average: 88.9%
- Best day
- Sun 11 Oct · 92.2%
- Worst day
- Thu 8 Oct · 87.2%
- Worst hour
- Thu 17:00–18:00 · 71%
By mode
-
Train 94.2%
96,895 trips · avg +0.8 min
-
Tram 85.7%
77,435 trips · avg +1.6 min
-
Bus 88.7%
802,192 trips · avg +1.3 min
-
Metro 82.6%
2,179 trips · avg +1.7 min
-
Boat 64.3%
2,491 trips · avg +3 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 Cormondrèche, Grand'Rue – Marin-Epagnier, gareCormondrèche, Grand'Rue – Marin-Epagnier, gare 14.5%
1,068 trips · avg +5.9 min
-
369 trips · avg +7.8 min
-
576 trips · avg +6 min
-
Bus 109 Neuchâtel, Place Pury – Neuchâtel, Trois-ChênesNeuchâtel, Place Pury – Neuchâtel, Trois-Chênes 38.1%
1,324 trips · avg +4.2 min
-
1,173 trips · avg +3.7 min
-
593 trips · avg +5.4 min
-
931 trips · avg +3.9 min
-
493 trips · avg +3.8 min
Show 17 more
-
Bus 22 Carouge GE, Rondeau – Genève, Jardin BotaniqueCarouge GE, Rondeau – Genève, Jardin Botanique 52.4%
523 trips · avg +4.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) 54.3%
932 trips · avg +3.8 min
-
1,198 trips · avg +3.4 min
-
1,580 trips · avg +3.9 min
-
Bus 91 Genève, Beau-Séjour – Genève, Pointe de la JonctionGenève, Beau-Séjour – Genève, Pointe de la Jonction 61.8%
943 trips · avg +3 min
-
314 trips · avg +2.9 min
-
Tram 8 Basel, Neuweilerstrasse – Weil am Rhein, Bahnhof/ZentrumBasel, Neuweilerstrasse – Weil am Rhein, Bahnhof/Zentrum 62.8%
449 trips · avg +3 min
-
517 trips · avg +3.6 min
-
1,139 trips · avg +2.7 min
-
Bus 108 Neuchâtel, Temple Valangines – Neuchâtel, Place PuryNeuchâtel, Temple Valangines – Neuchâtel, Place Pury 63.9%
1,256 trips · avg +2.5 min
-
987 trips · avg +3 min
-
Bus 7 Vessy, Grands-Esserts – Vernier, Lignon ToursVessy, Grands-Esserts – Vernier, Lignon Tours 64.7%
300 trips · avg +2.6 min
-
Bus 9 Vernier, Lignon Tours – Thônex, Belle-Terre Pl. AraireVernier, Lignon Tours – Thônex, Belle-Terre Pl. Araire 64.8%
1,348 trips · avg +2.7 min
-
1,587 trips · avg +2.8 min
-
1,219 trips · avg +2.6 min
-
576 trips · avg +2.6 min
-
1,831 trips · avg +2.6 min
Most punctual busy lines
-
1,541 trips · avg +0.4 min
-
Bus 781 Zürich Oerlikon, Bahnhof – Glattbrugg, GiebeleichstrasseZürich Oerlikon, Bahnhof – Glattbrugg, Giebeleichstrasse 98.2%
1,513 trips · avg +0.8 min
-
Bus 3 Winterthur, Oberseen – Winterthur, RosenbergWinterthur, Oberseen – Winterthur, Rosenberg 97.8%
1,844 trips · avg +0.5 min
-
2,051 trips · avg +0.6 min
-
1,853 trips · avg +0.5 min
-
1,602 trips · avg +1.8 min
-
1,907 trips · avg +0.8 min
-
Bus 1 Winterthur, Oberwinterthur – Winterthur, TössWinterthur, Oberwinterthur – Winterthur, Töss 95.8%
1,843 trips · avg +0.8 min
Least punctual busy lines
-
369 trips · avg +7.8 min
-
523 trips · avg +5.9 min
-
380 trips · avg +2 min
-
803 trips · avg +1.3 min
-
363 trips · avg +1.5 min
-
494 trips · avg +1.4 min
-
492 trips · avg +0.9 min
-
577 trips · avg +1 min
Show 17 more
-
497 trips · avg +1.1 min
-
746 trips · avg +1 min
-
507 trips · avg +0.8 min
-
832 trips · avg +1 min
-
417 trips · avg +0.9 min
-
284 trips · avg +0.9 min
-
418 trips · avg +0.8 min
-
592 trips · avg +1 min
-
584 trips · avg +1 min
-
391 trips · avg +0.9 min
-
518 trips · avg +1 min
-
337 trips · avg +0.7 min
-
340 trips · avg +0.6 min
-
556 trips · avg +0.7 min
-
355 trips · avg +0.8 min
-
320 trips · avg +0.8 min
-
706 trips · avg +0.9 min
Most punctual busy lines
-
406 trips · avg +0 min
-
1,003 trips · avg +0.1 min
-
500 trips · avg +0.5 min
-
459 trips · avg +0.3 min
-
534 trips · avg +0.3 min
-
558 trips · avg +0.3 min
-
462 trips · avg +0.2 min
-
1,152 trips · avg +0.3 min
Least punctual busy lines
-
Tram 8 Basel, Neuweilerstrasse – Weil am Rhein, Bahnhof/ZentrumBasel, Neuweilerstrasse – Weil am Rhein, Bahnhof/Zentrum 62.8%
449 trips · avg +3 min
-
Tram 14 Basel, Dreirosenbrücke – Pratteln, SchlossstrasseBasel, Dreirosenbrücke – Pratteln, Schlossstrasse 71.9%
1,898 trips · avg +2.4 min
-
1,932 trips · avg +1.8 min
-
1,913 trips · avg +2.2 min
-
1,937 trips · avg +2.1 min
-
1,817 trips · avg +1.9 min
-
898 trips · avg +1.5 min
-
Tram 9 Wabern, Tram-Endstation – Bern Wankdorf, BahnhofWabern, Tram-Endstation – Bern Wankdorf, Bahnhof 81.8%
2,282 trips · avg +2.3 min
Show 17 more
-
351 trips · avg +1.4 min
-
1,913 trips · avg +1.9 min
-
1,821 trips · avg +1.7 min
-
1,910 trips · avg +1.4 min
-
2,008 trips · avg +1.6 min
-
2,328 trips · avg +1.7 min
-
2,296 trips · avg +1.5 min
-
1,945 trips · avg +1.7 min
-
1,952 trips · avg +1.2 min
-
Tram 51 Zürich Altstetten, Bahnhof N – Zürich, SeebachZürich Altstetten, Bahnhof N – Zürich, Seebach 91.1%
2,008 trips · avg +1.2 min
-
Tram 10 Zürich Flughafen, Fracht – Zürich, Bahnhofplatz/HBZürich Flughafen, Fracht – Zürich, Bahnhofplatz/HB 91.3%
643 trips · avg +1.2 min
-
Tram 2 Binningen, Kronenplatz – Basel, Badischer BahnhofBinningen, Kronenplatz – Basel, Badischer Bahnhof 91.6%
464 trips · avg +1.4 min
-
1,919 trips · avg +1 min
-
1,099 trips · avg +0.9 min
-
Tram 11 Zürich, Central – Zürich Tiefenbrunnen, BahnhofZürich, Central – Zürich Tiefenbrunnen, Bahnhof 95.1%
474 trips · avg +0.9 min
-
1,481 trips · avg +1 min
-
1,907 trips · avg +0.8 min
Most punctual busy lines
-
Tram 20 Killwangen, Bahnhof – Zürich Altstetten, BahnhofKillwangen, Bahnhof – Zürich Altstetten, Bahnhof 96.2%
1,080 trips · avg +1 min
-
1,907 trips · avg +0.8 min
-
1,481 trips · avg +1 min
-
Tram 11 Zürich, Central – Zürich Tiefenbrunnen, BahnhofZürich, Central – Zürich Tiefenbrunnen, Bahnhof 95.1%
474 trips · avg +0.9 min
-
1,099 trips · avg +0.9 min
-
1,919 trips · avg +1 min
-
Tram 2 Binningen, Kronenplatz – Basel, Badischer BahnhofBinningen, Kronenplatz – Basel, Badischer Bahnhof 91.6%
464 trips · avg +1.4 min
-
Tram 10 Zürich Flughafen, Fracht – Zürich, Bahnhofplatz/HBZürich Flughafen, Fracht – Zürich, Bahnhofplatz/HB 91.3%
643 trips · avg +1.2 min
Least punctual busy lines
-
Bus 101 Cormondrèche, Grand'Rue – Marin-Epagnier, gareCormondrèche, Grand'Rue – Marin-Epagnier, gare 14.5%
1,068 trips · avg +5.9 min
-
576 trips · avg +6 min
-
Bus 109 Neuchâtel, Place Pury – Neuchâtel, Trois-ChênesNeuchâtel, Place Pury – Neuchâtel, Trois-Chênes 38.1%
1,324 trips · avg +4.2 min
-
1,173 trips · avg +3.7 min
-
593 trips · avg +5.4 min
-
493 trips · avg +3.8 min
-
Bus 22 Carouge GE, Rondeau – Genève, Jardin BotaniqueCarouge GE, Rondeau – Genève, Jardin Botanique 52.4%
523 trips · avg +4.5 min
-
1,198 trips · avg +3.4 min
Show 17 more
-
1,580 trips · avg +3.9 min
-
Bus 91 Genève, Beau-Séjour – Genève, Pointe de la JonctionGenève, Beau-Séjour – Genève, Pointe de la Jonction 61.8%
943 trips · avg +3 min
-
314 trips · avg +2.9 min
-
517 trips · avg +3.6 min
-
1,139 trips · avg +2.7 min
-
Bus 108 Neuchâtel, Temple Valangines – Neuchâtel, Place PuryNeuchâtel, Temple Valangines – Neuchâtel, Place Pury 63.9%
1,256 trips · avg +2.5 min
-
987 trips · avg +3 min
-
Bus 7 Vessy, Grands-Esserts – Vernier, Lignon ToursVessy, Grands-Esserts – Vernier, Lignon Tours 64.7%
300 trips · avg +2.6 min
-
Bus 9 Vernier, Lignon Tours – Thônex, Belle-Terre Pl. AraireVernier, Lignon Tours – Thônex, Belle-Terre Pl. Araire 64.8%
1,348 trips · avg +2.7 min
-
1,587 trips · avg +2.8 min
-
1,219 trips · avg +2.6 min
-
576 trips · avg +2.6 min
-
1,831 trips · avg +2.6 min
-
439 trips · avg +3.6 min
-
1,206 trips · avg +2.4 min
-
544 trips · avg +2.7 min
-
1,736 trips · avg +2.4 min
Most punctual busy lines
-
1,541 trips · avg +0.4 min
-
Bus 781 Zürich Oerlikon, Bahnhof – Glattbrugg, GiebeleichstrasseZürich Oerlikon, Bahnhof – Glattbrugg, Giebeleichstrasse 98.2%
1,513 trips · avg +0.8 min
-
Bus 3 Winterthur, Oberseen – Winterthur, RosenbergWinterthur, Oberseen – Winterthur, Rosenberg 97.8%
1,844 trips · avg +0.5 min
-
1,289 trips · avg +1 min
-
1,853 trips · avg +0.5 min
-
Bus 1 Schaffhausen, Waldfriedhof – Neuhausen, HerbstäckerSchaffhausen, Waldfriedhof – Neuhausen, Herbstäcker 96.4%
1,323 trips · avg +0.9 min
-
1,294 trips · avg +0.7 min
-
1,602 trips · avg +1.8 min
Least punctual busy lines
-
931 trips · avg +3.9 min
-
M2 Genève-Pâquis (lac) – Genève-Quai Gustave Ador (lac)Genève-Pâquis (lac) – Genève-Quai Gustave Ador (lac) 54.3%
932 trips · avg +3.8 min
-
314 trips · avg +0.5 min
-
M4 Genève-Port Noir (lac) – Genève-De-Châteaubriand (lac)Genève-Port Noir (lac) – Genève-De-Châteaubriand (lac) 100%
314 trips · avg +0.4 min
Least punctual operators
-
Regionalps 59.9%
1,478 trips · avg +4.5 min
-
Mouettes genevoises 64.3%
2,491 trips · avg +3 min
-
TPL 71%
10,370 trips · avg +2.6 min
-
TPG 73.4%
60,824 trips · avg +2.3 min
-
VBL 73.9%
25,663 trips · avg +2.2 min
-
Transports Publics Neuchâtelois 76.4%
17,763 trips · avg +1.9 min
-
Autobetrieb Sernftal 77%
830 trips · avg +2 min
-
BVB 78.7%
29,437 trips · avg +2 min
Show 17 more
-
Bus und Service 80.6%
10,231 trips · avg +1.8 min
-
Auto AG Rothenburg 81.2%
3,968 trips · avg +1.6 min
-
Lugano-Ponte Tresa 81.7%
803 trips · avg +1.3 min
-
Bus Nyon-Prangins 82.5%
2,270 trips · avg +1.6 min
-
Verkehrsbetrieb LIECHTENSTEINmobil 82.5%
5,471 trips · avg +1.9 min
-
Automobil Rottal 83.1%
2,892 trips · avg +1.6 min
-
tl 83.1%
46,719 trips · avg +1.7 min
-
Busbetrieb Aarau 85.2%
6,335 trips · avg +1.4 min
-
Automobiles MBC 85.3%
7,714 trips · avg +1.6 min
-
Autolinee Regionali Luganesi 85.6%
1,421 trips · avg +1.4 min
-
Autolinee FART 86.8%
4,970 trips · avg +1.2 min
-
Transports publics Vevey-Montreux-Chillon-Villeneuve 86.9%
7,626 trips · avg +1.2 min
-
Stadtbus Frauenfeld 88.4%
3,502 trips · avg +1.7 min
-
Verkehrsbetriebe der Stadt St.Gallen 88.7%
11,368 trips · avg +1.3 min
-
TPF 88.8%
26,144 trips · avg +2 min
-
Regionale Verkehrsbetriebe Baden-Wettingen 88.8%
9,081 trips · avg +1.3 min
-
Sierre-Montana-Crans 88.9%
1,969 trips · avg +1.5 min
Most punctual operators
-
Sihltal-Zürich-Uetliberg-Bahn 99.2%
1,803 trips · avg +0.4 min
-
Aare Seeland mobil 98.9%
2,226 trips · avg +0.4 min
-
Wengernalpbahn 99.2%
894 trips · avg +0.3 min
-
Schweizerische Südostbahn 98.6%
3,552 trips · avg +0.4 min
-
Regionalverkehr Bern-Solothurn 98.1%
3,931 trips · avg +0.4 min
-
Stadtbus Winterthur 97.9%
12,892 trips · avg +0.5 min
-
Zentralbahn 98.1%
2,483 trips · avg +0.4 min
-
Automobildienst SZU 97.6%
11,636 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.9%
10,659 departures · avg +1.1 min
-
Bern 96.4%
7,216 departures · avg +1 min
-
Zürich Oerlikon 94.4%
6,314 departures · avg +1.1 min
-
Zürich Stadelhofen 93.3%
4,926 departures · avg +1.2 min
-
Winterthur 95.1%
4,808 departures · avg +1 min
-
Zürich Hardbrücke 86.6%
4,751 departures · avg +2 min
-
Olten 92.4%
4,150 departures · avg +1.3 min
-
Lausanne 88.9%
3,741 departures · avg +1.6 min
-
St. Gallen 95.3%
3,618 departures · avg +1 min
-
Aarau 94.7%
3,500 departures · avg +1 min
-
Renens VD 87.3%
3,408 departures · avg +1.7 min
-
Luzern 97.1%
3,191 departures · avg +0.8 min
-
Genève, gare Cornavin 77.3%
19,922 departures · avg +2 min
-
Genève, Bel-Air 77.9%
19,303 departures · avg +2 min
-
Bern, Bahnhof 95.5%
18,914 departures · avg +1.2 min
-
Zürich, Central 94.4%
15,266 departures · avg +1.1 min
-
Luzern, Kantonalbank 79.6%
14,977 departures · avg +1.9 min
-
Basel, Schifflände 83.3%
14,736 departures · avg +1.8 min
-
14,322 departures · avg +2.6 min
-
Zürich, Bellevue 93.4%
13,596 departures · avg +1.2 min
-
13,522 departures · avg +1.2 min
-
Basel, Bankverein 86.9%
13,442 departures · avg +1.7 min
-
Luzern, Bahnhof 87.9%
13,435 departures · avg +1.4 min
-
Bern, Zytglogge 94.6%
13,259 departures · avg +1.3 min
-
Lustmühle 66.1%
703 departures · avg +2.8 min
-
703 departures · avg +2.3 min
-
Magliaso Paese 72.1%
803 departures · avg +2.6 min
-
Martigny 72.9%
1,578 departures · avg +2.9 min
-
S. Antonino 72.9%
1,114 departures · avg +2.5 min
-
Oberentfelden Engelplatz 73.8%
1,026 departures · avg +1.6 min
-
Muhen Nord 74%
1,026 departures · avg +1.6 min
-
Chiasso 74.6%
1,190 departures · avg +2.9 min
-
Agno 74.8%
803 departures · avg +2.4 min
-
Magliaso 75.3%
803 departures · avg +2.4 min
-
Caslano 75.8%
803 departures · avg +2.4 min
-
Serocca 76.8%
803 departures · avg +2.2 min
Largest delays
- Bus 591 Goppenstein, Bahnhof – Wiler (Lötschen), Gschteinät Wiler (Lötschen), Talstation +275 min
- SN Grandsonand 1 more trips of this line +249 min
- Bus 2 Lausanne, Désert – Lausanne, Epinettes Désertand 2 more trips of this line +214 min
- ICE Basel Bad Bfand 4 more trips of this line +196 min
- EC Bregenz – Zürich HB Basel SBBand 2 more trips of this line +161 min
- GEX Brig Bahnhofplatzand 4 more trips of this line +155 min
- Bus 1 Gebenstorf, Reuss – Würenlos, Bettlen Baden, Bahnhof Ostand 1 more trips of this line +154 min
- GEX St. Moritz +151 min
- Bus 3 Wettingen, Brunnenwiese +150 min
- NJ Zürich HBand 1 more trips of this line +147 min
- Bus 11 Bern, Bahnhof – Bern, Neufeld P+R Bern, Neufeld P+Rand 8 more trips of this line +146 min
- EV Basel, Dreispitz – Aesch BL, Dorf Aesch BL, Dorfand 3 more trips of this line +135 min
- Bus 21 Blécherette +124 min
- N4 Villars-Ste-Croix, En Coulaye – Lausanne, St-François Villars-Coulayeand 1 more trips of this line +123 min
- Bus 379 Wildegg, Bahnhof/Talstrasse – Auenstein, Gemeindehaus Schinznach Dorf, Oberdorf +119 min
›Probably errors in the feed (3)
Delays of more than 6 hours. The real-time feed sent them, but they are probably not real.
- Bus 1 Biel/Bienne, Löhre/Mauchamp – Biel/Bienne, Stadien/Stades Biel/Bienne, Löhre/Mauchamp +566 min
- Bus 10 Genève, Rive – Genève-Aéroport, Terminal Genève, Riveand 1 more trips of this line +419 min
- Bus 48 Pully, Daillettes – Pully, gare Pully, gareand 17 more trips of this line +412 min