Punctuality of Swiss public transport2026So far: 300 of 365 days
88.1% of 41,227,435 trips were on time. The best day was Sunday 29 March with 94.5%, the worst Friday 29 May with 83.8%. Of the busy lines, M2 Genève-Pâquis (lac) – Genève-Quai Gustave Ador (lac) had the lowest share on time: 37.2%.
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.1%
41,227,435 trips with live data
Still an estimate from the real-time feed: 1 of 300 days. The final numbers of each day come two days later from the actual times of opentransportdata.swiss (Ist-Daten).
Average delay
+1.2 min
Canceled trips
176,569
0.4% of the trips
Month by month
The share on time of each month. A point opens its month.
- Jan 2026
- Feb 2026
- Mar 2026
- Apr 2026
- May 2026
- Jun 2026
- Jul 2026
- Aug 2026
- Sept 2026
- Oct 2026
- Nov 2026
- Dec 2026
- 95%
- Average: 88.1%
- Best day
- Sun 29 Mar · 94.5%
- Worst day
- Fri 29 May · 83.8%
- Best month
- July 2026 · 89.7%
- Worst month
- June 2026 · 86.7%
By mode
-
Train 94.6%
4,162,974 trips · avg +0.8 min
-
Tram 84.4%
3,351,019 trips · avg +1.6 min
-
Bus 87.8%
33,517,625 trips · avg +1.3 min
-
Metro 92%
87,824 trips · avg +1.4 min
-
Boat 55.1%
107,993 trips · avg +3.7 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
-
M2 Genève-Pâquis (lac) – Genève-Quai Gustave Ador (lac)Genève-Pâquis (lac) – Genève-Quai Gustave Ador (lac) 37.2%
41,814 trips · avg +5 min
-
Bus 101 Marin-Epagnier, gare – Cormondrèche, Grand'RueMarin-Epagnier, gare – Cormondrèche, Grand'Rue 40.2%
43,011 trips · avg +4.3 min
-
38,679 trips · avg +4.4 min
-
Bus 109 Neuchâtel, Place Pury – Neuchâtel, Trois-ChênesNeuchâtel, Place Pury – Neuchâtel, Trois-Chênes 46.4%
57,085 trips · avg +3.6 min
-
Bus 106 Neuchâtel, Place Pury – Neuchâtel,Vallon de l'ErmitageNeuchâtel, Place Pury – Neuchâtel,Vallon de l'Ermitage 49.9%
17,065 trips · avg +3.3 min
-
Bus 54 Versoix, Centre sportif – Vernier, ParfumerieVersoix, Centre sportif – Vernier, Parfumerie 53.3%
17,575 trips · avg +3.8 min
-
49,788 trips · avg +3.1 min
-
16,126 trips · avg +3.7 min
Show 17 more
-
25,085 trips · avg +3.5 min
-
Bus 107 Marin-Epagnier, gare – Neuchâtel, Place PuryMarin-Epagnier, gare – Neuchâtel, Place Pury 57.1%
42,545 trips · avg +3.1 min
-
60,211 trips · avg +3.1 min
-
24,358 trips · avg +3 min
-
12,055 trips · avg +2.3 min
-
Bus 50 Basel, Bahnhof SBB – Basel EuroAirport, VerwaltungBasel, Bahnhof SBB – Basel EuroAirport, Verwaltung 59.3%
49,061 trips · avg +3.3 min
-
18,076 trips · avg +2.8 min
-
12,962 trips · avg +2.9 min
-
Bus 68 Saint-Genis, Jean Monnet – Vernier, BlandonnetSaint-Genis, Jean Monnet – Vernier, Blandonnet 61.4%
26,102 trips · avg +3.5 min
-
13,484 trips · avg +2.9 min
-
Bus 311 La Chaux-de-Fonds, Cerisier – La Chaux-de-Fonds, gareLa Chaux-de-Fonds, Cerisier – La Chaux-de-Fonds, gare 61.9%
20,413 trips · avg +2.9 min
-
47,473 trips · avg +2.9 min
-
16,708 trips · avg +3.1 min
-
Bus 9 Vernier, Lignon Tours – Thônex, Belle-Terre Pl. AraireVernier, Lignon Tours – Thônex, Belle-Terre Pl. Araire 63.3%
43,262 trips · avg +3 min
-
45,910 trips · avg +2.8 min
-
30,926 trips · avg +3.1 min
-
Bus 108 Neuchâtel, Temple Valangines – Neuchâtel, Place PuryNeuchâtel, Temple Valangines – Neuchâtel, Place Pury 64.2%
24,901 trips · avg +2.8 min
Most punctual busy lines
-
65,189 trips · avg +0.5 min
-
86,168 trips · avg +0.7 min
-
68,882 trips · avg +0.9 min
-
82,093 trips · avg +0.9 min
-
77,220 trips · avg +0.7 min
-
77,768 trips · avg +0.7 min
-
Bus 1 Winterthur, Oberwinterthur – Winterthur, TössWinterthur, Oberwinterthur – Winterthur, Töss 94.7%
77,592 trips · avg +0.9 min
-
61,660 trips · avg +0.8 min
Least punctual busy lines
-
17,835 trips · avg +7.2 min
-
25,482 trips · avg +2.1 min
-
31,090 trips · avg +1.6 min
-
32,128 trips · avg +1.5 min
-
21,277 trips · avg +1.3 min
-
17,896 trips · avg +1.4 min
-
21,345 trips · avg +1.1 min
-
13,373 trips · avg +1.1 min
Show 17 more
-
16,851 trips · avg +1.3 min
-
22,901 trips · avg +1.2 min
-
15,479 trips · avg +1.3 min
-
17,915 trips · avg +1 min
-
12,665 trips · avg +0.9 min
-
14,769 trips · avg +0.7 min
-
21,852 trips · avg +1.2 min
-
16,622 trips · avg +0.8 min
-
26,062 trips · avg +1 min
-
21,209 trips · avg +0.9 min
-
24,277 trips · avg +0.9 min
-
21,186 trips · avg +0.8 min
-
32,385 trips · avg +0.9 min
-
R15 Neuchâtel Place Pury Littorail – Boudry LittorailNeuchâtel Place Pury Littorail – Boudry Littorail 94.1%
23,730 trips · avg +1 min
-
26,676 trips · avg +0.6 min
-
16,371 trips · avg +0.7 min
-
13,330 trips · avg +0.7 min
Most punctual busy lines
-
17,226 trips · avg +0 min
-
20,369 trips · avg +0.1 min
-
36,498 trips · avg +0.3 min
-
48,639 trips · avg +0.2 min
-
21,589 trips · avg +0.3 min
-
19,381 trips · avg +0.4 min
-
22,500 trips · avg +0.4 min
-
28,575 trips · avg +0.5 min
Least punctual busy lines
-
Tram 8 Weil am Rhein, Bahnhof/Zentrum – Basel, NeuweilerstrasseWeil am Rhein, Bahnhof/Zentrum – Basel, Neuweilerstrasse 66.6%
59,188 trips · avg +2.7 min
-
Tram 14 Basel, Dreirosenbrücke – Pratteln, SchlossstrasseBasel, Dreirosenbrücke – Pratteln, Schlossstrasse 69.7%
60,879 trips · avg +2.5 min
-
82,120 trips · avg +1.8 min
-
Tram 8 Bern Brünnen Westside, Bahnhof – Bern, SaaliBern Brünnen Westside, Bahnhof – Bern, Saali 71.7%
45,103 trips · avg +2.3 min
-
80,261 trips · avg +2.3 min
-
78,238 trips · avg +2.1 min
-
27,049 trips · avg +2.1 min
-
58,275 trips · avg +1.9 min
Show 17 more
-
99,284 trips · avg +1.9 min
-
73,078 trips · avg +2 min
-
39,466 trips · avg +1.9 min
-
Tram 3 St-Louis, Gare de Saint-Louis – Birsfelden, HardSt-Louis, Gare de Saint-Louis – Birsfelden, Hard 80%
28,117 trips · avg +1.9 min
-
96,634 trips · avg +1.7 min
-
78,435 trips · avg +1.8 min
-
37,734 trips · avg +1.7 min
-
Tram 9 Wabern, Tram-Endstation – Bern Wankdorf, BahnhofWabern, Tram-Endstation – Bern Wankdorf, Bahnhof 82.6%
75,034 trips · avg +1.8 min
-
46,884 trips · avg +1.7 min
-
Tram 7 Zürich, Wollishoferplatz – Stettbach, BahnhofZürich, Wollishoferplatz – Stettbach, Bahnhof 84.2%
59,824 trips · avg +1.7 min
-
99,047 trips · avg +1.7 min
-
80,770 trips · avg +1.5 min
-
Tram 10 Zürich, Bahnhofstrasse/HB – Zürich Flughafen, FrachtZürich, Bahnhofstrasse/HB – Zürich Flughafen, Fracht 86.2%
57,867 trips · avg +1.5 min
-
85,340 trips · avg +1.4 min
-
Tram 13 Zürich, Bahnhofstrasse/HB – Zürich, AlbisgütliZürich, Bahnhofstrasse/HB – Zürich, Albisgütli 88.4%
100,996 trips · avg +1.4 min
-
82,844 trips · avg +1.7 min
-
15,430 trips · avg +1.1 min
Most punctual busy lines
-
32,297 trips · avg +0.3 min
-
Tram 20 Killwangen, Bahnhof – Zürich Altstetten, BahnhofKillwangen, Bahnhof – Zürich Altstetten, Bahnhof 96.2%
45,915 trips · avg +0.9 min
-
82,093 trips · avg +0.9 min
-
57,194 trips · avg +1 min
-
Tram 12 Zürich Flughafen, Fracht – Stettbach, BahnhofZürich Flughafen, Fracht – Stettbach, Bahnhof 94.2%
38,081 trips · avg +1.1 min
-
Tram 15 Zürich Tiefenbrunnen, Bahnhof – Zürich, CentralZürich Tiefenbrunnen, Bahnhof – Zürich, Central 93.7%
69,683 trips · avg +1.1 min
-
75,697 trips · avg +1 min
-
80,369 trips · avg +0.9 min
Least punctual busy lines
-
Bus 101 Marin-Epagnier, gare – Cormondrèche, Grand'RueMarin-Epagnier, gare – Cormondrèche, Grand'Rue 40.2%
43,011 trips · avg +4.3 min
-
Bus 109 Neuchâtel, Place Pury – Neuchâtel, Trois-ChênesNeuchâtel, Place Pury – Neuchâtel, Trois-Chênes 46.4%
57,085 trips · avg +3.6 min
-
Bus 106 Neuchâtel, Place Pury – Neuchâtel,Vallon de l'ErmitageNeuchâtel, Place Pury – Neuchâtel,Vallon de l'Ermitage 49.9%
17,065 trips · avg +3.3 min
-
Bus 54 Versoix, Centre sportif – Vernier, ParfumerieVersoix, Centre sportif – Vernier, Parfumerie 53.3%
17,575 trips · avg +3.8 min
-
49,788 trips · avg +3.1 min
-
16,126 trips · avg +3.7 min
-
25,085 trips · avg +3.5 min
-
Bus 107 Marin-Epagnier, gare – Neuchâtel, Place PuryMarin-Epagnier, gare – Neuchâtel, Place Pury 57.1%
42,545 trips · avg +3.1 min
Show 17 more
-
60,211 trips · avg +3.1 min
-
24,358 trips · avg +3 min
-
12,055 trips · avg +2.3 min
-
Bus 50 Basel, Bahnhof SBB – Basel EuroAirport, VerwaltungBasel, Bahnhof SBB – Basel EuroAirport, Verwaltung 59.3%
49,061 trips · avg +3.3 min
-
18,076 trips · avg +2.8 min
-
12,962 trips · avg +2.9 min
-
Bus 68 Saint-Genis, Jean Monnet – Vernier, BlandonnetSaint-Genis, Jean Monnet – Vernier, Blandonnet 61.4%
26,102 trips · avg +3.5 min
-
13,484 trips · avg +2.9 min
-
Bus 311 La Chaux-de-Fonds, Cerisier – La Chaux-de-Fonds, gareLa Chaux-de-Fonds, Cerisier – La Chaux-de-Fonds, gare 61.9%
20,413 trips · avg +2.9 min
-
47,473 trips · avg +2.9 min
-
16,708 trips · avg +3.1 min
-
Bus 9 Vernier, Lignon Tours – Thônex, Belle-Terre Pl. AraireVernier, Lignon Tours – Thônex, Belle-Terre Pl. Araire 63.3%
43,262 trips · avg +3 min
-
45,910 trips · avg +2.8 min
-
30,926 trips · avg +3.1 min
-
Bus 108 Neuchâtel, Temple Valangines – Neuchâtel, Place PuryNeuchâtel, Temple Valangines – Neuchâtel, Place Pury 64.2%
24,901 trips · avg +2.8 min
-
38,613 trips · avg +3 min
-
60,503 trips · avg +2.9 min
Most punctual busy lines
-
65,189 trips · avg +0.5 min
-
54,887 trips · avg +0.7 min
-
68,882 trips · avg +0.9 min
-
77,220 trips · avg +0.7 min
-
77,768 trips · avg +0.7 min
-
Bus 1 Winterthur, Oberwinterthur – Winterthur, TössWinterthur, Oberwinterthur – Winterthur, Töss 94.7%
77,592 trips · avg +0.9 min
-
Bus 752 Stettbach, Bahnhof – Dübendorf, KunsteisbahnStettbach, Bahnhof – Dübendorf, Kunsteisbahn 94.6%
55,238 trips · avg +1.1 min
-
55,168 trips · avg +0.9 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) 37.2%
41,814 trips · avg +5 min
-
38,679 trips · avg +4.4 min
-
14,079 trips · avg +0.7 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%
13,421 trips · avg +0.6 min
Least punctual operators
-
Mouettes genevoises 55.1%
107,993 trips · avg +3.7 min
-
VBL 72.2%
1,086,174 trips · avg +2.4 min
-
TPG 76%
2,521,390 trips · avg +2.1 min
-
Transports Publics Neuchâtelois 76.1%
730,889 trips · avg +2 min
-
TPL 76.4%
441,602 trips · avg +2.1 min
-
Autobetrieb Sernftal 76.9%
33,020 trips · avg +2.2 min
-
BVB 77.6%
1,363,641 trips · avg +2 min
-
Automobil Rottal 77.8%
123,020 trips · avg +1.9 min
Show 17 more
-
Verkehrsbetrieb LIECHTENSTEINmobil 78%
224,639 trips · avg +2.1 min
-
Busbetrieb Rapperswil-Eschenbach-Rüti ZH 80.6%
79,162 trips · avg +1.7 min
-
Lugano-Ponte Tresa 81.2%
32,904 trips · avg +1.5 min
-
Bus und Service 81.4%
427,725 trips · avg +1.7 min
-
Auto AG Rothenburg 82%
204,742 trips · avg +1.6 min
-
Busbetrieb Aarau 84.3%
271,189 trips · avg +1.5 min
-
tl 84.6%
1,932,090 trips · avg +1.5 min
-
Regionale Verkehrsbetriebe Baden-Wettingen 84.8%
378,151 trips · avg +1.5 min
-
Busbetrieb Solothurn und Umgebung 85.2%
200,771 trips · avg +1.4 min
-
Sierre-Montana-Crans 85.4%
78,188 trips · avg +1.6 min
-
Bus Nyon-Prangins 85.5%
93,312 trips · avg +1.4 min
-
Bus Sierrois 85.9%
68,135 trips · avg +1.5 min
-
VBZ 86.1%
4,626,832 trips · avg +1.5 min
-
Stadtbus Frauenfeld 86.4%
145,992 trips · avg +1.6 min
-
Verkehrsbetriebe Biel 86.6%
391,407 trips · avg +1.4 min
-
Transports publics Vevey-Montreux-Chillon-Villeneuve 86.7%
321,787 trips · avg +1.3 min
-
Regiobus Gossau SG 86.8%
165,526 trips · avg +1.4 min
Most punctual operators
-
Regionalverkehr Bern-Solothurn 98.6%
168,127 trips · avg +0.3 min
-
Aare Seeland mobil 98.2%
91,858 trips · avg +0.4 min
-
Sihltal-Zürich-Uetliberg-Bahn 98.2%
80,191 trips · avg +0.5 min
-
Zentralbahn 98.1%
105,353 trips · avg +0.4 min
-
THURBO 97.9%
331,729 trips · avg +0.4 min
-
Schweizerische Südostbahn 97.5%
151,866 trips · avg +0.5 min
-
BLS 97.1%
454,462 trips · avg +0.5 min
-
Lausanne-Echallens-Bercher 96.7%
31,998 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 94.5%
477,495 departures · avg +1.2 min
-
Bern 96.7%
304,736 departures · avg +0.9 min
-
Zürich Oerlikon 94.7%
264,935 departures · avg +1.1 min
-
Zürich Stadelhofen 92.3%
208,261 departures · avg +1.3 min
-
Winterthur 95.6%
203,353 departures · avg +1.1 min
-
Zürich Hardbrücke 85.5%
199,705 departures · avg +2 min
-
Olten 92.2%
178,228 departures · avg +1.3 min
-
St. Gallen 94.3%
153,891 departures · avg +1.2 min
-
Lausanne 89.8%
153,486 departures · avg +1.5 min
-
Aarau 94.5%
152,737 departures · avg +1 min
-
Renens VD 90.2%
145,057 departures · avg +1.4 min
-
Luzern 97.2%
137,336 departures · avg +0.8 min
-
Bern, Bahnhof 93.9%
801,442 departures · avg +1.2 min
-
Genève, gare Cornavin 77.5%
799,173 departures · avg +2.1 min
-
Genève, Bel-Air 78.9%
771,174 departures · avg +2 min
-
Luzern, Kantonalbank 78.1%
657,119 departures · avg +2.1 min
-
Zürich, Central 92.9%
635,367 departures · avg +1.1 min
-
Bern, Zytglogge 91.3%
598,824 departures · avg +1.5 min
-
Lausanne, Bel-Air 72.1%
592,597 departures · avg +2.4 min
-
Basel, Bahnhof SBB 86.4%
591,706 departures · avg +1.7 min
-
Bern, Hirschengraben 89.2%
582,691 departures · avg +1.6 min
-
Luzern, Bahnhof 86.5%
581,204 departures · avg +1.6 min
-
Zürich, Bellevue 92.4%
578,217 departures · avg +1.2 min
-
Basel, Schifflände 82.6%
561,582 departures · avg +1.9 min
-
Magliaso Paese 66.8%
31,188 departures · avg +2.8 min
-
Agno 69.6%
32,050 departures · avg +2.7 min
-
Magliaso 70.4%
31,188 departures · avg +2.6 min
-
Serocca 72%
32,904 departures · avg +2.5 min
-
32,904 departures · avg +2.4 min
-
Oberentfelden Engelplatz 73.6%
43,289 departures · avg +1.6 min
-
Muhen Nord 73.8%
43,286 departures · avg +1.6 min
-
Caslano 75.9%
31,188 departures · avg +2.4 min
-
Zug Chollermüli 77.8%
39,678 departures · avg +2.2 min
-
Bioggio 77.9%
32,904 departures · avg +2 min
-
Zug Schutzengel 78.9%
38,616 departures · avg +2.2 min
-
Cham Alpenblick 79.7%
39,854 departures · avg +2.1 min
Largest delays
- ICE Interlaken Ostand 30 more trips of this line +310 min
- NJ Zürich HBand 105 more trips of this line +297 min
- BEX Tirano – Chur Tiranoand 6 more trips of this line +257 min
- Bus 612 Areuse Littorail, gare – Gorgier-St-Aubin, gare Cortaillod, Cort'Agoraand 2 more trips of this line +251 min
- Bus 613 Cortaillod, Cort'Agora – Boudry, Pôle Economique Areuse Littorail, gareand 1 more trips of this line +248 min
- Bus 195 Pfäffikon SZ, Bahnhof – Pfäffikon SZ, Seedamm-Center Pfäffikon SZ, Seedamm-Centerand 4 more trips of this line +242 min
- NJ Zürich HBand 49 more trips of this line +239 min
- EC Bregenz – Zürich HB Zürich HBand 527 more trips of this line +225 min
- RJX Zürich HBand 96 more trips of this line +203 min
- TGV Zürich HB – Mulhouse Zürich HBand 28 more trips of this line +185 min
- Bus 5 Thônex, Vallard – Genève-Aéroport, Terminal Genève-Aéroport, Terminaland 41 more trips of this line +179 min
- Bus 39 Vésenaz, Pointe à la Bise – Presinge, village Presinge, villageand 11 more trips of this line +179 min
- Bus 24 Lausanne, Tour Haldimand-Lac – Lausanne, Bourdonnette T. Haldimand-Lacand 126 more trips of this line +179 min
- Bus 1 Gebenstorf, Reuss – Würenlos, Bettlen Würenlos, Bettlenand 108 more trips of this line +179 min
- Bus 7 Wettingen, Tägi – Birmenstorf AG, Schinebüel Wettingen, Tägiand 21 more trips of this line +178 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 180 Pfäffikon SZ, Bahnhof – Samstagern, Bahnhof Pfäffikon SZ, Bahnhofand 17 more trips of this line +479 min
- NJ Zürich HBand 12 more trips of this line +377 min
- Bus 9 Vernier, Lignon Tours – Thônex, Belle-Terre Pl. Araire Vernier, Lignon Toursand 33 more trips of this line +365 min