Punctuality of Swiss public transportWeek 1720 Apr – 26 Apr 2026
87.4% of 963,174 trips were on time. The best day was Sunday 26 April with 90.9%, the worst Friday 24 April with 85.4%. Of the busy lines, M2 Genève-Pâquis (lac) – Genève-Quai Gustave Ador (lac) had the lowest share on time: 22.3%.
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.4%
−1.3 ptsWeek before: 88.7% · 963,174 trips with live data
Average delay
+1.3 min
Canceled trips
2,468
0.3% of the trips
Day by day
The share on time of each day. A day opens its page.
- 95%
- Average: 87.4%
- Best day
- Sun 26 Apr · 90.9%
- Worst day
- Fri 24 Apr · 85.4%
- Worst hour
- Thu 17:00–18:00 · 65.5%
By mode
-
Train 95.6%
97,159 trips · avg +0.7 min
-
Tram 83.9%
75,846 trips · avg +1.6 min
-
Bus 86.8%
785,505 trips · avg +1.4 min
-
Metro 89%
2,173 trips · avg +1.4 min
-
Boat 44.3%
2,491 trips · avg +4.6 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) 22.3%
932 trips · avg +6.4 min
-
931 trips · avg +5.4 min
-
1,042 trips · avg +4 min
-
Bus 109 Neuchâtel, Place Pury – Neuchâtel, Trois-ChênesNeuchâtel, Place Pury – Neuchâtel, Trois-Chênes 43%
1,365 trips · avg +3.6 min
-
336 trips · avg +3.9 min
-
457 trips · avg +3.1 min
-
1,171 trips · avg +3.1 min
-
Tram 8 Basel, Neuweilerstrasse – Weil am Rhein, Bahnhof/ZentrumBasel, Neuweilerstrasse – Weil am Rhein, Bahnhof/Zentrum 52.3%
463 trips · avg +4 min
Show 17 more
-
Bus 33 Prilly, Mont-Goulin – St-Sulpice VD, Venoge nordPrilly, Mont-Goulin – St-Sulpice VD, Venoge nord 53.9%
1,077 trips · avg +4 min
-
387 trips · avg +3.7 min
-
1,909 trips · avg +3.9 min
-
428 trips · avg +3.1 min
-
613 trips · avg +3.2 min
-
641 trips · avg +3.3 min
-
1,487 trips · avg +3.6 min
-
710 trips · avg +3.6 min
-
1,165 trips · avg +3.5 min
-
978 trips · avg +3.4 min
-
1,049 trips · avg +4 min
-
1,310 trips · avg +3.7 min
-
453 trips · avg +5 min
-
1,141 trips · avg +2.9 min
-
Bus 24 Lausanne, Bourdonnette – Lausanne, Ouchy-OlympiqueLausanne, Bourdonnette – Lausanne, Ouchy-Olympique 61.3%
804 trips · avg +6.5 min
-
284 trips · avg +2.7 min
-
1,931 trips · avg +3.4 min
Most punctual busy lines
-
1,765 trips · avg +0.6 min
-
Bus 3 Winterthur, Oberseen – Winterthur, RosenbergWinterthur, Oberseen – Winterthur, Rosenberg 97.8%
1,846 trips · avg +0.4 min
-
1,856 trips · avg +0.6 min
-
Bus 1 Winterthur, Oberwinterthur – Winterthur, TössWinterthur, Oberwinterthur – Winterthur, Töss 96.8%
1,853 trips · avg +0.8 min
-
1,546 trips · avg +0.7 min
-
1,627 trips · avg +0.9 min
-
1,955 trips · avg +0.8 min
-
1,532 trips · avg +0.8 min
Least punctual busy lines
-
409 trips · avg +5.2 min
-
539 trips · avg +2 min
-
359 trips · avg +1.6 min
-
332 trips · avg +1.6 min
-
776 trips · avg +1.6 min
-
816 trips · avg +0.8 min
-
364 trips · avg +0.7 min
-
1,066 trips · avg +0.8 min
Show 17 more
-
580 trips · avg +0.9 min
-
469 trips · avg +0.7 min
-
347 trips · avg +0.6 min
-
329 trips · avg +0.8 min
-
518 trips · avg +0.9 min
-
369 trips · avg +0.8 min
-
304 trips · avg +0.5 min
-
375 trips · avg +0.8 min
-
498 trips · avg +0.9 min
-
356 trips · avg +0.6 min
-
560 trips · avg +0.7 min
-
465 trips · avg +0.5 min
-
448 trips · avg +0.6 min
-
328 trips · avg +1.1 min
-
560 trips · avg +0.5 min
-
571 trips · avg +0.6 min
-
335 trips · avg +0.5 min
Most punctual busy lines
-
546 trips · avg +0.1 min
-
406 trips · avg +0 min
-
455 trips · avg +0.4 min
-
867 trips · avg +0.3 min
-
532 trips · avg +0.1 min
-
1,038 trips · avg +0.2 min
-
332 trips · avg +0 min
-
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 52.3%
463 trips · avg +4 min
-
Tram 14 Basel, Dreirosenbrücke – Pratteln, SchlossstrasseBasel, Dreirosenbrücke – Pratteln, Schlossstrasse 66.8%
1,900 trips · avg +2.5 min
-
Tram 8 Bern, Saali – Bern Brünnen Westside, BahnhofBern, Saali – Bern Brünnen Westside, Bahnhof 70.2%
533 trips · avg +2.5 min
-
1,917 trips · avg +2.4 min
-
1,947 trips · avg +1.7 min
-
351 trips · avg +2.3 min
-
645 trips · avg +2.2 min
-
Tram 9 Wabern, Tram-Endstation – Bern Wankdorf, BahnhofWabern, Tram-Endstation – Bern Wankdorf, Bahnhof 76.1%
2,756 trips · avg +2.1 min
Show 17 more
-
Tram 2 Binningen, Kronenplatz – Basel, Badischer BahnhofBinningen, Kronenplatz – Basel, Badischer Bahnhof 77.4%
464 trips · avg +2.1 min
-
1,845 trips · avg +2.1 min
-
2,632 trips · avg +2.1 min
-
2,045 trips · avg +1.7 min
-
1,852 trips · avg +1.7 min
-
2,326 trips · avg +1.6 min
-
2,157 trips · avg +1.4 min
-
1,974 trips · avg +1.3 min
-
Tram 7 Stettbach, Bahnhof – Zürich, WollishoferplatzStettbach, Bahnhof – Zürich, Wollishoferplatz 88.4%
492 trips · avg +1.5 min
-
Tram 11 Zürich, Central – Zürich Tiefenbrunnen, BahnhofZürich, Central – Zürich Tiefenbrunnen, Bahnhof 88.8%
649 trips · avg +1.2 min
-
1,994 trips · avg +1.6 min
-
Tram 10 Zürich Flughafen, Fracht – Zürich, Bahnhofplatz/HBZürich Flughafen, Fracht – Zürich, Bahnhofplatz/HB 90.6%
688 trips · avg +1.2 min
-
427 trips · avg +1.1 min
-
1,948 trips · avg +1 min
-
Tram 51 Zürich Altstetten, Bahnhof N – Zürich, SeebachZürich Altstetten, Bahnhof N – Zürich, Seebach 94.2%
2,045 trips · avg +1 min
-
2,011 trips · avg +1 min
-
1,095 trips · avg +0.9 min
Most punctual busy lines
-
779 trips · avg +0.2 min
-
Tram 20 Killwangen, Bahnhof – Zürich Altstetten, BahnhofKillwangen, Bahnhof – Zürich Altstetten, Bahnhof 97%
1,085 trips · avg +0.9 min
-
1,955 trips · avg +0.8 min
-
1,095 trips · avg +0.9 min
-
2,011 trips · avg +1 min
-
Tram 51 Zürich Altstetten, Bahnhof N – Zürich, SeebachZürich Altstetten, Bahnhof N – Zürich, Seebach 94.2%
2,045 trips · avg +1 min
-
1,948 trips · avg +1 min
-
427 trips · avg +1.1 min
Least punctual busy lines
-
1,042 trips · avg +4 min
-
Bus 109 Neuchâtel, Place Pury – Neuchâtel, Trois-ChênesNeuchâtel, Place Pury – Neuchâtel, Trois-Chênes 43%
1,365 trips · avg +3.6 min
-
336 trips · avg +3.9 min
-
457 trips · avg +3.1 min
-
1,171 trips · avg +3.1 min
-
Bus 33 Prilly, Mont-Goulin – St-Sulpice VD, Venoge nordPrilly, Mont-Goulin – St-Sulpice VD, Venoge nord 53.9%
1,077 trips · avg +4 min
-
387 trips · avg +3.7 min
-
1,909 trips · avg +3.9 min
Show 17 more
-
428 trips · avg +3.1 min
-
613 trips · avg +3.2 min
-
641 trips · avg +3.3 min
-
1,487 trips · avg +3.6 min
-
710 trips · avg +3.6 min
-
1,165 trips · avg +3.5 min
-
978 trips · avg +3.4 min
-
1,049 trips · avg +4 min
-
1,310 trips · avg +3.7 min
-
453 trips · avg +5 min
-
1,141 trips · avg +2.9 min
-
Bus 24 Lausanne, Bourdonnette – Lausanne, Ouchy-OlympiqueLausanne, Bourdonnette – Lausanne, Ouchy-Olympique 61.3%
804 trips · avg +6.5 min
-
284 trips · avg +2.7 min
-
1,931 trips · avg +3.4 min
-
Bus 59 Chambésy, Plage du Vengeron – Genève-Aéroport, TerminalChambésy, Plage du Vengeron – Genève-Aéroport, Terminal 62.9%
577 trips · avg +2.5 min
-
Bus 22 Carouge GE, Rondeau – Genève, Jardin BotaniqueCarouge GE, Rondeau – Genève, Jardin Botanique 63.5%
520 trips · avg +2.6 min
-
1,064 trips · avg +2.9 min
Most punctual busy lines
-
Bus 3 Winterthur, Oberseen – Winterthur, RosenbergWinterthur, Oberseen – Winterthur, Rosenberg 97.8%
1,846 trips · avg +0.4 min
-
1,270 trips · avg +0.7 min
-
1,293 trips · avg +0.7 min
-
1,856 trips · avg +0.6 min
-
Bus 1 Winterthur, Oberwinterthur – Winterthur, TössWinterthur, Oberwinterthur – Winterthur, Töss 96.8%
1,853 trips · avg +0.8 min
-
Bus 6 St. Gallen, Bach St. Georgen – St. Gallen, HeiligkreuzSt. Gallen, Bach St. Georgen – St. Gallen, Heiligkreuz 96.5%
1,298 trips · avg +0.6 min
-
1,288 trips · avg +0.9 min
-
1,546 trips · avg +0.7 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) 22.3%
932 trips · avg +6.4 min
-
931 trips · avg +5.4 min
-
314 trips · avg +0.9 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.4%
314 trips · avg +0.8 min
Least punctual operators
-
Mouettes genevoises 44.3%
2,491 trips · avg +4.6 min
-
VBL 66.3%
25,678 trips · avg +3 min
-
TPL 69.5%
10,472 trips · avg +2.8 min
-
Transports Publics Neuchâtelois 73.1%
17,410 trips · avg +2.2 min
-
Automobil Rottal 73.8%
2,942 trips · avg +2.2 min
-
Verkehrsbetrieb LIECHTENSTEINmobil 74%
4,680 trips · avg +2.2 min
-
BVB 74%
31,825 trips · avg +2.4 min
-
TPG 75.1%
60,875 trips · avg +2.1 min
Show 17 more
-
Busbetrieb Aarau 75.6%
6,337 trips · avg +2.1 min
-
Auto AG Rothenburg 78.1%
4,807 trips · avg +2 min
-
Busbetrieb Rapperswil-Eschenbach-Rüti ZH 78.9%
1,897 trips · avg +2 min
-
Bus Nyon-Prangins 80.6%
2,168 trips · avg +1.8 min
-
Busbetrieb Solothurn und Umgebung 80.9%
4,667 trips · avg +1.7 min
-
tl 80.9%
46,085 trips · avg +2 min
-
Automobiles MBC 81.6%
3,632 trips · avg +2 min
-
Regiobus Gossau SG 81.8%
4,241 trips · avg +1.7 min
-
Sierre-Montana-Crans 81.9%
1,775 trips · avg +1.8 min
-
Stadtbus Frauenfeld 82.7%
3,495 trips · avg +1.8 min
-
Verkehrsbetriebe Biel 83.5%
9,465 trips · avg +1.6 min
-
Regionale Verkehrsbetriebe Baden-Wettingen 83.9%
8,641 trips · avg +2 min
-
Bernmobil 84.5%
33,256 trips · avg +1.6 min
-
Bus und Service 85.1%
9,920 trips · avg +1.5 min
-
Transports publics Vevey-Montreux-Chillon-Villeneuve 85.3%
7,620 trips · avg +1.3 min
-
TPF 86.2%
24,754 trips · avg +1.9 min
-
Automobildienste Aare Seeland mobil 87%
4,074 trips · avg +1.5 min
Most punctual operators
-
Regionalverkehr Bern-Solothurn 99.1%
3,945 trips · avg +0.2 min
-
Zentralbahn 99.1%
2,435 trips · avg +0.2 min
-
Aare Seeland mobil 99%
2,230 trips · avg +0.3 min
-
Sihltal-Zürich-Uetliberg-Bahn 98.7%
2,007 trips · avg +0.5 min
-
Lausanne-Echallens-Bercher 98.9%
902 trips · avg +0.2 min
-
BLS 97.9%
10,483 trips · avg +0.5 min
-
THURBO 97.9%
7,692 trips · avg +0.3 min
-
Schweizerische Südostbahn 98%
3,519 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.8%
11,943 departures · avg +1 min
-
Bern 97.5%
7,046 departures · avg +0.8 min
-
Zürich Oerlikon 96.6%
6,320 departures · avg +1 min
-
4,929 departures · avg +1.2 min
-
Winterthur 97.3%
4,799 departures · avg +0.9 min
-
Zürich Hardbrücke 89.3%
4,771 departures · avg +1.9 min
-
Olten 94.6%
4,210 departures · avg +1.1 min
-
St. Gallen 95.7%
3,581 departures · avg +1 min
-
Lausanne 88.3%
3,478 departures · avg +1.5 min
-
Renens VD 89.8%
3,448 departures · avg +1.4 min
-
Aarau 96.1%
3,448 departures · avg +0.8 min
-
Luzern 99%
3,224 departures · avg +0.7 min
-
Bern, Bahnhof 93.2%
20,063 departures · avg +1.2 min
-
Genève, gare Cornavin 76.5%
19,971 departures · avg +2.1 min
-
Genève, Bel-Air 79%
19,246 departures · avg +2 min
-
Luzern, Kantonalbank 70.7%
16,252 departures · avg +2.6 min
-
Bern, Hirschengraben 87.3%
15,088 departures · avg +1.7 min
-
15,008 departures · avg +2.2 min
-
Bern, Zytglogge 89.1%
14,933 departures · avg +1.6 min
-
Zürich, Central 93.2%
14,723 departures · avg +1.1 min
-
Luzern, Bahnhof 82%
14,195 departures · avg +1.9 min
-
Basel, Bahnhof SBB 86.5%
13,876 departures · avg +1.7 min
-
Lausanne, Bel-Air 70.3%
13,717 departures · avg +2.6 min
-
St. Gallen, Bahnhof 90.6%
13,443 departures · avg +1.3 min
-
Paradiso 70.5%
864 departures · avg +3 min
-
Puidoux 74.3%
797 departures · avg +2.4 min
-
Oberentfelden Engelplatz 74.7%
1,012 departures · avg +1.6 min
-
Como S. Giovanni 74.9%
800 departures · avg +3 min
-
Muhen Nord 74.9%
1,012 departures · avg +1.5 min
-
Dietikon Stoffelbach 75.8%
1,020 departures · avg +2.6 min
-
Magliaso Paese 76.1%
816 departures · avg +2.1 min
-
Zufikon 77.1%
1,027 departures · avg +2.2 min
-
Reppischhof 78.1%
1,020 departures · avg +2.2 min
-
Agno 78.8%
816 departures · avg +2 min
-
Chiasso 78.8%
1,166 departures · avg +2.5 min
-
Magliaso 80.6%
816 departures · avg +1.9 min
Largest delays
- Bus 893 Wald ZH, Bahnhof – Wald ZH, Bahnhof Wald ZH, Bahnhof +181 min
- Bus 892 Wald ZH, Bahnhof – Wald ZH, Rehazentrum Wald ZH, Rehazentrumand 3 more trips of this line +181 min
- Bus 1 Granges-Paccot, P. de-Fribourg +165 min
- NJ Feldkirch – Zürich HB Zürich HBand 1 more trips of this line +160 min
- Bus 6 Genève, Plage – Vernier, village Vernier, village +154 min
- Bus 25 Thônex, Vallard +130 min
- EC Bregenz – Zürich HB Zürich HBand 3 more trips of this line +121 min
- Bus 9 Lutry, Corniche +120 min
- Bus 474 Erschmatt, Dorf – Leuk, Bahnhof Leuk, Bahnhof +119 min
- Bus 432 Sargans, Bahnhof – Weisstannen, Oberdorf Sargans, Bahnhof +116 min
- Tram 10 Dornach, Bahnhof +110 min
- Bus 1 EPFL/Colladon +108 min
- ICE Zürich HBand 8 more trips of this line +102 min
- Bus 19 Renens, 14 Avril +96 min
- ICE Basel Bad Bf – Chur Basel Bad Bfand 3 more trips of this line +95 min
›Probably errors in the feed (9)
Delays of more than 6 hours. The real-time feed sent them, but they are probably not real.
- Bus 337 Fribourg/Freiburg, gare rout.and 1 more trips of this line +1522 min
- Bus 202 Vuadens, Le Maupas +1512 min
- Bus 8 Corminboeuf, anc. poste – Marly, piscine Marly, piscineand 3 more trips of this line +1498 min
- Bus 5 Fribourg, Torryand 1 more trips of this line +1493 min
- Bus 1 Gebenstorf, Reuss – Würenlos, Bettlen Baden, Bahnhof Ostand 8 more trips of this line +710 min
- Bus 3 Wettingen, Brunnenwieseand 3 more trips of this line +707 min
- Bus 307 Zürich Altstetten, Bahnhof N +541 min
- Bus 24 Schaffhausen, Bahnhof +461 min
- Bus 25 Ramsen, Petersburgand 5 more trips of this line +449 min