Punctuality of Swiss public transportMay 2026
87.2% of 4,064,021 trips were on time. The best day was Saturday 16 May with 92.7%, the worst Friday 29 May with 83.8%. Of the busy lines, Bus 101 Marin-Epagnier, gare – Cormondrèche, Grand'Rue had the lowest share on time: 26.9%.
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.
87.2%
−1.2 ptsMonth before: 88.5% · 4,064,021 trips with live data
Average delay
+1.3 min
Canceled trips
14,337
0.4% 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
- Sat 16 May · 92.7%
- Worst day
- Fri 29 May · 83.8%
By mode
-
Train 95.1%
426,608 trips · avg +0.8 min
-
Tram 84%
327,617 trips · avg +1.6 min
-
Bus 86.6%
3,290,369 trips · avg +1.4 min
-
Metro 89.1%
9,319 trips · avg +1.7 min
-
Boat 53.8%
10,108 trips · avg +3.9 min
Month by month
The share on time of each month. A point opens its month.
- 95%
- Average: 88.6%
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 Marin-Epagnier, gare – Cormondrèche, Grand'RueMarin-Epagnier, gare – Cormondrèche, Grand'Rue 26.9%
4,924 trips · avg +5.2 min
-
M2 Genève-Pâquis (lac) – Genève-Quai Gustave Ador (lac)Genève-Pâquis (lac) – Genève-Quai Gustave Ador (lac) 34.8%
3,862 trips · avg +5.5 min
-
3,616 trips · avg +4.5 min
-
Bus 109 Neuchâtel, Place Pury – Neuchâtel, Trois-ChênesNeuchâtel, Place Pury – Neuchâtel, Trois-Chênes 44.7%
5,627 trips · avg +3.6 min
-
Bus 107 Marin-Epagnier, gare – Neuchâtel, Place PuryMarin-Epagnier, gare – Neuchâtel, Place Pury 45.3%
3,811 trips · avg +3.8 min
-
Bus 106 Neuchâtel, Place Pury – Neuchâtel,Vallon de l'ErmitageNeuchâtel, Place Pury – Neuchâtel,Vallon de l'Ermitage 46.3%
1,552 trips · avg +3.5 min
-
Bus 50 Basel, Bahnhof SBB – Basel EuroAirport, VerwaltungBasel, Bahnhof SBB – Basel EuroAirport, Verwaltung 48.4%
1,575 trips · avg +5.1 min
-
2,405 trips · avg +3.7 min
Show 17 more
-
1,835 trips · avg +3.9 min
-
5,074 trips · avg +3.3 min
-
2,416 trips · avg +3.7 min
-
1,963 trips · avg +3.2 min
-
5,503 trips · avg +3.3 min
-
Bus 54 Versoix, Centre sportif – Vernier, ParfumerieVersoix, Centre sportif – Vernier, Parfumerie 53.3%
1,671 trips · avg +3.7 min
-
3,850 trips · avg +4.6 min
-
5,894 trips · avg +3.5 min
-
1,846 trips · avg +3 min
-
4,753 trips · avg +3.2 min
-
Bus 68 Saint-Genis, Jean Monnet – Vernier, BlandonnetSaint-Genis, Jean Monnet – Vernier, Blandonnet 58.4%
2,842 trips · avg +3.6 min
-
1,436 trips · avg +3.1 min
-
Bus 5 Kriens, Busschleife – Emmenbrücke, Bahnhof SüdKriens, Busschleife – Emmenbrücke, Bahnhof Süd 59%
3,957 trips · avg +3.8 min
-
Bus 3 Grand-Saconnex, Gardiol – Genève, Crêts-de-ChampelGrand-Saconnex, Gardiol – Genève, Crêts-de-Champel 59.5%
8,006 trips · avg +3.9 min
-
4,889 trips · avg +3.3 min
-
1,315 trips · avg +2.9 min
-
2,878 trips · avg +3.4 min
Most punctual busy lines
-
6,803 trips · avg +0.5 min
-
8,848 trips · avg +0.8 min
-
7,042 trips · avg +0.9 min
-
8,344 trips · avg +0.9 min
-
6,476 trips · avg +0.8 min
-
Bus 1 Winterthur, Oberwinterthur – Winterthur, TössWinterthur, Oberwinterthur – Winterthur, Töss 94.3%
7,824 trips · avg +0.9 min
-
6,810 trips · avg +0.9 min
-
7,840 trips · avg +0.8 min
Least punctual busy lines
-
1,790 trips · avg +7.7 min
-
2,711 trips · avg +1.7 min
-
3,315 trips · avg +1.2 min
-
1,883 trips · avg +1.5 min
-
2,253 trips · avg +1.2 min
-
3,346 trips · avg +1.2 min
-
1,332 trips · avg +1.2 min
-
1,808 trips · avg +1.2 min
Show 17 more
-
R15 Neuchâtel Place Pury Littorail – Boudry LittorailNeuchâtel Place Pury Littorail – Boudry Littorail 92.5%
2,094 trips · avg +1.4 min
-
2,123 trips · avg +1 min
-
2,438 trips · avg +1.1 min
-
1,939 trips · avg +0.8 min
-
1,677 trips · avg +0.9 min
-
2,270 trips · avg +1.2 min
-
2,452 trips · avg +0.8 min
-
1,551 trips · avg +0.5 min
-
2,051 trips · avg +1.1 min
-
2,331 trips · avg +1 min
-
1,764 trips · avg +0.7 min
-
1,504 trips · avg +0.9 min
-
2,541 trips · avg +0.8 min
-
1,930 trips · avg +0.7 min
-
1,574 trips · avg +1 min
-
2,278 trips · avg +0.9 min
-
2,102 trips · avg +0.6 min
Most punctual busy lines
-
1,798 trips · avg +0 min
-
1,973 trips · avg +0.2 min
-
4,701 trips · avg +0.2 min
-
3,800 trips · avg +0.3 min
-
2,864 trips · avg +0.6 min
-
2,684 trips · avg +0.2 min
-
2,208 trips · avg +0.5 min
-
2,234 trips · avg +0.2 min
Least punctual busy lines
-
Tram 8 Weil am Rhein, Bahnhof/Zentrum – Basel, NeuweilerstrasseWeil am Rhein, Bahnhof/Zentrum – Basel, Neuweilerstrasse 64.9%
5,581 trips · avg +2.8 min
-
8,285 trips · avg +1.9 min
-
Tram 14 Basel, Dreirosenbrücke – Pratteln, SchlossstrasseBasel, Dreirosenbrücke – Pratteln, Schlossstrasse 72.2%
8,130 trips · avg +2.4 min
-
8,171 trips · avg +2.3 min
-
Tram 8 Bern Brünnen Westside, Bahnhof – Bern, SaaliBern Brünnen Westside, Bahnhof – Bern, Saali 72.7%
6,260 trips · avg +2.4 min
-
6,839 trips · avg +2.3 min
-
2,497 trips · avg +2.9 min
-
7,139 trips · avg +2 min
Show 17 more
-
9,906 trips · avg +2.3 min
-
5,296 trips · avg +1.9 min
-
7,882 trips · avg +1.9 min
-
Tram 9 Wabern, Tram-Endstation – Bern Wankdorf, BahnhofWabern, Tram-Endstation – Bern Wankdorf, Bahnhof 80.3%
10,436 trips · avg +2 min
-
10,395 trips · avg +2 min
-
8,336 trips · avg +1.7 min
-
Tram 3 St-Louis, Gare de Saint-Louis – Birsfelden, HardSt-Louis, Gare de Saint-Louis – Birsfelden, Hard 82.4%
1,374 trips · avg +1.7 min
-
9,786 trips · avg +1.8 min
-
Tram 7 Zürich, Wollishoferplatz – Stettbach, BahnhofZürich, Wollishoferplatz – Stettbach, Bahnhof 82.8%
5,200 trips · avg +1.8 min
-
5,481 trips · avg +1.8 min
-
8,826 trips · avg +1.9 min
-
3,752 trips · avg +1.7 min
-
Tram 13 Zürich, Bahnhofstrasse/HB – Zürich, AlbisgütliZürich, Bahnhofstrasse/HB – Zürich, Albisgütli 85.6%
9,989 trips · avg +1.5 min
-
7,893 trips · avg +1.6 min
-
8,641 trips · avg +1.5 min
-
Tram 10 Zürich, Bahnhofstrasse/HB – Zürich Flughafen, FrachtZürich, Bahnhofstrasse/HB – Zürich Flughafen, Fracht 86.4%
5,055 trips · avg +1.5 min
-
1,828 trips · avg +1.2 min
Most punctual busy lines
-
4,096 trips · avg +0.2 min
-
Tram 20 Killwangen, Bahnhof – Zürich Altstetten, BahnhofKillwangen, Bahnhof – Zürich Altstetten, Bahnhof 96%
4,779 trips · avg +0.9 min
-
8,344 trips · avg +0.9 min
-
4,496 trips · avg +0.8 min
-
5,333 trips · avg +1 min
-
Tram 12 Zürich Flughafen, Fracht – Stettbach, BahnhofZürich Flughafen, Fracht – Stettbach, Bahnhof 94.1%
3,536 trips · avg +1.1 min
-
6,810 trips · avg +0.9 min
-
7,889 trips · avg +0.9 min
Least punctual busy lines
-
Bus 101 Marin-Epagnier, gare – Cormondrèche, Grand'RueMarin-Epagnier, gare – Cormondrèche, Grand'Rue 26.9%
4,924 trips · avg +5.2 min
-
Bus 109 Neuchâtel, Place Pury – Neuchâtel, Trois-ChênesNeuchâtel, Place Pury – Neuchâtel, Trois-Chênes 44.7%
5,627 trips · avg +3.6 min
-
Bus 107 Marin-Epagnier, gare – Neuchâtel, Place PuryMarin-Epagnier, gare – Neuchâtel, Place Pury 45.3%
3,811 trips · avg +3.8 min
-
Bus 106 Neuchâtel, Place Pury – Neuchâtel,Vallon de l'ErmitageNeuchâtel, Place Pury – Neuchâtel,Vallon de l'Ermitage 46.3%
1,552 trips · avg +3.5 min
-
Bus 50 Basel, Bahnhof SBB – Basel EuroAirport, VerwaltungBasel, Bahnhof SBB – Basel EuroAirport, Verwaltung 48.4%
1,575 trips · avg +5.1 min
-
2,405 trips · avg +3.7 min
-
1,835 trips · avg +3.9 min
-
5,074 trips · avg +3.3 min
Show 17 more
-
2,416 trips · avg +3.7 min
-
1,963 trips · avg +3.2 min
-
5,503 trips · avg +3.3 min
-
Bus 54 Versoix, Centre sportif – Vernier, ParfumerieVersoix, Centre sportif – Vernier, Parfumerie 53.3%
1,671 trips · avg +3.7 min
-
3,850 trips · avg +4.6 min
-
5,894 trips · avg +3.5 min
-
1,846 trips · avg +3 min
-
4,753 trips · avg +3.2 min
-
Bus 68 Saint-Genis, Jean Monnet – Vernier, BlandonnetSaint-Genis, Jean Monnet – Vernier, Blandonnet 58.4%
2,842 trips · avg +3.6 min
-
1,436 trips · avg +3.1 min
-
Bus 5 Kriens, Busschleife – Emmenbrücke, Bahnhof SüdKriens, Busschleife – Emmenbrücke, Bahnhof Süd 59%
3,957 trips · avg +3.8 min
-
Bus 3 Grand-Saconnex, Gardiol – Genève, Crêts-de-ChampelGrand-Saconnex, Gardiol – Genève, Crêts-de-Champel 59.5%
8,006 trips · avg +3.9 min
-
4,889 trips · avg +3.3 min
-
1,315 trips · avg +2.9 min
-
2,878 trips · avg +3.4 min
-
3,814 trips · avg +3.5 min
-
8,057 trips · avg +3.2 min
Most punctual busy lines
-
6,803 trips · avg +0.5 min
-
5,428 trips · avg +0.7 min
-
5,554 trips · avg +0.6 min
-
7,042 trips · avg +0.9 min
-
6,476 trips · avg +0.8 min
-
Bus 1 Winterthur, Oberwinterthur – Winterthur, TössWinterthur, Oberwinterthur – Winterthur, Töss 94.3%
7,824 trips · avg +0.9 min
-
5,714 trips · avg +0.9 min
-
Bus 781 Zürich Oerlikon, Bahnhof – Glattbrugg, GiebeleichstrasseZürich Oerlikon, Bahnhof – Glattbrugg, Giebeleichstrasse 93.3%
6,204 trips · avg +1.2 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) 34.8%
3,862 trips · avg +5.5 min
-
3,616 trips · avg +4.5 min
-
1,328 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) 98.9%
1,302 trips · avg +0.7 min
Least punctual operators
-
Mouettes genevoises 53.8%
10,108 trips · avg +3.9 min
-
VBL 68.2%
110,140 trips · avg +2.8 min
-
TPL 71.6%
44,625 trips · avg +2.5 min
-
Transports Publics Neuchâtelois 73.6%
69,500 trips · avg +2.2 min
-
Automobil Rottal 74.1%
12,390 trips · avg +2.1 min
-
Verkehrsbetrieb LIECHTENSTEINmobil 75.2%
22,661 trips · avg +2.3 min
-
TPG 75.6%
251,601 trips · avg +2.2 min
-
BVB 77.4%
135,292 trips · avg +2.1 min
Show 17 more
-
Busbetrieb Aarau 79.2%
27,691 trips · avg +1.8 min
-
Autobetrieb Sernftal 80.1%
3,631 trips · avg +1.8 min
-
Auto AG Rothenburg 80.4%
20,909 trips · avg +1.7 min
-
Regiobus Gossau SG 82.9%
17,650 trips · avg +1.7 min
-
Bus und Service 82.9%
42,631 trips · avg +1.6 min
-
Verkehrsbetriebe Biel 83%
39,724 trips · avg +1.6 min
-
Bus Nyon-Prangins 83%
8,953 trips · avg +1.6 min
-
Busbetrieb Rapperswil-Eschenbach-Rüti ZH 83.4%
7,540 trips · avg +1.6 min
-
Regionale Verkehrsbetriebe Baden-Wettingen 83.7%
38,725 trips · avg +1.5 min
-
tl 83.8%
201,436 trips · avg +1.6 min
-
Lugano-Ponte Tresa 84%
3,315 trips · avg +1.2 min
-
VBZ 84.2%
464,195 trips · avg +1.6 min
-
Busbetrieb Solothurn und Umgebung 84.7%
19,838 trips · avg +1.4 min
-
Sierre-Montana-Crans 85.1%
6,748 trips · avg +1.6 min
-
Bus Sierrois 85.3%
7,009 trips · avg +1.5 min
-
Stadtbus Frauenfeld 85.6%
13,750 trips · avg +1.6 min
-
Bernmobil 85.8%
140,907 trips · avg +1.6 min
Most punctual operators
-
Sihltal-Zürich-Uetliberg-Bahn 99.3%
7,881 trips · avg +0.4 min
-
Regionalverkehr Bern-Solothurn 98.9%
16,938 trips · avg +0.3 min
-
Busbetrieb Grenchen und Umgebung 98.3%
9,187 trips · avg +0.6 min
-
Wengernalpbahn 98.4%
3,788 trips · avg +0.2 min
-
THURBO 98.1%
34,395 trips · avg +0.4 min
-
Lausanne-Echallens-Bercher 98.4%
3,430 trips · avg +0.3 min
-
Zentralbahn 98.2%
10,847 trips · avg +0.4 min
-
Aare Seeland mobil 97.8%
9,516 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 93.8%
46,580 departures · avg +1.2 min
-
Bern 96.5%
31,185 departures · avg +1 min
-
Zürich Oerlikon 94.2%
26,736 departures · avg +1.2 min
-
Zürich Stadelhofen 92.6%
20,993 departures · avg +1.3 min
-
Winterthur 96.1%
19,962 departures · avg +1.1 min
-
Zürich Hardbrücke 83.9%
19,893 departures · avg +2.1 min
-
Olten 92%
18,657 departures · avg +1.3 min
-
Lausanne 91.1%
15,594 departures · avg +1.5 min
-
St. Gallen 94.8%
15,412 departures · avg +1.2 min
-
Renens VD 92%
15,366 departures · avg +1.3 min
-
Aarau 93.6%
14,943 departures · avg +1 min
-
Luzern 97.2%
13,833 departures · avg +0.8 min
-
Bern, Bahnhof 93.7%
85,219 departures · avg +1.2 min
-
Genève, gare Cornavin 75.6%
82,263 departures · avg +2.4 min
-
Genève, Bel-Air 78.2%
80,340 departures · avg +2.2 min
-
Luzern, Kantonalbank 73.5%
67,592 departures · avg +2.5 min
-
Bern, Hirschengraben 89.4%
65,053 departures · avg +1.6 min
-
Zürich, Central 92.1%
64,410 departures · avg +1.2 min
-
Basel, Schifflände 81.1%
63,521 departures · avg +2 min
-
Bern, Zytglogge 90.3%
62,235 departures · avg +1.6 min
-
Lausanne, Bel-Air 72.1%
61,595 departures · avg +2.4 min
-
Luzern, Bahnhof 82.8%
60,040 departures · avg +1.9 min
-
Zürich, Bellevue 91%
58,851 departures · avg +1.3 min
-
Basel, Bahnhof SBB 86.8%
58,383 departures · avg +1.7 min
-
Magliaso Paese 69.3%
3,315 departures · avg +2.6 min
-
Agno 71.6%
3,315 departures · avg +2.5 min
-
Magliaso 72.8%
3,315 departures · avg +2.4 min
-
Serocca 73.5%
3,315 departures · avg +2.3 min
-
Oberentfelden Engelplatz 73.9%
4,427 departures · avg +1.6 min
-
Muhen Nord 74.1%
4,427 departures · avg +1.6 min
-
Bioggio Molinazzo 74.9%
3,315 departures · avg +2.2 min
-
Cham Alpenblick 76.6%
3,980 departures · avg +2.2 min
-
Zug Chollermüli 76.8%
3,976 departures · avg +2.2 min
-
Zug Schutzengel 78.2%
3,868 departures · avg +2.2 min
-
Como S. Giovanni 78.5%
3,426 departures · avg +2.7 min
-
Caslano 79%
3,315 departures · avg +2.1 min
Largest delays
- Bus 892 Wald ZH, Bahnhof – Wald ZH, Rehazentrum Wald ZH, Bahnhofand 2 more trips of this line +178 min
- Bus 3 Wettingen, Brunnenwiese – Baden, Grosse Bäder Wettingen, Brunnenwieseand 2 more trips of this line +169 min
- Bus 83 Viry, église – Satigny, Nant-d'Avril Viry, église +169 min
- Bus 611 Zug, St. Johannes – Oberwil b. Zug,Klinik Zugersee Oberwil b. Zug,Klinik Zugersee +164 min
- PE Lugano +160 min
- Bus 893 Wald ZH, Bahnhof – Wald ZH, Bahnhof Wald ZH, Bahnhofand 1 more trips of this line +159 min
- Bus 1 Gebenstorf, Reuss – Würenlos, Bettlen Baden, Bahnhof Ostand 8 more trips of this line +154 min
- Bus 5 Schaffhausen, Schlossweiher – Schaffhausen, Bahnhof Schaffhausen, Schlossweiherand 1 more trips of this line +153 min
- NJ Zürich HBand 13 more trips of this line +147 min
- Bus 1 Ebikon, Fildern – Obernau, Dorf Luzern, Bahnhofand 5 more trips of this line +144 min
- S1 Thun – Fribourg/Freiburg Fribourg/Freiburgand 2 more trips of this line +139 min
- Bus 111 Waldibrücke, Bahnhof – Ebikon, Bahnhof Ebikon, Bahnhofand 4 more trips of this line +138 min
- EC Bregenz – Zürich HB Zürich HBand 67 more trips of this line +137 min
- Bus 25 Grenchen, Holzerhütte – Bettlach, Allmend Grenchen Süd, Bahnhof +132 min
- Bus 36 Basel, Schifflände – Basel, Kleinhüningen Basel, Schiffländeand 14 more trips of this line +125 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.
- NJ Zürich HBand 2 more trips of this line +377 min