Punctuality of Swiss public transportJuly 2026
89.7% of 4,372,176 trips were on time. The best day was Sunday 26 July with 93.3%, the worst Wednesday 1 July with 84.2%. Of the busy lines, Bus 101 Cormondrèche, Grand'Rue – Marin-Epagnier, gare had the lowest share on time: 26%.
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.
89.7%
+3 ptsMonth before: 86.7% · 4,372,176 trips with live data
Average delay
+1.2 min
Canceled trips
24,633
0.6% 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 26 Jul · 93.3%
- Worst day
- Wed 1 Jul · 84.2%
By mode
-
Train 94.5%
430,958 trips · avg +0.8 min
-
Tram 84.6%
389,901 trips · avg +1.6 min
-
Bus 89.8%
3,529,669 trips · avg +1.1 min
-
Metro 96.1%
8,805 trips · avg +1.1 min
-
Boat 48.3%
12,843 trips · avg +4.2 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
- 95%
- Average: 88.5%
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 26%
4,263 trips · avg +4.7 min
-
M2 Genève-Pâquis (lac) – Genève-Quai Gustave Ador (lac)Genève-Pâquis (lac) – Genève-Quai Gustave Ador (lac) 29.1%
4,884 trips · avg +5.7 min
-
4,738 trips · avg +5.1 min
-
3,023 trips · avg +4 min
-
2,673 trips · avg +3.7 min
-
Bus 68 Thoiry, Centre commercial – Vernier, BlandonnetThoiry, Centre commercial – Vernier, Blandonnet 51.9%
3,567 trips · avg +3.9 min
-
2,112 trips · avg +4.1 min
-
1,750 trips · avg +4.2 min
Show 17 more
-
Bus 109 Neuchâtel, Place Pury – Neuchâtel, Trois-ChênesNeuchâtel, Place Pury – Neuchâtel, Trois-Chênes 56.2%
5,880 trips · avg +3 min
-
2,666 trips · avg +3.5 min
-
5,213 trips · avg +2.9 min
-
5,504 trips · avg +3.2 min
-
1,846 trips · avg +9.9 min
-
1,964 trips · avg +2.7 min
-
Tram 8 Basel, Neuweilerstrasse – Weil am Rhein, Bahnhof/ZentrumBasel, Neuweilerstrasse – Weil am Rhein, Bahnhof/Zentrum 63.2%
1,917 trips · avg +2.8 min
-
Bus 122 Grindelwald, Gletscherschlucht – Grindelwald, KlusiGrindelwald, Gletscherschlucht – Grindelwald, Klusi 63.9%
1,365 trips · avg +2.9 min
-
8,233 trips · avg +2.4 min
-
6,831 trips · avg +3.1 min
-
1,403 trips · avg +2.6 min
-
4,440 trips · avg +2.8 min
-
5,571 trips · avg +2.7 min
-
4,740 trips · avg +2.6 min
-
4,265 trips · avg +2.5 min
-
1,483 trips · avg +2.7 min
-
2,380 trips · avg +2.7 min
Most punctual busy lines
-
7,205 trips · avg +0.6 min
-
6,546 trips · avg +0.5 min
-
9,027 trips · avg +0.7 min
-
6,166 trips · avg +0.6 min
-
Bus 781 Zürich Oerlikon, Bahnhof – Glattbrugg, GiebeleichstrasseZürich Oerlikon, Bahnhof – Glattbrugg, Giebeleichstrasse 96.8%
6,789 trips · avg +0.8 min
-
8,287 trips · avg +0.8 min
-
7,725 trips · avg +0.6 min
-
9,365 trips · avg +1 min
Least punctual busy lines
-
1,846 trips · avg +9.9 min
-
2,380 trips · avg +2.7 min
-
1,793 trips · avg +2.1 min
-
3,234 trips · avg +1.4 min
-
2,429 trips · avg +1.3 min
-
1,477 trips · avg +1.2 min
-
3,315 trips · avg +1.1 min
-
2,264 trips · avg +1.4 min
Show 17 more
-
1,730 trips · avg +1.1 min
-
1,241 trips · avg +1 min
-
2,247 trips · avg +1.2 min
-
3,197 trips · avg +0.7 min
-
1,635 trips · avg +1.1 min
-
3,348 trips · avg +0.9 min
-
2,003 trips · avg +0.8 min
-
1,276 trips · avg +0.7 min
-
2,096 trips · avg +0.5 min
-
3,392 trips · avg +0.9 min
-
1,496 trips · avg +0.8 min
-
2,006 trips · avg +0.6 min
-
1,783 trips · avg +0.6 min
-
2,214 trips · avg +1 min
-
2,960 trips · avg +0.8 min
-
1,708 trips · avg +0.5 min
-
1,844 trips · avg +0.6 min
Most punctual busy lines
-
1,454 trips · avg +0.4 min
-
5,232 trips · avg +0.2 min
-
1,682 trips · avg +0.1 min
-
1,611 trips · avg +0.2 min
-
3,818 trips · avg +0.3 min
-
2,415 trips · avg +0.2 min
-
2,446 trips · avg +0.2 min
-
2,462 trips · avg +0.3 min
Least punctual busy lines
-
Tram 8 Basel, Neuweilerstrasse – Weil am Rhein, Bahnhof/ZentrumBasel, Neuweilerstrasse – Weil am Rhein, Bahnhof/Zentrum 63.2%
1,917 trips · avg +2.8 min
-
8,233 trips · avg +2.4 min
-
8,158 trips · avg +2.1 min
-
8,397 trips · avg +1.8 min
-
8,444 trips · avg +2 min
-
8,636 trips · avg +1.7 min
-
Tram 9 Wabern, Tram-Endstation – Bern Wankdorf, BahnhofWabern, Tram-Endstation – Bern Wankdorf, Bahnhof 81.3%
1,619 trips · avg +2.3 min
-
14,407 trips · avg +1.5 min
Show 15 more
-
4,845 trips · avg +2.1 min
-
1,407 trips · avg +1.3 min
-
10,107 trips · avg +1.7 min
-
8,464 trips · avg +1.3 min
-
Tram 11 Zürich, Central – Zürich Tiefenbrunnen, BahnhofZürich, Central – Zürich Tiefenbrunnen, Bahnhof 89%
1,866 trips · avg +1.3 min
-
8,473 trips · avg +1.5 min
-
8,795 trips · avg +1.3 min
-
8,824 trips · avg +1.2 min
-
Tram 7 Stettbach, Bahnhof – Zürich, WollishoferplatzStettbach, Bahnhof – Zürich, Wollishoferplatz 91.2%
1,864 trips · avg +1.3 min
-
Tram 51 Zürich Altstetten, Bahnhof N – Zürich, SeebachZürich Altstetten, Bahnhof N – Zürich, Seebach 91.8%
8,845 trips · avg +1.2 min
-
Tram 10 Zürich Flughafen, Fracht – Zürich, Bahnhofplatz/HBZürich Flughafen, Fracht – Zürich, Bahnhofplatz/HB 93.2%
1,644 trips · avg +1.1 min
-
8,275 trips · avg +0.8 min
-
7,741 trips · avg +1.1 min
-
8,287 trips · avg +0.8 min
-
Tram 20 Killwangen, Bahnhof – Zürich Altstetten, BahnhofKillwangen, Bahnhof – Zürich Altstetten, Bahnhof 97.8%
4,780 trips · avg +0.8 min
Most punctual busy lines
-
Tram 20 Killwangen, Bahnhof – Zürich Altstetten, BahnhofKillwangen, Bahnhof – Zürich Altstetten, Bahnhof 97.8%
4,780 trips · avg +0.8 min
-
8,287 trips · avg +0.8 min
-
7,741 trips · avg +1.1 min
-
8,275 trips · avg +0.8 min
-
Tram 10 Zürich Flughafen, Fracht – Zürich, Bahnhofplatz/HBZürich Flughafen, Fracht – Zürich, Bahnhofplatz/HB 93.2%
1,644 trips · avg +1.1 min
-
Tram 51 Zürich Altstetten, Bahnhof N – Zürich, SeebachZürich Altstetten, Bahnhof N – Zürich, Seebach 91.8%
8,845 trips · avg +1.2 min
-
Tram 7 Stettbach, Bahnhof – Zürich, WollishoferplatzStettbach, Bahnhof – Zürich, Wollishoferplatz 91.2%
1,864 trips · avg +1.3 min
-
8,824 trips · avg +1.2 min
Least punctual busy lines
-
Bus 101 Cormondrèche, Grand'Rue – Marin-Epagnier, gareCormondrèche, Grand'Rue – Marin-Epagnier, gare 26%
4,263 trips · avg +4.7 min
-
3,023 trips · avg +4 min
-
2,673 trips · avg +3.7 min
-
Bus 68 Thoiry, Centre commercial – Vernier, BlandonnetThoiry, Centre commercial – Vernier, Blandonnet 51.9%
3,567 trips · avg +3.9 min
-
2,112 trips · avg +4.1 min
-
1,750 trips · avg +4.2 min
-
Bus 109 Neuchâtel, Place Pury – Neuchâtel, Trois-ChênesNeuchâtel, Place Pury – Neuchâtel, Trois-Chênes 56.2%
5,880 trips · avg +3 min
-
2,666 trips · avg +3.5 min
Show 17 more
-
5,213 trips · avg +2.9 min
-
5,504 trips · avg +3.2 min
-
1,964 trips · avg +2.7 min
-
Bus 122 Grindelwald, Gletscherschlucht – Grindelwald, KlusiGrindelwald, Gletscherschlucht – Grindelwald, Klusi 63.9%
1,365 trips · avg +2.9 min
-
6,831 trips · avg +3.1 min
-
1,403 trips · avg +2.6 min
-
4,440 trips · avg +2.8 min
-
5,571 trips · avg +2.7 min
-
4,740 trips · avg +2.6 min
-
4,265 trips · avg +2.5 min
-
1,483 trips · avg +2.7 min
-
5,831 trips · avg +2.7 min
-
3,748 trips · avg +2.5 min
-
4,519 trips · avg +2.6 min
-
Bus 16 Lausanne, Grand Vennes – Lausanne, Provence nordLausanne, Grand Vennes – Lausanne, Provence nord 70.6%
4,627 trips · avg +2.3 min
-
Bus 32 Zürich, Strassenverkehrsamt – Zürich, HolzerhurdZürich, Strassenverkehrsamt – Zürich, Holzerhurd 71%
9,006 trips · avg +2.3 min
-
6,375 trips · avg +2.2 min
Most punctual busy lines
-
5,625 trips · avg +0.6 min
-
7,205 trips · avg +0.6 min
-
6,546 trips · avg +0.5 min
-
5,812 trips · avg +0.4 min
-
5,658 trips · avg +0.6 min
-
5,749 trips · avg +0.6 min
-
5,711 trips · avg +0.9 min
-
6,166 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) 29.1%
4,884 trips · avg +5.7 min
-
4,738 trips · avg +5.1 min
-
1,656 trips · avg +0.8 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.2%
1,565 trips · avg +0.7 min
Least punctual operators
-
Mouettes genevoises 48.3%
12,843 trips · avg +4.2 min
-
Berner Oberland-Bahnen 71.7%
4,173 trips · avg +2.5 min
-
TPG 74%
270,243 trips · avg +2.3 min
-
VBL 76.2%
111,796 trips · avg +2.2 min
-
Autobetrieb Sernftal 77.2%
3,659 trips · avg +2.3 min
-
TPL 77.7%
46,263 trips · avg +2 min
-
Verkehrsbetrieb LIECHTENSTEINmobil 81.2%
24,417 trips · avg +1.8 min
-
Transports Publics Neuchâtelois 81.4%
80,214 trips · avg +1.6 min
Show 17 more
-
BVB 82.2%
152,788 trips · avg +1.7 min
-
Forchbahn 83.5%
4,845 trips · avg +2.1 min
-
Bus und Service 83.7%
45,704 trips · avg +1.6 min
-
tl 83.9%
193,503 trips · avg +1.5 min
-
Automobil Rottal 85.3%
12,981 trips · avg +1.4 min
-
Bus Sierrois 85.6%
5,670 trips · avg +1.6 min
-
Transports publics Vevey-Montreux-Chillon-Villeneuve 86.2%
35,987 trips · avg +1.3 min
-
Auto AG Rothenburg 86.4%
21,587 trips · avg +1.7 min
-
Matterhorn Gotthard Bahn 86.4%
9,662 trips · avg +1.4 min
-
Regionale Verkehrsbetriebe Baden-Wettingen 86.9%
40,414 trips · avg +1.4 min
-
AFA Bus 87.7%
7,219 trips · avg +1.1 min
-
Autolinee FART 88%
21,830 trips · avg +1 min
-
Busbetrieb Rapperswil-Eschenbach-Rüti ZH 88.2%
8,475 trips · avg +1.3 min
-
Wengernalpbahn 88.3%
4,792 trips · avg +1.1 min
-
VBZ 88.4%
481,395 trips · avg +1.3 min
-
Busbetrieb Aarau 89.1%
28,206 trips · avg +1.1 min
-
Bernmobil 89.1%
171,138 trips · avg +1.3 min
Most punctual operators
-
Sihltal-Zürich-Uetliberg-Bahn 99.2%
7,959 trips · avg +0.3 min
-
Regionalverkehr Bern-Solothurn 98.7%
17,469 trips · avg +0.3 min
-
Aare Seeland mobil 98.4%
8,727 trips · avg +0.4 min
-
THURBO 98%
34,536 trips · avg +0.3 min
-
Zentralbahn 97.8%
11,065 trips · avg +0.4 min
-
Schweizerische Südostbahn 97.7%
16,063 trips · avg +0.5 min
-
BLS 97.4%
47,742 trips · avg +0.5 min
-
Lausanne-Echallens-Bercher 97.1%
3,857 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 95.5%
47,515 departures · avg +1.1 min
-
Bern 96.7%
31,683 departures · avg +1 min
-
Zürich Oerlikon 96.2%
27,436 departures · avg +1 min
-
Zürich Stadelhofen 94.8%
21,527 departures · avg +1.1 min
-
Winterthur 94.9%
20,959 departures · avg +1.2 min
-
Zürich Hardbrücke 89.7%
20,553 departures · avg +1.9 min
-
Olten 91.8%
17,895 departures · avg +1.5 min
-
Lausanne 91.5%
16,209 departures · avg +1.4 min
-
St. Gallen 94.7%
16,165 departures · avg +1.3 min
-
Aarau 94.2%
15,995 departures · avg +1 min
-
Renens VD 91.4%
14,268 departures · avg +1.3 min
-
Worblaufen 98%
14,003 departures · avg +0.8 min
-
Genève, gare Cornavin 74.3%
77,189 departures · avg +2.2 min
-
Genève, Bel-Air 72.9%
71,991 departures · avg +2.5 min
-
Basel, Bahnhof SBB 85.1%
67,389 departures · avg +1.7 min
-
Bern, Bahnhof 92.7%
67,194 departures · avg +1.3 min
-
Zürich, Central 94.2%
66,197 departures · avg +1 min
-
64,864 departures · avg +2.1 min
-
Zürich, Bellevue 92.6%
59,046 departures · avg +1.2 min
-
Bern, Zytglogge 93%
58,129 departures · avg +1.3 min
-
Luzern, Bahnhof 88.4%
57,880 departures · avg +1.5 min
-
Lausanne, Bel-Air 68.8%
57,682 departures · avg +2.5 min
-
56,464 departures · avg +1 min
-
St. Gallen, Bahnhof 94.2%
55,179 departures · avg +1.1 min
-
Wilderswil 67.7%
4,111 departures · avg +2.8 min
-
Matten b. Interlaken 68.6%
4,111 departures · avg +2.8 min
-
Zweilütschinen 73%
3,738 departures · avg +2.5 min
-
Oberentfelden Engelplatz 73.9%
4,552 departures · avg +1.6 min
-
Muhen Nord 74%
4,552 departures · avg +1.6 min
-
St. Gallen Marktplatz 77.7%
3,120 departures · avg +2.2 min
-
Gelterkinden 78.4%
4,284 departures · avg +1.8 min
-
Como S. Giovanni 79.7%
3,532 departures · avg +2.7 min
-
Basel Bad Bf 80.6%
3,146 departures · avg +5.6 min
-
Chiasso 80.8%
5,549 departures · avg +2.4 min
-
Magliaso Paese 81%
3,197 departures · avg +2 min
-
Zug Chollermüli 82.1%
4,084 departures · avg +2 min
Largest delays
- Tram 17 Genève, Plainpalaisand 4 more trips of this line +338 min
- EC Bregenz – Zürich HB Basel SBBand 37 more trips of this line +320 min
- Bus 726 Wil SG, Bahnhof – Uzwil, Waldhof Uzwil, Waldhof +297 min
- Bus 17 Lausanne, Vigie – Villars-Ste-Croix, Croix-Péage Croix-Péageand 2 more trips of this line +277 min
- Bus 70 Aire-la-Ville, Pont-de-Peney +265 min
- Bus 8 Corminboeuf, anc. poste – Marly, piscine Corminboeuf, anc. posteand 14 more trips of this line +263 min
- EV Basel, Dreispitz – Aesch BL, Dorf Aesch BL, Dorfand 15 more trips of this line +260 min
- BEX Tirano – Chur Tiranoand 4 more trips of this line +257 min
- Bus 66 Genève-Aéroport, Terminaland 1 more trips of this line +251 min
- Bus 25 Schaffhausen, Bahnhofand 4 more trips of this line +251 min
- NJ Zürich HBand 2 more trips of this line +243 min
- NJ Zürich HBand 11 more trips of this line +239 min
- Bus 234 Bulle, gare routièreand 1 more trips of this line +235 min
- ICE Basel Bad Bfand 45 more trips of this line +231 min
- Bus 24 Lausanne, Bourdonnette – Lausanne, Ouchy-Olympique T. Haldimand-Lacand 8 more trips of this line +231 min
›Probably errors in the feed (7)
Delays of more than 6 hours. The real-time feed sent them, but they are probably not real.
- Bus 1 Gebenstorf, Reuss – Würenlos, Bettlen Baden, Bahnhof Ostand 6 more trips of this line +712 min
- Bus 3 Wettingen, Brunnenwieseand 2 more trips of this line +708 min
- Bus 20 Horw, Technikumstrasseand 6 more trips of this line +569 min
- Bus 20 Lausanne, Blécherette – Lausanne, gare Blécheretteand 12 more trips of this line +452 min
- Bus 161 Zürich, Bürkliplatz – Kilchberg ZH, Neuweid Zürich, Bürkliplatz +426 min
- Bus 705 Ecublens VD, EPFL Piccardand 1 more trips of this line +398 min
- Bus 59 Chambésy, Plage du Vengeronand 1 more trips of this line +393 min