Punctuality of Swiss public transportWeek 3020 Jul – 26 Jul 2026
91.4% of 979,539 trips were on time. The best day was Sunday 26 July with 93.3%, the worst Friday 24 July with 90.6%. Of the busy lines, M2 Genève-Pâquis (lac) – Genève-Quai Gustave Ador (lac) had the lowest share on time: 27.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.
91.4%
+1.3 ptsWeek before: 90.1% · 979,539 trips with live data
Average delay
+1 min
Canceled trips
5,250
0.5% of the trips
Day by day
The share on time of each day. A day opens its page.
- 95%
- Average: 91.4%
- Best day
- Sun 26 Jul · 93.3%
- Worst day
- Fri 24 Jul · 90.6%
- Worst hour
- Tue 17:00–18:00 · 80.4%
By mode
-
Train 95.1%
96,212 trips · avg +0.8 min
-
Tram 87.4%
90,414 trips · avg +1.4 min
-
Bus 91.5%
788,041 trips · avg +1 min
-
Metro 96.2%
1,977 trips · avg +1 min
-
Boat 46.7%
2,895 trips · avg +4.5 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
-
M2 Genève-Pâquis (lac) – Genève-Quai Gustave Ador (lac)Genève-Pâquis (lac) – Genève-Quai Gustave Ador (lac) 27.2%
1,092 trips · avg +6 min
-
Bus 101 Cormondrèche, Grand'Rue – Marin-Epagnier, gareCormondrèche, Grand'Rue – Marin-Epagnier, gare 28.6%
1,066 trips · avg +4.3 min
-
1,062 trips · avg +5.5 min
-
Bus 45 Epalinges, Bois-Murat – Lausanne, Chalet-à-GobetEpalinges, Bois-Murat – Lausanne, Chalet-à-Gobet 50.7%
913 trips · avg +3.2 min
-
1,070 trips · avg +3.2 min
-
684 trips · avg +3.4 min
-
1,175 trips · avg +3.3 min
-
Bus 68 Thoiry, Centre commercial – Vernier, BlandonnetThoiry, Centre commercial – Vernier, Blandonnet 56.9%
791 trips · avg +3.1 min
Show 17 more
-
478 trips · avg +4 min
-
1,180 trips · avg +2.7 min
-
598 trips · avg +2.8 min
-
491 trips · avg +2.9 min
-
Bus 122 Grindelwald, Gletscherschlucht – Grindelwald, KlusiGrindelwald, Gletscherschlucht – Grindelwald, Klusi 64.2%
307 trips · avg +2.4 min
-
Bus 109 Neuchâtel, Place Pury – Neuchâtel, Trois-ChênesNeuchâtel, Place Pury – Neuchâtel, Trois-Chênes 64.3%
1,311 trips · avg +2.6 min
-
365 trips · avg +8.8 min
-
1,844 trips · avg +2.4 min
-
548 trips · avg +2.8 min
-
Bus 42 Grand-Lancy, Stade de Genève – Avusy, villageGrand-Lancy, Stade de Genève – Avusy, village 65.9%
466 trips · avg +2.8 min
-
314 trips · avg +2.7 min
-
1,067 trips · avg +2.6 min
-
Tram 8 Basel, Neuweilerstrasse – Weil am Rhein, Bahnhof/ZentrumBasel, Neuweilerstrasse – Weil am Rhein, Bahnhof/Zentrum 66.6%
479 trips · avg +2.5 min
-
596 trips · avg +2.5 min
-
Bus 3 Canobbio, Mercato Resega – Breganzona, PostaCanobbio, Mercato Resega – Breganzona, Posta 67.8%
1,390 trips · avg +3.2 min
-
1,275 trips · avg +2.4 min
-
982 trips · avg +2.5 min
Most punctual busy lines
-
Bus 3 Winterthur, Oberseen – Winterthur, RosenbergWinterthur, Oberseen – Winterthur, Rosenberg 99.2%
1,662 trips · avg +0.3 min
-
2,030 trips · avg +0.5 min
-
1,628 trips · avg +0.6 min
-
1,670 trips · avg +0.4 min
-
1,897 trips · avg +0.7 min
-
1,494 trips · avg +0.4 min
-
1,382 trips · avg +0.5 min
-
Bus 101 Bern, Hauptbahnhof – Hinterkappelen, SchlossmattBern, Hauptbahnhof – Hinterkappelen, Schlossmatt 97.6%
1,418 trips · avg +0.4 min
Least punctual busy lines
-
365 trips · avg +8.8 min
-
548 trips · avg +2.8 min
-
405 trips · avg +2 min
-
560 trips · avg +1.6 min
-
333 trips · avg +1.3 min
-
360 trips · avg +1.2 min
-
738 trips · avg +1.4 min
-
452 trips · avg +1.2 min
Show 17 more
-
584 trips · avg +1.2 min
-
748 trips · avg +0.8 min
-
338 trips · avg +1 min
-
541 trips · avg +0.8 min
-
369 trips · avg +1.1 min
-
589 trips · avg +0.9 min
-
808 trips · avg +0.7 min
-
462 trips · avg +0.5 min
-
473 trips · avg +0.5 min
-
496 trips · avg +0.5 min
-
560 trips · avg +0.5 min
-
314 trips · avg +0.6 min
-
287 trips · avg +0.4 min
-
374 trips · avg +0.4 min
-
498 trips · avg +0.8 min
-
528 trips · avg +0.4 min
-
959 trips · avg +0.7 min
Most punctual busy lines
-
1,155 trips · avg +0.1 min
-
546 trips · avg +0.1 min
-
533 trips · avg +0.3 min
-
865 trips · avg +0.3 min
-
326 trips · avg +0.4 min
-
409 trips · avg +0.2 min
-
532 trips · avg +0.6 min
-
653 trips · avg +0.2 min
Least punctual busy lines
-
1,844 trips · avg +2.4 min
-
Tram 8 Basel, Neuweilerstrasse – Weil am Rhein, Bahnhof/ZentrumBasel, Neuweilerstrasse – Weil am Rhein, Bahnhof/Zentrum 66.6%
479 trips · avg +2.5 min
-
1,829 trips · avg +2.2 min
-
1,890 trips · avg +1.7 min
-
1,958 trips · avg +1.8 min
-
3,489 trips · avg +1.4 min
-
1,890 trips · avg +1.8 min
-
352 trips · avg +1.2 min
Show 14 more
-
1,107 trips · avg +1.6 min
-
2,277 trips · avg +1.5 min
-
Tram 10 Zürich Flughafen, Fracht – Zürich, Bahnhofplatz/HBZürich Flughafen, Fracht – Zürich, Bahnhofplatz/HB 90.5%
411 trips · avg +1.2 min
-
1,937 trips · avg +1 min
-
Tram 51 Zürich Altstetten, Bahnhof N – Zürich, SeebachZürich Altstetten, Bahnhof N – Zürich, Seebach 92.5%
1,984 trips · avg +1.1 min
-
1,986 trips · avg +1.1 min
-
Tram 7 Stettbach, Bahnhof – Zürich, WollishoferplatzStettbach, Bahnhof – Zürich, Wollishoferplatz 93.1%
449 trips · avg +1.2 min
-
1,858 trips · avg +1.4 min
-
1,901 trips · avg +0.7 min
-
Tram 11 Zürich, Central – Zürich Tiefenbrunnen, BahnhofZürich, Central – Zürich Tiefenbrunnen, Bahnhof 94.2%
465 trips · avg +0.9 min
-
2,013 trips · avg +1 min
-
1,791 trips · avg +1.1 min
-
Tram 20 Killwangen, Bahnhof – Zürich Altstetten, BahnhofKillwangen, Bahnhof – Zürich Altstetten, Bahnhof 98.1%
1,078 trips · avg +0.8 min
-
1,897 trips · avg +0.7 min
Most punctual busy lines
-
1,897 trips · avg +0.7 min
-
Tram 20 Killwangen, Bahnhof – Zürich Altstetten, BahnhofKillwangen, Bahnhof – Zürich Altstetten, Bahnhof 98.1%
1,078 trips · avg +0.8 min
-
1,791 trips · avg +1.1 min
-
2,013 trips · avg +1 min
-
Tram 11 Zürich, Central – Zürich Tiefenbrunnen, BahnhofZürich, Central – Zürich Tiefenbrunnen, Bahnhof 94.2%
465 trips · avg +0.9 min
-
1,901 trips · avg +0.7 min
-
1,858 trips · avg +1.4 min
-
Tram 7 Stettbach, Bahnhof – Zürich, WollishoferplatzStettbach, Bahnhof – Zürich, Wollishoferplatz 93.1%
449 trips · avg +1.2 min
Least punctual busy lines
-
Bus 101 Cormondrèche, Grand'Rue – Marin-Epagnier, gareCormondrèche, Grand'Rue – Marin-Epagnier, gare 28.6%
1,066 trips · avg +4.3 min
-
Bus 45 Epalinges, Bois-Murat – Lausanne, Chalet-à-GobetEpalinges, Bois-Murat – Lausanne, Chalet-à-Gobet 50.7%
913 trips · avg +3.2 min
-
1,070 trips · avg +3.2 min
-
684 trips · avg +3.4 min
-
1,175 trips · avg +3.3 min
-
Bus 68 Thoiry, Centre commercial – Vernier, BlandonnetThoiry, Centre commercial – Vernier, Blandonnet 56.9%
791 trips · avg +3.1 min
-
478 trips · avg +4 min
-
1,180 trips · avg +2.7 min
Show 17 more
-
598 trips · avg +2.8 min
-
491 trips · avg +2.9 min
-
Bus 122 Grindelwald, Gletscherschlucht – Grindelwald, KlusiGrindelwald, Gletscherschlucht – Grindelwald, Klusi 64.2%
307 trips · avg +2.4 min
-
Bus 109 Neuchâtel, Place Pury – Neuchâtel, Trois-ChênesNeuchâtel, Place Pury – Neuchâtel, Trois-Chênes 64.3%
1,311 trips · avg +2.6 min
-
Bus 42 Grand-Lancy, Stade de Genève – Avusy, villageGrand-Lancy, Stade de Genève – Avusy, village 65.9%
466 trips · avg +2.8 min
-
314 trips · avg +2.7 min
-
1,067 trips · avg +2.6 min
-
596 trips · avg +2.5 min
-
Bus 3 Canobbio, Mercato Resega – Breganzona, PostaCanobbio, Mercato Resega – Breganzona, Posta 67.8%
1,390 trips · avg +3.2 min
-
1,275 trips · avg +2.4 min
-
982 trips · avg +2.5 min
-
1,260 trips · avg +2.2 min
-
336 trips · avg +2.5 min
-
997 trips · avg +2.3 min
-
1,395 trips · avg +2.3 min
-
893 trips · avg +2.6 min
-
1,198 trips · avg +2.3 min
Most punctual busy lines
-
Bus 3 Winterthur, Oberseen – Winterthur, RosenbergWinterthur, Oberseen – Winterthur, Rosenberg 99.2%
1,662 trips · avg +0.3 min
-
1,304 trips · avg +0.3 min
-
1,258 trips · avg +0.6 min
-
1,628 trips · avg +0.6 min
-
1,670 trips · avg +0.4 min
-
1,291 trips · avg +0.7 min
-
1,266 trips · avg +0.6 min
-
1,494 trips · avg +0.4 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) 27.2%
1,092 trips · avg +6 min
-
1,062 trips · avg +5.5 min
-
372 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) 97.8%
369 trips · avg +0.7 min
Least punctual operators
-
Mouettes genevoises 46.7%
2,895 trips · avg +4.5 min
-
Berner Oberland-Bahnen 71%
953 trips · avg +2.4 min
-
TPL 74.8%
10,372 trips · avg +2.4 min
-
VBL 78.4%
25,026 trips · avg +1.9 min
-
Bus Sierrois 78.9%
1,268 trips · avg +2.4 min
-
TPG 79.4%
62,331 trips · avg +1.8 min
-
Autobetrieb Sernftal 82.4%
830 trips · avg +1.7 min
-
Verkehrsbetrieb LIECHTENSTEINmobil 82.7%
5,584 trips · avg +1.7 min
Show 17 more
-
BVB 84.1%
34,240 trips · avg +1.6 min
-
Bus und Service 84.1%
10,244 trips · avg +1.5 min
-
Autolinee FART 84.5%
4,921 trips · avg +1.3 min
-
tl 85%
43,470 trips · avg +1.4 min
-
Transports Publics Neuchâtelois 86.3%
17,904 trips · avg +1.3 min
-
Regionale Verkehrsbetriebe Baden-Wettingen 86.9%
9,076 trips · avg +1.3 min
-
Matterhorn Gotthard Bahn 88.1%
2,196 trips · avg +1.3 min
-
Automobil Rottal 88.2%
2,874 trips · avg +1.2 min
-
Forchbahn 88.3%
1,107 trips · avg +1.6 min
-
Auto AG Rothenburg 88.7%
4,805 trips · avg +1.6 min
-
Auto Leuk-Leukerbad 88.9%
1,601 trips · avg +1.2 min
-
AFA Bus 89%
1,627 trips · avg +1 min
-
Wengernalpbahn 89.8%
1,081 trips · avg +1 min
-
Stadtbus Frauenfeld 90.2%
3,520 trips · avg +1.4 min
-
Bernmobil 90.2%
39,258 trips · avg +1.2 min
-
Sierre-Montana-Crans 90.3%
2,144 trips · avg +1.3 min
-
Autolinee Bleniesi 90.5%
1,051 trips · avg +1 min
Most punctual operators
-
Sihltal-Zürich-Uetliberg-Bahn 99.7%
1,807 trips · avg +0.3 min
-
Aargau Verkehr 99.1%
9,527 trips · avg +0.3 min
-
Busbetrieb Aarau 99%
6,338 trips · avg +0.1 min
-
Regionalbus Lenzburg 98.9%
3,418 trips · avg +0.1 min
-
Regionalverkehr Bern-Solothurn 98.9%
3,928 trips · avg +0.2 min
-
Busbetrieb Olten-Gösgen-Gäu 98.7%
6,102 trips · avg +0.2 min
-
Stadtbus Winterthur 98.3%
12,362 trips · avg +0.4 min
-
BLS 98.2%
10,813 trips · avg +0.4 min
Stations
The share of the departures less than 3 minutes late. A train station has departures of trains.
-
Zürich HB 96.3%
10,602 departures · avg +1 min
-
Bern 97.8%
7,140 departures · avg +0.8 min
-
Zürich Oerlikon 96.8%
6,135 departures · avg +0.9 min
-
Zürich Stadelhofen 96.5%
4,753 departures · avg +1 min
-
Zürich Hardbrücke 92.4%
4,643 departures · avg +1.7 min
-
Winterthur 94.3%
4,476 departures · avg +1.2 min
-
Olten 93.8%
4,005 departures · avg +1.2 min
-
Lausanne 92.3%
3,738 departures · avg +1.3 min
-
Aarau 96.4%
3,596 departures · avg +0.8 min
-
St. Gallen 94.7%
3,581 departures · avg +1.2 min
-
Renens VD 92.9%
3,331 departures · avg +1.2 min
-
Worblaufen 98.2%
3,153 departures · avg +0.8 min
-
Genève, gare Cornavin 79.7%
17,589 departures · avg +1.7 min
-
Genève, Bel-Air 82.3%
16,957 departures · avg +1.6 min
-
Basel, Bahnhof SBB 86.3%
15,207 departures · avg +1.6 min
-
Zürich, Central 96.3%
14,744 departures · avg +0.9 min
-
Luzern, Kantonalbank 83.6%
14,540 departures · avg +1.8 min
-
Bern, Bahnhof 90.7%
14,485 departures · avg +1.5 min
-
Zürich, Bellevue 95.5%
13,541 departures · avg +1 min
-
Lausanne, Bel-Air 73.1%
12,974 departures · avg +2.2 min
-
Luzern, Bahnhof 90.4%
12,946 departures · avg +1.2 min
-
Bern, Zytglogge 93.6%
12,768 departures · avg +1.3 min
-
12,577 departures · avg +0.9 min
-
St. Gallen, Bahnhof 95.8%
12,204 departures · avg +1 min
-
Wilderswil 64%
939 departures · avg +2.8 min
-
Matten b. Interlaken 65.7%
939 departures · avg +2.7 min
-
Zweilütschinen 72.1%
845 departures · avg +2.4 min
-
Muhen Nord 75.7%
1,026 departures · avg +1.5 min
-
Oberentfelden Engelplatz 75.7%
1,026 departures · avg +1.5 min
-
Payerne 77.6%
767 departures · avg +2.2 min
-
St-Maurice 78%
1,184 departures · avg +2.1 min
-
Como S. Giovanni 79.6%
746 departures · avg +2.7 min
-
Bex 80.6%
836 departures · avg +1.9 min
-
Chiasso 81.9%
1,235 departures · avg +2.3 min
-
Leuk 82.1%
750 departures · avg +1.8 min
-
Gelterkinden 82.7%
949 departures · avg +1.4 min
Largest delays
- EC Bregenz – Zürich HB Basel SBBand 4 more trips of this line +320 min
- Bus 726 Wil SG, Bahnhof – Uzwil, Waldhof Uzwil, Waldhof +297 min
- EV Basel, Dreispitz – Aesch BL, Dorf Aesch BL, Dorfand 8 more trips of this line +260 min
- Bus 24 Lausanne, Bourdonnette – Lausanne, Ouchy-Olympique T. Haldimand-Lacand 7 more trips of this line +231 min
- Bus 8 Corminboeuf, anc. poste – Marly, piscine Marly, piscineand 1 more trips of this line +218 min
- Bus 41 Chêne-Bourg, gare-Place – Carouge GE, Tours Carouge GE, Tours +218 min
- R55 Genolierand 16 more trips of this line +217 min
- Bus 40 Emmen, Flugzeugwerkeand 4 more trips of this line +207 min
- ICE Churand 10 more trips of this line +197 min
- Bus 381 Le Locle, gare/centre ville +164 min
- Bus 312 Davos Dorf, Bahnhof – Davos Dischma, Dürrboden Davos Dischma, Dürrbodenand 1 more trips of this line +159 min
- Bus 1 Gebenstorf, Reuss – Würenlos, Bettlen Baden, Bahnhof Ost +153 min
- Bus 3 Wettingen, Brunnenwiese +151 min
- Bus 3 Schaffhausen, Sommerwies – Schaffhausen, Krummacker Schaffhausen, Krummackerand 1 more trips of this line +136 min
- RE9 Bern +131 min
›Probably errors in the feed (1)
Delays of more than 6 hours. The real-time feed sent them, but they are probably not real.
- Bus 705 Ecublens VD, EPFL Piccardand 1 more trips of this line +398 min