Punctuality of Swiss public transportSeptember 2026
86.9% of 4,249,065 trips were on time. The best day was Sunday 20 September with 91.1%, the worst Friday 25 September with 84.2%. Of the busy lines, Bus 109 Neuchâtel, Place Pury – Neuchâtel, Trois-Chênes had the lowest share on time: 34.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.
86.9%
−1.4 ptsMonth before: 88.3% · 4,249,065 trips with live data
Average delay
+1.3 min
Canceled trips
21,358
0.5% of the trips
Day by day
The share on time of each day. A day opens its page, a week number its week.
- Best day
- Sun 20 Sept · 91.1%
- Worst day
- Fri 25 Sept · 84.2%
By mode
-
Train 94.2%
412,722 trips · avg +0.8 min
-
Tram 84.6%
337,627 trips · avg +1.6 min
-
Bus 86.4%
3,477,972 trips · avg +1.4 min
-
Metro 87.1%
8,965 trips · avg +1.6 min
-
Boat 54.9%
11,779 trips · avg +3.6 min
Month by month
The share on time of each month. A point opens its month.
- Dec 2025
- Jan 2026
- Feb 2026
- Mar 2026
- Apr 2026
- May 2026
- Jun 2026
- Jul 2026
- Aug 2026
- Sept 2026
- 95%
- Average: 88.3%
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 109 Neuchâtel, Place Pury – Neuchâtel, Trois-ChênesNeuchâtel, Place Pury – Neuchâtel, Trois-Chênes 34.5%
5,908 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) 36.1%
4,692 trips · avg +4.9 min
-
3,995 trips · avg +4.5 min
-
2,544 trips · avg +4.8 min
-
1,962 trips · avg +3.8 min
-
Bus 9 Vernier, Lignon Tours – Thônex, Belle-Terre Pl. AraireVernier, Lignon Tours – Thônex, Belle-Terre Pl. Araire 52.4%
5,679 trips · avg +3.8 min
-
4,100 trips · avg +3.7 min
-
Bus 108 Neuchâtel, Temple Valangines – Neuchâtel, Place PuryNeuchâtel, Temple Valangines – Neuchâtel, Place Pury 55.3%
5,368 trips · avg +3.4 min
Show 17 more
-
2,539 trips · avg +4.2 min
-
1,354 trips · avg +3.3 min
-
1,695 trips · avg +3.2 min
-
4,901 trips · avg +3.5 min
-
4,578 trips · avg +3.1 min
-
8,197 trips · avg +3.2 min
-
4,931 trips · avg +3 min
-
Tram 8 Basel, Neuweilerstrasse – Weil am Rhein, Bahnhof/ZentrumBasel, Neuweilerstrasse – Weil am Rhein, Bahnhof/Zentrum 60.4%
1,815 trips · avg +2.9 min
-
2,456 trips · avg +3 min
-
3,976 trips · avg +2.9 min
-
7,471 trips · avg +2.9 min
-
Bus 32 Zürich, Strassenverkehrsamt – Zürich, HolzerhurdZürich, Strassenverkehrsamt – Zürich, Holzerhurd 61.7%
10,216 trips · avg +3.1 min
-
4,854 trips · avg +2.9 min
-
6,374 trips · avg +2.9 min
-
Bus 61 Wallisellen, Glatt (Bus) – Zürich, MühlackerWallisellen, Glatt (Bus) – Zürich, Mühlacker 62.6%
4,561 trips · avg +2.7 min
-
5,038 trips · avg +3 min
-
1,997 trips · avg +3.5 min
Most punctual busy lines
-
8,292 trips · avg +0.7 min
-
6,636 trips · avg +0.5 min
-
6,857 trips · avg +0.9 min
-
7,992 trips · avg +0.7 min
-
Bus 3 Winterthur, Oberseen – Winterthur, RosenbergWinterthur, Oberseen – Winterthur, Rosenberg 95.3%
7,902 trips · avg +0.7 min
-
Bus 101 Bern, Hauptbahnhof – Hinterkappelen, SchlossmattBern, Hauptbahnhof – Hinterkappelen, Schlossmatt 95%
6,486 trips · avg +0.7 min
-
Bus 1 Winterthur, Oberwinterthur – Winterthur, TössWinterthur, Oberwinterthur – Winterthur, Töss 94.7%
7,940 trips · avg +0.9 min
-
6,515 trips · avg +0.9 min
Least punctual busy lines
-
3,139 trips · avg +2.5 min
-
1,874 trips · avg +6.5 min
-
3,377 trips · avg +2.1 min
-
2,153 trips · avg +1.7 min
-
2,153 trips · avg +1.8 min
-
1,201 trips · avg +1.3 min
-
2,128 trips · avg +1.2 min
-
1,245 trips · avg +1.2 min
Show 17 more
-
1,994 trips · avg +1.3 min
-
1,623 trips · avg +0.9 min
-
1,601 trips · avg +1.1 min
-
1,568 trips · avg +1.1 min
-
1,342 trips · avg +0.9 min
-
2,398 trips · avg +0.8 min
-
2,770 trips · avg +0.9 min
-
1,919 trips · avg +0.8 min
-
1,380 trips · avg +0.6 min
-
2,477 trips · avg +0.8 min
-
2,120 trips · avg +0.9 min
-
2,227 trips · avg +1 min
-
1,792 trips · avg +0.7 min
-
1,244 trips · avg +0.5 min
-
2,014 trips · avg +0.7 min
-
1,702 trips · avg +0.7 min
-
1,703 trips · avg +0.7 min
Most punctual busy lines
-
1,740 trips · avg +0 min
-
5,029 trips · avg +0.2 min
-
3,683 trips · avg +0.3 min
-
3,120 trips · avg +0.5 min
-
1,954 trips · avg +0.4 min
-
2,194 trips · avg +0.4 min
-
4,301 trips · avg +0.3 min
-
1,659 trips · avg +0.2 min
Least punctual busy lines
-
Tram 8 Basel, Neuweilerstrasse – Weil am Rhein, Bahnhof/ZentrumBasel, Neuweilerstrasse – Weil am Rhein, Bahnhof/Zentrum 60.4%
1,815 trips · avg +2.9 min
-
Tram 14 Basel, Dreirosenbrücke – Pratteln, SchlossstrasseBasel, Dreirosenbrücke – Pratteln, Schlossstrasse 68.8%
6,498 trips · avg +2.6 min
-
8,260 trips · avg +1.9 min
-
8,187 trips · avg +2.4 min
-
8,347 trips · avg +2 min
-
7,921 trips · avg +2 min
-
Tram 2 Binningen, Kronenplatz – Basel, Badischer BahnhofBinningen, Kronenplatz – Basel, Badischer Bahnhof 79.1%
1,389 trips · avg +2 min
-
4,791 trips · avg +1.8 min
Show 17 more
-
Tram 9 Wabern, Tram-Endstation – Bern Wankdorf, BahnhofWabern, Tram-Endstation – Bern Wankdorf, Bahnhof 82.2%
9,851 trips · avg +1.8 min
-
8,197 trips · avg +1.6 min
-
10,569 trips · avg +1.7 min
-
8,552 trips · avg +1.5 min
-
10,018 trips · avg +1.6 min
-
1,403 trips · avg +1.4 min
-
8,233 trips · avg +1.8 min
-
Tram 7 Stettbach, Bahnhof – Zürich, WollishoferplatzStettbach, Bahnhof – Zürich, Wollishoferplatz 87%
1,866 trips · avg +1.5 min
-
8,430 trips · avg +1.4 min
-
10,593 trips · avg +1.5 min
-
7,949 trips · avg +1.5 min
-
Tram 51 Zürich Altstetten, Bahnhof N – Zürich, SeebachZürich Altstetten, Bahnhof N – Zürich, Seebach 89.2%
8,515 trips · avg +1.4 min
-
Tram 10 Zürich Flughafen, Fracht – Zürich, Bahnhofplatz/HBZürich Flughafen, Fracht – Zürich, Bahnhofplatz/HB 89.3%
1,612 trips · avg +1.3 min
-
8,255 trips · avg +1 min
-
Tram 11 Zürich, Central – Zürich Tiefenbrunnen, BahnhofZürich, Central – Zürich Tiefenbrunnen, Bahnhof 91.3%
1,827 trips · avg +1.2 min
-
4,696 trips · avg +1 min
-
6,495 trips · avg +1 min
Most punctual busy lines
-
3,758 trips · avg +0.1 min
-
Tram 20 Killwangen, Bahnhof – Zürich Altstetten, BahnhofKillwangen, Bahnhof – Zürich Altstetten, Bahnhof 95.3%
4,608 trips · avg +1 min
-
8,198 trips · avg +1 min
-
6,495 trips · avg +1 min
-
4,696 trips · avg +1 min
-
Tram 11 Zürich, Central – Zürich Tiefenbrunnen, BahnhofZürich, Central – Zürich Tiefenbrunnen, Bahnhof 91.3%
1,827 trips · avg +1.2 min
-
8,255 trips · avg +1 min
-
Tram 10 Zürich Flughafen, Fracht – Zürich, Bahnhofplatz/HBZürich Flughafen, Fracht – Zürich, Bahnhofplatz/HB 89.3%
1,612 trips · avg +1.3 min
Least punctual busy lines
-
Bus 109 Neuchâtel, Place Pury – Neuchâtel, Trois-ChênesNeuchâtel, Place Pury – Neuchâtel, Trois-Chênes 34.5%
5,908 trips · avg +4.5 min
-
2,544 trips · avg +4.8 min
-
1,962 trips · avg +3.8 min
-
Bus 9 Vernier, Lignon Tours – Thônex, Belle-Terre Pl. AraireVernier, Lignon Tours – Thônex, Belle-Terre Pl. Araire 52.4%
5,679 trips · avg +3.8 min
-
4,100 trips · avg +3.7 min
-
Bus 108 Neuchâtel, Temple Valangines – Neuchâtel, Place PuryNeuchâtel, Temple Valangines – Neuchâtel, Place Pury 55.3%
5,368 trips · avg +3.4 min
-
2,539 trips · avg +4.2 min
-
1,354 trips · avg +3.3 min
Show 17 more
-
1,695 trips · avg +3.2 min
-
4,901 trips · avg +3.5 min
-
4,578 trips · avg +3.1 min
-
8,197 trips · avg +3.2 min
-
4,931 trips · avg +3 min
-
2,456 trips · avg +3 min
-
3,976 trips · avg +2.9 min
-
7,471 trips · avg +2.9 min
-
Bus 32 Zürich, Strassenverkehrsamt – Zürich, HolzerhurdZürich, Strassenverkehrsamt – Zürich, Holzerhurd 61.7%
10,216 trips · avg +3.1 min
-
4,854 trips · avg +2.9 min
-
6,374 trips · avg +2.9 min
-
Bus 61 Wallisellen, Glatt (Bus) – Zürich, MühlackerWallisellen, Glatt (Bus) – Zürich, Mühlacker 62.6%
4,561 trips · avg +2.7 min
-
5,038 trips · avg +3 min
-
1,997 trips · avg +3.5 min
-
Bus 22 Carouge GE, Rondeau – Genève, Jardin BotaniqueCarouge GE, Rondeau – Genève, Jardin Botanique 63%
2,491 trips · avg +3 min
-
1,851 trips · avg +2.6 min
-
3,323 trips · avg +3.4 min
Most punctual busy lines
-
5,559 trips · avg +0.6 min
-
5,470 trips · avg +0.7 min
-
6,636 trips · avg +0.5 min
-
6,857 trips · avg +0.9 min
-
Bus 6 St. Gallen, Bach St. Georgen – St. Gallen, HeiligkreuzSt. Gallen, Bach St. Georgen – St. Gallen, Heiligkreuz 95.6%
5,602 trips · avg +0.7 min
-
7,992 trips · avg +0.7 min
-
Bus 3 Winterthur, Oberseen – Winterthur, RosenbergWinterthur, Oberseen – Winterthur, Rosenberg 95.3%
7,902 trips · avg +0.7 min
-
5,598 trips · avg +0.7 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) 36.1%
4,692 trips · avg +4.9 min
-
3,995 trips · avg +4.5 min
-
1,590 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) 99.3%
1,502 trips · avg +0.4 min
Least punctual operators
-
Mouettes genevoises 54.9%
11,779 trips · avg +3.6 min
-
VBL 67.4%
110,207 trips · avg +2.7 min
-
Transports Publics Neuchâtelois 71.1%
78,338 trips · avg +2.4 min
-
Lugano-Ponte Tresa 72.3%
3,377 trips · avg +2.1 min
-
TPG 73.6%
259,215 trips · avg +2.3 min
-
TPL 73.8%
44,666 trips · avg +2.4 min
-
Autobetrieb Sernftal 75%
3,791 trips · avg +2.1 min
-
Automobil Rottal 76.6%
12,724 trips · avg +1.9 min
Show 17 more
-
BVB 77.9%
137,214 trips · avg +2 min
-
Verkehrsbetrieb LIECHTENSTEINmobil 78.1%
23,040 trips · avg +2 min
-
Matterhorn Gotthard Bahn 78.6%
9,411 trips · avg +1.7 min
-
Auto AG Rothenburg 79.8%
20,851 trips · avg +1.7 min
-
Busbetrieb Aarau 81%
27,216 trips · avg +1.7 min
-
Bus und Service 81.1%
43,771 trips · avg +1.8 min
-
Busbetrieb Rapperswil-Eschenbach-Rüti ZH 82.4%
8,157 trips · avg +1.6 min
-
Bus Nyon-Prangins 82.5%
9,839 trips · avg +1.6 min
-
Transports publics Vevey-Montreux-Chillon-Villeneuve 82.9%
32,342 trips · avg +1.5 min
-
tl 83%
198,606 trips · avg +1.6 min
-
VBZ 83.7%
471,952 trips · avg +1.6 min
-
Busbetrieb Solothurn und Umgebung 84.4%
20,902 trips · avg +1.4 min
-
Regionale Verkehrsbetriebe Baden-Wettingen 84.6%
39,018 trips · avg +1.5 min
-
Bus Sierrois 85%
7,548 trips · avg +1.5 min
-
Service d'automobiles TRN 85%
5,933 trips · avg +1.7 min
-
Autolinee Regionali Luganesi 86.3%
6,138 trips · avg +1.3 min
-
Stadtbus Frauenfeld 86.3%
15,118 trips · avg +1.6 min
Most punctual operators
-
Sihltal-Zürich-Uetliberg-Bahn 98.8%
7,733 trips · avg +0.4 min
-
Aare Seeland mobil 98.6%
9,556 trips · avg +0.4 min
-
Regionalverkehr Bern-Solothurn 98.2%
16,869 trips · avg +0.3 min
-
THURBO 97.9%
32,113 trips · avg +0.4 min
-
Zentralbahn 97.9%
10,644 trips · avg +0.5 min
-
Schweizerische Südostbahn 97.5%
15,061 trips · avg +0.5 min
-
BLS 97.1%
45,855 trips · avg +0.5 min
-
Wengernalpbahn 96.2%
3,929 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.9%
46,224 departures · avg +1.2 min
-
Bern 96.7%
30,959 departures · avg +0.9 min
-
Zürich Oerlikon 94.3%
26,684 departures · avg +1.1 min
-
Zürich Stadelhofen 91.5%
20,805 departures · avg +1.3 min
-
Winterthur 95.4%
20,238 departures · avg +1.1 min
-
20,178 departures · avg +2.1 min
-
Olten 92.7%
18,109 departures · avg +1.3 min
-
St. Gallen 94.3%
15,641 departures · avg +1.2 min
-
Lausanne 90.2%
15,441 departures · avg +1.5 min
-
Aarau 95%
15,335 departures · avg +0.9 min
-
Renens VD 89.7%
14,345 departures · avg +1.5 min
-
Luzern 96.9%
14,019 departures · avg +0.9 min
-
Genève, gare Cornavin 74.8%
84,378 departures · avg +2.2 min
-
Bern, Bahnhof 94.4%
82,105 departures · avg +1.2 min
-
Genève, Bel-Air 77.1%
82,025 departures · avg +2.1 min
-
Zürich, Central 91.3%
64,713 departures · avg +1.2 min
-
Luzern, Kantonalbank 74.7%
64,229 departures · avg +2.3 min
-
Lausanne, Bel-Air 69.4%
61,092 departures · avg +2.5 min
-
Basel, Bahnhof SBB 86.8%
60,208 departures · avg +1.6 min
-
Zürich, Bellevue 91.9%
58,310 departures · avg +1.3 min
-
Luzern, Bahnhof 84.3%
57,693 departures · avg +1.7 min
-
Bern, Zytglogge 92.9%
57,348 departures · avg +1.3 min
-
57,065 departures · avg +1.4 min
-
Bern, Hirschengraben 86.9%
56,293 departures · avg +1.7 min
-
Magliaso Paese 59.6%
3,377 departures · avg +3.3 min
-
Agno 62.2%
3,377 departures · avg +3.2 min
-
Magliaso 62.8%
3,377 departures · avg +3.2 min
-
Serocca 64.6%
3,377 departures · avg +3 min
-
St. Gallen Marktplatz 65.8%
3,005 departures · avg +2.7 min
-
3,377 departures · avg +2.8 min
-
Caslano 66.9%
3,377 departures · avg +3.1 min
-
Bioggio 72.2%
3,377 departures · avg +2.4 min
-
St. Gallen Birnbäumen 73.3%
3,005 departures · avg +2.4 min
-
Oberentfelden Engelplatz 73.7%
4,149 departures · avg +1.6 min
-
Muhen Nord 73.9%
4,146 departures · avg +1.6 min
-
3,005 departures · avg +2.4 min
Largest delays
- EC Bregenz – Zürich HB Zürich HBand 50 more trips of this line +214 min
- Bus 7 Wettingen, Tägiand 1 more trips of this line +178 min
- Bus 21 Blécheretteand 12 more trips of this line +177 min
- A Genève, Rive – Gy, temple Gy, templeand 8 more trips of this line +176 min
- Bus 68 Lutry, Croix/Lutry – Lutry, gare Lutry, gareand 9 more trips of this line +175 min
- TGV Zürich HB – Mulhouse Zürich HBand 4 more trips of this line +170 min
- NJ Zürich HBand 1 more trips of this line +159 min
- Tram 12 Lancy-Bachet, gare – Thônex, Moillesulaz Lancy-Bachet, gareand 49 more trips of this line +158 min
- Bus 47 Grandv, P. Granaand 1 more trips of this line +155 min
- Bus 54 Epalinges, Croisettes – Renens VD, gare Renens VD, gareand 4 more trips of this line +151 min
- Tram 13 Zürich, Bahnhofstrasse/HBand 1 more trips of this line +146 min
- NJ Zürich HB +144 min
- Bus 6 Lausanne, Maladière – Lausanne, Praz-Séchaud Maladièreand 5 more trips of this line +132 min
- S41 Fribourg/Freiburg +131 min
- Bus 344 Brunnwil, Weilerand 2 more trips of this line +131 min