Punctuality of Swiss public transportWeek 2622 Jun – 28 Jun 2026
86.4% of 966,649 trips were on time. The best day was Sunday 28 June with 90.3%, the worst Friday 26 June with 84.3%. Of the busy lines, M1 Genève-Pâquis (lac) – Genève-Molard (lac) had the lowest share on time: 34.7%.
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.4%
−0.1 ptsWeek before: 86.4% · 966,649 trips with live data
Average delay
+1.4 min
Canceled trips
10,005
1% of the trips
Day by day
The share on time of each day. A day opens its page.
- 95%
- Average: 86.4%
- Best day
- Sun 28 Jun · 90.3%
- Worst day
- Fri 26 Jun · 84.3%
- Worst hour
- Sat 01:00–02:00 · 69.7%
By mode
-
Train 91.2%
97,072 trips · avg +1.2 min
-
Tram 80.6%
76,276 trips · avg +1.9 min
-
Bus 86.4%
788,648 trips · avg +1.4 min
-
Metro 91.5%
1,899 trips · avg +1.6 min
-
Boat 52.1%
2,754 trips · avg +3.8 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
-
1,014 trips · avg +5 min
-
1,087 trips · avg +6.4 min
-
M2 Genève-Pâquis (lac) – Genève-Quai Gustave Ador (lac)Genève-Pâquis (lac) – Genève-Quai Gustave Ador (lac) 40.6%
1,098 trips · avg +4.8 min
-
Bus 9 Vernier, Lignon Tours – Thônex, Belle-Terre Pl. AraireVernier, Lignon Tours – Thônex, Belle-Terre Pl. Araire 41.3%
1,228 trips · avg +5.4 min
-
614 trips · avg +4.3 min
-
754 trips · avg +4.6 min
-
Bus 109 Neuchâtel, Place Pury – Neuchâtel, Trois-ChênesNeuchâtel, Place Pury – Neuchâtel, Trois-Chênes 46.5%
1,367 trips · avg +3.5 min
-
474 trips · avg +3.3 min
Show 17 more
-
314 trips · avg +3.7 min
-
439 trips · avg +4.2 min
-
Bus 165 Rüschlikon, Park im Grüene – Zürich, BürkliplatzRüschlikon, Park im Grüene – Zürich, Bürkliplatz 49.9%
647 trips · avg +4 min
-
1,463 trips · avg +3.9 min
-
1,128 trips · avg +3.9 min
-
379 trips · avg +3.4 min
-
486 trips · avg +4.1 min
-
Tram 8 Basel, Neuweilerstrasse – Weil am Rhein, Bahnhof/ZentrumBasel, Neuweilerstrasse – Weil am Rhein, Bahnhof/Zentrum 52.8%
458 trips · avg +3.7 min
-
414 trips · avg +12.1 min
-
474 trips · avg +4 min
-
Bus 163 Kilchberg ZH, Bahnhof – Kilchberg ZH, Schlimbergstr.Kilchberg ZH, Bahnhof – Kilchberg ZH, Schlimbergstr. 55%
500 trips · avg +2.9 min
-
429 trips · avg +3.2 min
-
629 trips · avg +3.8 min
-
1,473 trips · avg +3.3 min
-
573 trips · avg +3 min
-
604 trips · avg +3.3 min
-
Bus 66 Thoiry, Centre commercial – Genève-Aéroport, TerminalThoiry, Centre commercial – Genève-Aéroport, Terminal 57.6%
340 trips · avg +2.9 min
Most punctual busy lines
-
1,622 trips · avg +0.8 min
-
1,895 trips · avg +0.8 min
-
2,048 trips · avg +0.9 min
-
Bus 781 Zürich Oerlikon, Bahnhof – Glattbrugg, GiebeleichstrasseZürich Oerlikon, Bahnhof – Glattbrugg, Giebeleichstrasse 95.3%
1,510 trips · avg +1 min
-
1,485 trips · avg +0.7 min
-
1,519 trips · avg +1.1 min
-
1,467 trips · avg +0.9 min
-
1,909 trips · avg +0.8 min
Least punctual busy lines
-
414 trips · avg +12.1 min
-
474 trips · avg +4 min
-
730 trips · avg +3 min
-
318 trips · avg +2.3 min
-
492 trips · avg +1.7 min
-
593 trips · avg +2.2 min
-
747 trips · avg +1.4 min
-
548 trips · avg +1.8 min
Show 17 more
-
817 trips · avg +1.5 min
-
557 trips · avg +1.6 min
-
285 trips · avg +2 min
-
524 trips · avg +1.6 min
-
539 trips · avg +1.2 min
-
327 trips · avg +1.1 min
-
502 trips · avg +0.9 min
-
850 trips · avg +1.2 min
-
474 trips · avg +1.1 min
-
518 trips · avg +1.4 min
-
595 trips · avg +0.9 min
-
558 trips · avg +1.1 min
-
552 trips · avg +1 min
-
803 trips · avg +1 min
-
405 trips · avg +0.9 min
-
363 trips · avg +0.8 min
-
581 trips · avg +1.1 min
Most punctual busy lines
-
406 trips · avg +0.1 min
-
1,161 trips · avg +0.2 min
-
865 trips · avg +0.4 min
-
1,002 trips · avg +0.2 min
-
385 trips · avg +0.4 min
-
446 trips · avg +0.4 min
-
729 trips · avg +0.4 min
-
910 trips · avg +0.3 min
Least punctual busy lines
-
Tram 8 Basel, Neuweilerstrasse – Weil am Rhein, Bahnhof/ZentrumBasel, Neuweilerstrasse – Weil am Rhein, Bahnhof/Zentrum 52.8%
458 trips · avg +3.7 min
-
1,789 trips · avg +4.6 min
-
Tram 14 Basel, Dreirosenbrücke – Pratteln, SchlossstrasseBasel, Dreirosenbrücke – Pratteln, Schlossstrasse 64.4%
1,878 trips · avg +2.8 min
-
924 trips · avg +2.9 min
-
1,889 trips · avg +2.7 min
-
1,889 trips · avg +2 min
-
Tram 2 Binningen, Kronenplatz – Basel, Badischer BahnhofBinningen, Kronenplatz – Basel, Badischer Bahnhof 69.6%
460 trips · avg +2.4 min
-
1,839 trips · avg +2.3 min
Show 17 more
-
337 trips · avg +2.1 min
-
1,892 trips · avg +1.9 min
-
2,226 trips · avg +2 min
-
Tram 7 Stettbach, Bahnhof – Zürich, WollishoferplatzStettbach, Bahnhof – Zürich, Wollishoferplatz 80.9%
461 trips · avg +1.8 min
-
1,848 trips · avg +1.9 min
-
Tram 8 Bern, Saali – Bern Brünnen Westside, BahnhofBern, Saali – Bern Brünnen Westside, Bahnhof 81.3%
530 trips · avg +2 min
-
1,046 trips · avg +2.7 min
-
1,946 trips · avg +1.7 min
-
2,040 trips · avg +1.9 min
-
Tram 9 Wabern, Tram-Endstation – Bern Wankdorf, BahnhofWabern, Tram-Endstation – Bern Wankdorf, Bahnhof 83.1%
2,292 trips · avg +1.8 min
-
1,695 trips · avg +1.6 min
-
Tram 51 Zürich Altstetten, Bahnhof N – Zürich, SeebachZürich Altstetten, Bahnhof N – Zürich, Seebach 83.5%
2,015 trips · avg +1.7 min
-
1,761 trips · avg +1.7 min
-
1,902 trips · avg +1.7 min
-
Tram 10 Zürich Flughafen, Fracht – Zürich, Bahnhofplatz/HBZürich Flughafen, Fracht – Zürich, Bahnhofplatz/HB 92.4%
406 trips · avg +1.1 min
-
1,909 trips · avg +0.8 min
-
1,519 trips · avg +1.1 min
Most punctual busy lines
-
975 trips · avg +0.1 min
-
1,895 trips · avg +0.8 min
-
Tram 20 Killwangen, Bahnhof – Zürich Altstetten, BahnhofKillwangen, Bahnhof – Zürich Altstetten, Bahnhof 95.3%
1,069 trips · avg +1.1 min
-
1,519 trips · avg +1.1 min
-
1,909 trips · avg +0.8 min
-
Tram 10 Zürich Flughafen, Fracht – Zürich, Bahnhofplatz/HBZürich Flughafen, Fracht – Zürich, Bahnhofplatz/HB 92.4%
406 trips · avg +1.1 min
-
1,902 trips · avg +1.7 min
-
1,761 trips · avg +1.7 min
Least punctual busy lines
-
1,087 trips · avg +6.4 min
-
Bus 9 Vernier, Lignon Tours – Thônex, Belle-Terre Pl. AraireVernier, Lignon Tours – Thônex, Belle-Terre Pl. Araire 41.3%
1,228 trips · avg +5.4 min
-
614 trips · avg +4.3 min
-
754 trips · avg +4.6 min
-
Bus 109 Neuchâtel, Place Pury – Neuchâtel, Trois-ChênesNeuchâtel, Place Pury – Neuchâtel, Trois-Chênes 46.5%
1,367 trips · avg +3.5 min
-
474 trips · avg +3.3 min
-
314 trips · avg +3.7 min
-
439 trips · avg +4.2 min
Show 17 more
-
Bus 165 Rüschlikon, Park im Grüene – Zürich, BürkliplatzRüschlikon, Park im Grüene – Zürich, Bürkliplatz 49.9%
647 trips · avg +4 min
-
1,463 trips · avg +3.9 min
-
1,128 trips · avg +3.9 min
-
379 trips · avg +3.4 min
-
486 trips · avg +4.1 min
-
Bus 163 Kilchberg ZH, Bahnhof – Kilchberg ZH, Schlimbergstr.Kilchberg ZH, Bahnhof – Kilchberg ZH, Schlimbergstr. 55%
500 trips · avg +2.9 min
-
429 trips · avg +3.2 min
-
629 trips · avg +3.8 min
-
1,473 trips · avg +3.3 min
-
573 trips · avg +3 min
-
604 trips · avg +3.3 min
-
Bus 66 Thoiry, Centre commercial – Genève-Aéroport, TerminalThoiry, Centre commercial – Genève-Aéroport, Terminal 57.6%
340 trips · avg +2.9 min
-
Bus 32 Zürich, Strassenverkehrsamt – Zürich, HolzerhurdZürich, Strassenverkehrsamt – Zürich, Holzerhurd 58.2%
2,025 trips · avg +3.1 min
-
1,068 trips · avg +3.3 min
-
1,131 trips · avg +3.1 min
-
1,171 trips · avg +2.7 min
-
336 trips · avg +3.2 min
Most punctual busy lines
-
Bus 6 St. Gallen, Bach St. Georgen – St. Gallen, HeiligkreuzSt. Gallen, Bach St. Georgen – St. Gallen, Heiligkreuz 97.5%
1,298 trips · avg +0.5 min
-
1,295 trips · avg +0.6 min
-
1,622 trips · avg +0.8 min
-
Bus 5 St. Gallen, Riethüsli – St. Gallen, RotmontenSt. Gallen, Riethüsli – St. Gallen, Rotmonten 96.6%
1,307 trips · avg +0.9 min
-
Bus 1 Schaffhausen, Waldfriedhof – Neuhausen, HerbstäckerSchaffhausen, Waldfriedhof – Neuhausen, Herbstäcker 96.4%
1,318 trips · avg +0.9 min
-
Bus 781 Zürich Oerlikon, Bahnhof – Glattbrugg, GiebeleichstrasseZürich Oerlikon, Bahnhof – Glattbrugg, Giebeleichstrasse 95.3%
1,510 trips · avg +1 min
-
1,291 trips · avg +0.7 min
-
1,485 trips · avg +0.7 min
Least punctual busy lines
-
1,014 trips · avg +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) 40.6%
1,098 trips · avg +4.8 min
-
372 trips · avg +0.4 min
Least punctual operators
-
Mouettes genevoises 52.1%
2,754 trips · avg +3.8 min
-
Berner Oberland-Bahnen 61.8%
730 trips · avg +3.5 min
-
VBL 66.9%
25,616 trips · avg +2.7 min
-
TPG 70.6%
59,553 trips · avg +2.7 min
-
Matterhorn Gotthard Bahn 71.2%
2,183 trips · avg +2.3 min
-
Automobil Rottal 71.9%
2,946 trips · avg +2.3 min
-
Autobetrieb Sernftal 74.4%
889 trips · avg +1.9 min
-
Transports Publics Neuchâtelois 74.6%
18,492 trips · avg +2.1 min
Show 17 more
-
BVB 74.7%
31,785 trips · avg +2.2 min
-
Verkehrsbetrieb LIECHTENSTEINmobil 77.1%
5,179 trips · avg +2.3 min
-
Auto AG Rothenburg 78.9%
4,793 trips · avg +1.8 min
-
Verkehrsbetriebe Biel 79.3%
9,074 trips · avg +1.9 min
-
TPL 79.6%
10,367 trips · avg +1.7 min
-
Bus und Service 79.8%
10,293 trips · avg +1.8 min
-
Montreux-Oberland Bernois 81.1%
909 trips · avg +1.7 min
-
tl 82.1%
43,056 trips · avg +1.7 min
-
Forchbahn 82.3%
1,046 trips · avg +2.7 min
-
Busbetrieb Rapperswil-Eschenbach-Rüti ZH 82.4%
1,866 trips · avg +1.6 min
-
Lugano-Ponte Tresa 82.5%
747 trips · avg +1.4 min
-
Transports publics Vevey-Montreux-Chillon-Villeneuve 82.6%
7,436 trips · avg +1.5 min
-
Regiobus Gossau SG 83.1%
4,217 trips · avg +1.6 min
-
Busbetrieb Aarau 83.3%
6,336 trips · avg +1.5 min
-
VBZ 83.4%
107,828 trips · avg +1.7 min
-
Busbetrieb Solothurn und Umgebung 83.8%
4,983 trips · avg +1.5 min
-
Bernmobil 85.5%
32,750 trips · avg +1.6 min
Most punctual operators
-
Sihltal-Zürich-Uetliberg-Bahn 98.6%
1,797 trips · avg +0.4 min
-
Aare Seeland mobil 98.3%
2,231 trips · avg +0.3 min
-
Regionalverkehr Bern-Solothurn 97.6%
3,923 trips · avg +0.4 min
-
Lausanne-Echallens-Bercher 98.1%
910 trips · avg +0.3 min
-
Busbetrieb Grenchen und Umgebung 97.6%
2,282 trips · avg +0.7 min
-
THURBO 97%
7,791 trips · avg +0.5 min
-
Schweizerische Südostbahn 96.5%
3,551 trips · avg +0.6 min
-
Autolinee Regionali Luganesi 96.8%
1,358 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 89%
10,766 departures · avg +1.6 min
-
Bern 94.7%
7,229 departures · avg +1.1 min
-
Zürich Oerlikon 90.6%
6,285 departures · avg +1.4 min
-
Zürich Stadelhofen 87.2%
4,903 departures · avg +1.7 min
-
Winterthur 90.7%
4,864 departures · avg +1.7 min
-
Zürich Hardbrücke 80.8%
4,738 departures · avg +2.3 min
-
Olten 84.4%
4,001 departures · avg +1.9 min
-
Lausanne 83.5%
3,647 departures · avg +2.1 min
-
St. Gallen 91.1%
3,633 departures · avg +1.6 min
-
Aarau 88.5%
3,610 departures · avg +1.3 min
-
Renens VD 83.4%
3,368 departures · avg +2.1 min
-
Luzern 94.3%
3,254 departures · avg +1.1 min
-
Bern, Bahnhof 93.8%
19,685 departures · avg +1.2 min
-
Genève, gare Cornavin 67.7%
18,632 departures · avg +2.9 min
-
Genève, Bel-Air 71.1%
17,447 departures · avg +2.9 min
-
Bern, Hirschengraben 88.6%
15,027 departures · avg +1.6 min
-
14,954 departures · avg +2.4 min
-
Zürich, Central 91.1%
14,725 departures · avg +1.3 min
-
Basel, Schifflände 79.5%
14,680 departures · avg +2.1 min
-
Bern, Zytglogge 91.2%
14,404 departures · avg +1.4 min
-
Basel, Bahnhof SBB 83.3%
13,802 departures · avg +1.9 min
-
Luzern, Bahnhof 82.4%
13,468 departures · avg +1.8 min
-
St. Gallen, Bahnhof 90.4%
13,370 departures · avg +1.3 min
-
Lausanne, Bel-Air 69.8%
13,240 departures · avg +2.6 min
-
Gelterkinden 60.6%
942 departures · avg +2.8 min
-
Wilderswil 63.5%
716 departures · avg +3.3 min
-
Matten b. Interlaken 63.7%
716 departures · avg +3.3 min
-
Magliaso Paese 66.4%
747 departures · avg +2.7 min
-
Sissach 68%
1,071 departures · avg +2.6 min
-
Oberentfelden Engelplatz 69.4%
1,024 departures · avg +1.9 min
-
Agno 69.5%
747 departures · avg +2.7 min
-
Martigny 69.8%
1,452 departures · avg +2.7 min
-
Zug Chollermüli 70.1%
937 departures · avg +2.6 min
-
Muhen Nord 70.4%
1,024 departures · avg +1.8 min
-
Villeneuve VD 70.5%
980 departures · avg +2.6 min
-
Sion 70.5%
1,018 departures · avg +2.8 min
Largest delays
- ICE Basel Bad Bfand 31 more trips of this line +298 min
- Bus 19 Onex, cité – Vernier, village Vernier, villageand 1 more trips of this line +259 min
- S1 Frick +210 min
- Tram 12 Lancy-Bachet, gare – Thônex, Moillesulaz Lancy-Bachet, gareand 9 more trips of this line +207 min
- EC Bregenz – Zürich HB Zürich HBand 8 more trips of this line +206 min
- Tram 12 Genève, Plainpalaisand 3 more trips of this line +205 min
- NJ Zürich HBand 5 more trips of this line +202 min
- S17 Dietikon – Wohlen AG Wohlen AG +191 min
- Bus 8 Corminboeuf, anc. poste – Marly, piscine Corminboeuf, anc. posteand 2 more trips of this line +177 min
- Bus 31 Renens VD, gare – St-Sulpice VD, Venoge sud Renens VD, gareand 3 more trips of this line +175 min
- Bus 9 Lutry, Corniche +175 min
- Bus 10 Genève, Riveand 1 more trips of this line +170 min
- Bus 17 Vigie +159 min
- Bus 1 Lausanne, Blécherette – Lausanne, Maladière Maladièreand 1 more trips of this line +156 min
- Bus 554 Estavayer-le-Lac, gare rout. +144 min
›Probably errors in the feed (6)
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 4 more trips of this line +591 min
- Bus 3 Wettingen, Brunnenwiese +587 min
- Tram 17 Lancy-Pont-Rouge, gare +515 min
- Bus 892 Wald ZH, Bahnhof – Wald ZH, Rehazentrum Wald ZH, Rehazentrumand 5 more trips of this line +440 min
- Bus 893 Wald ZH, Bahnhof – Wald ZH, Bahnhof Wald ZH, Bahnhofand 2 more trips of this line +425 min
- Bus 847 Diessenhofen, Bahnhof – Marthalen, Bahnhof Diessenhofen, Bahnhofand 4 more trips of this line +424 min