Punctuality of Swiss public transportWeek 119 Mar – 15 Mar 2026
88.2% of 971,408 trips were on time. The best day was Sunday 15 March with 93.1%, the worst Thursday 12 March with 86.2%. Of the busy lines, M1 Genève-Pâquis (lac) – Genève-Molard (lac) had the lowest share on time: 39.1%.
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.
88.2%
+0.7 ptsWeek before: 87.6% · 971,408 trips with live data
Average delay
+1.3 min
Canceled trips
3,167
0.3% of the trips
Day by day
The share on time of each day. A day opens its page.
- 95%
- Average: 88.2%
- Best day
- Sun 15 Mar · 93.1%
- Worst day
- Thu 12 Mar · 86.2%
- Worst hour
- Thu 17:00–18:00 · 68.5%
By mode
-
Train 94.8%
98,524 trips · avg +0.8 min
-
Tram 84.6%
75,928 trips · avg +1.6 min
-
Bus 87.8%
792,538 trips · avg +1.3 min
-
Metro 91.6%
2,182 trips · avg +1.2 min
-
Boat 57%
2,236 trips · avg +3.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
-
836 trips · avg +4.9 min
-
1,043 trips · avg +3.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) 46.8%
836 trips · avg +4.1 min
-
Bus 109 Neuchâtel, Place Pury – Neuchâtel, Trois-ChênesNeuchâtel, Place Pury – Neuchâtel, Trois-Chênes 48.2%
1,366 trips · avg +3.4 min
-
431 trips · avg +3.5 min
-
Bus 33 Prilly, Mont-Goulin – St-Sulpice VD, Venoge nordPrilly, Mont-Goulin – St-Sulpice VD, Venoge nord 52.5%
1,076 trips · avg +4.2 min
-
1,171 trips · avg +3 min
-
Tram 8 Basel, Neuweilerstrasse – Weil am Rhein, Bahnhof/ZentrumBasel, Neuweilerstrasse – Weil am Rhein, Bahnhof/Zentrum 55.2%
464 trips · avg +3.3 min
Show 17 more
-
314 trips · avg +2.9 min
-
816 trips · avg +3.1 min
-
1,158 trips · avg +2.9 min
-
Bus 72 Biel/Bienne, Bahnhof/Gare – Meinisberg, RüttiBiel/Bienne, Bahnhof/Gare – Meinisberg, Rütti 61.4%
560 trips · avg +3.4 min
-
1,138 trips · avg +2.7 min
-
1,057 trips · avg +3.2 min
-
512 trips · avg +2.7 min
-
382 trips · avg +6.5 min
-
Bus 61 Wallisellen, Glatt (Bus) – Zürich, MühlackerWallisellen, Glatt (Bus) – Zürich, Mühlacker 65.8%
1,066 trips · avg +2.6 min
-
Bus 4 Nidau, Burgerallee – Biel/Bienne, Vorhölzli/Bois-DvNidau, Burgerallee – Biel/Bienne, Vorhölzli/Bois-Dv 65.9%
936 trips · avg +2.4 min
-
1,556 trips · avg +2.6 min
-
Bus 9 Vernier, Lignon Tours – Thônex, Belle-Terre Pl. AraireVernier, Lignon Tours – Thônex, Belle-Terre Pl. Araire 66.5%
1,342 trips · avg +2.7 min
-
Bus 3 Biel/Bienne, Mösliacker/Pt-Mar – Biel/Bienne, Vorhölzli/Bois-DvBiel/Bienne, Mösliacker/Pt-Mar – Biel/Bienne, Vorhölzli/Bois-Dv 66.8%
943 trips · avg +2.6 min
-
1,029 trips · avg +2.6 min
-
Bus 50 Basel EuroAirport, Verwaltung – Basel, Bahnhof SBBBasel EuroAirport, Verwaltung – Basel, Bahnhof SBB 67.3%
441 trips · avg +2.3 min
-
1,141 trips · avg +2.6 min
-
1,909 trips · avg +2.6 min
Most punctual busy lines
-
2,046 trips · avg +0.7 min
-
1,968 trips · avg +0.8 min
-
1,546 trips · avg +0.5 min
-
Bus 1 Winterthur, Oberwinterthur – Winterthur, TössWinterthur, Oberwinterthur – Winterthur, Töss 95.6%
1,855 trips · avg +0.8 min
-
Bus 781 Zürich Oerlikon, Bahnhof – Glattbrugg, GiebeleichstrasseZürich Oerlikon, Bahnhof – Glattbrugg, Giebeleichstrasse 95%
1,514 trips · avg +1 min
-
2,371 trips · avg +1.1 min
-
1,534 trips · avg +0.9 min
-
1,974 trips · avg +0.9 min
Least punctual busy lines
-
816 trips · avg +3.1 min
-
382 trips · avg +6.5 min
-
762 trips · avg +2 min
-
454 trips · avg +1.3 min
-
303 trips · avg +1.2 min
-
518 trips · avg +1.5 min
-
325 trips · avg +0.8 min
-
325 trips · avg +1 min
Show 17 more
-
551 trips · avg +0.8 min
-
596 trips · avg +1 min
-
814 trips · avg +1.2 min
-
489 trips · avg +1.1 min
-
820 trips · avg +0.9 min
-
287 trips · avg +0.6 min
-
469 trips · avg +0.6 min
-
534 trips · avg +0.7 min
-
374 trips · avg +0.6 min
-
563 trips · avg +0.7 min
-
546 trips · avg +0.7 min
-
553 trips · avg +1.1 min
-
371 trips · avg +0.6 min
-
330 trips · avg +0.7 min
-
460 trips · avg +0.7 min
-
294 trips · avg +0.7 min
-
483 trips · avg +0.4 min
Most punctual busy lines
-
474 trips · avg +0 min
-
406 trips · avg +0 min
-
1,003 trips · avg +0.1 min
-
776 trips · avg +0.2 min
-
1,162 trips · avg +0.3 min
-
546 trips · avg +0.1 min
-
532 trips · avg +0.1 min
-
472 trips · avg +0.2 min
Least punctual busy lines
-
Tram 8 Basel, Neuweilerstrasse – Weil am Rhein, Bahnhof/ZentrumBasel, Neuweilerstrasse – Weil am Rhein, Bahnhof/Zentrum 55.2%
464 trips · avg +3.3 min
-
Tram 14 Basel, Dreirosenbrücke – Pratteln, SchlossstrasseBasel, Dreirosenbrücke – Pratteln, Schlossstrasse 68.6%
1,900 trips · avg +2.6 min
-
1,923 trips · avg +2.5 min
-
1,949 trips · avg +1.8 min
-
Tram 8 Bern, Saali – Bern Brünnen Westside, BahnhofBern, Saali – Bern Brünnen Westside, Bahnhof 76.7%
533 trips · avg +2.1 min
-
1,849 trips · avg +2 min
-
Tram 2 Binningen, Kronenplatz – Basel, Badischer BahnhofBinningen, Kronenplatz – Basel, Badischer Bahnhof 83.2%
463 trips · avg +1.8 min
-
2,038 trips · avg +1.8 min
Show 17 more
-
1,852 trips · avg +1.7 min
-
1,985 trips · avg +1.4 min
-
2,185 trips · avg +1.7 min
-
Tram 9 Wabern, Tram-Endstation – Bern Wankdorf, BahnhofWabern, Tram-Endstation – Bern Wankdorf, Bahnhof 85.1%
2,288 trips · avg +1.8 min
-
2,664 trips · avg +1.7 min
-
2,013 trips · avg +1.4 min
-
2,034 trips · avg +1.4 min
-
655 trips · avg +1 min
-
1,991 trips · avg +1.6 min
-
351 trips · avg +1 min
-
Tram 51 Zürich Altstetten, Bahnhof N – Zürich, SeebachZürich Altstetten, Bahnhof N – Zürich, Seebach 91.3%
2,056 trips · avg +1.2 min
-
Tram 10 Zürich Flughafen, Fracht – Zürich, Bahnhofplatz/HBZürich Flughafen, Fracht – Zürich, Bahnhofplatz/HB 92%
410 trips · avg +1.1 min
-
896 trips · avg +1 min
-
Tram 7 Stettbach, Bahnhof – Zürich, WollishoferplatzStettbach, Bahnhof – Zürich, Wollishoferplatz 92.5%
492 trips · avg +1.1 min
-
1,974 trips · avg +0.9 min
-
Tram 11 Zürich, Central – Zürich Tiefenbrunnen, BahnhofZürich, Central – Zürich Tiefenbrunnen, Bahnhof 94.3%
488 trips · avg +0.9 min
-
1,968 trips · avg +0.8 min
Most punctual busy lines
-
974 trips · avg +0.2 min
-
Tram 20 Killwangen, Bahnhof – Zürich Altstetten, BahnhofKillwangen, Bahnhof – Zürich Altstetten, Bahnhof 97.9%
998 trips · avg +0.8 min
-
1,968 trips · avg +0.8 min
-
Tram 11 Zürich, Central – Zürich Tiefenbrunnen, BahnhofZürich, Central – Zürich Tiefenbrunnen, Bahnhof 94.3%
488 trips · avg +0.9 min
-
1,974 trips · avg +0.9 min
-
Tram 7 Stettbach, Bahnhof – Zürich, WollishoferplatzStettbach, Bahnhof – Zürich, Wollishoferplatz 92.5%
492 trips · avg +1.1 min
-
896 trips · avg +1 min
-
Tram 10 Zürich Flughafen, Fracht – Zürich, Bahnhofplatz/HBZürich Flughafen, Fracht – Zürich, Bahnhofplatz/HB 92%
410 trips · avg +1.1 min
Least punctual busy lines
-
1,043 trips · avg +3.4 min
-
Bus 109 Neuchâtel, Place Pury – Neuchâtel, Trois-ChênesNeuchâtel, Place Pury – Neuchâtel, Trois-Chênes 48.2%
1,366 trips · avg +3.4 min
-
431 trips · avg +3.5 min
-
Bus 33 Prilly, Mont-Goulin – St-Sulpice VD, Venoge nordPrilly, Mont-Goulin – St-Sulpice VD, Venoge nord 52.5%
1,076 trips · avg +4.2 min
-
1,171 trips · avg +3 min
-
314 trips · avg +2.9 min
-
1,158 trips · avg +2.9 min
-
Bus 72 Biel/Bienne, Bahnhof/Gare – Meinisberg, RüttiBiel/Bienne, Bahnhof/Gare – Meinisberg, Rütti 61.4%
560 trips · avg +3.4 min
Show 17 more
-
1,138 trips · avg +2.7 min
-
1,057 trips · avg +3.2 min
-
512 trips · avg +2.7 min
-
Bus 61 Wallisellen, Glatt (Bus) – Zürich, MühlackerWallisellen, Glatt (Bus) – Zürich, Mühlacker 65.8%
1,066 trips · avg +2.6 min
-
Bus 4 Nidau, Burgerallee – Biel/Bienne, Vorhölzli/Bois-DvNidau, Burgerallee – Biel/Bienne, Vorhölzli/Bois-Dv 65.9%
936 trips · avg +2.4 min
-
1,556 trips · avg +2.6 min
-
Bus 9 Vernier, Lignon Tours – Thônex, Belle-Terre Pl. AraireVernier, Lignon Tours – Thônex, Belle-Terre Pl. Araire 66.5%
1,342 trips · avg +2.7 min
-
Bus 3 Biel/Bienne, Mösliacker/Pt-Mar – Biel/Bienne, Vorhölzli/Bois-DvBiel/Bienne, Mösliacker/Pt-Mar – Biel/Bienne, Vorhölzli/Bois-Dv 66.8%
943 trips · avg +2.6 min
-
1,029 trips · avg +2.6 min
-
Bus 50 Basel EuroAirport, Verwaltung – Basel, Bahnhof SBBBasel EuroAirport, Verwaltung – Basel, Bahnhof SBB 67.3%
441 trips · avg +2.3 min
-
1,141 trips · avg +2.6 min
-
1,909 trips · avg +2.6 min
-
1,489 trips · avg +2.7 min
-
Bus 66 Thoiry, Centre commercial – Genève-Aéroport, TerminalThoiry, Centre commercial – Genève-Aéroport, Terminal 68.2%
481 trips · avg +2.5 min
-
717 trips · avg +3.2 min
-
Bus 22 Carouge GE, Rondeau – Genève, Jardin BotaniqueCarouge GE, Rondeau – Genève, Jardin Botanique 68.6%
526 trips · avg +2.5 min
-
693 trips · avg +2.7 min
Most punctual busy lines
-
1,546 trips · avg +0.5 min
-
1,294 trips · avg +0.7 min
-
Bus 1 Schaffhausen, Waldfriedhof – Neuhausen, HerbstäckerSchaffhausen, Waldfriedhof – Neuhausen, Herbstäcker 95.7%
1,324 trips · avg +1 min
-
Bus 1 Winterthur, Oberwinterthur – Winterthur, TössWinterthur, Oberwinterthur – Winterthur, Töss 95.6%
1,855 trips · avg +0.8 min
-
1,291 trips · avg +1 min
-
Bus 6 St. Gallen, Bach St. Georgen – St. Gallen, HeiligkreuzSt. Gallen, Bach St. Georgen – St. Gallen, Heiligkreuz 95.1%
1,296 trips · avg +0.7 min
-
Bus 781 Zürich Oerlikon, Bahnhof – Glattbrugg, GiebeleichstrasseZürich Oerlikon, Bahnhof – Glattbrugg, Giebeleichstrasse 95%
1,514 trips · avg +1 min
-
2,371 trips · avg +1.1 min
Least punctual busy lines
-
836 trips · avg +4.9 min
-
M2 Genève-Pâquis (lac) – Genève-Quai Gustave Ador (lac)Genève-Pâquis (lac) – Genève-Quai Gustave Ador (lac) 46.8%
836 trips · avg +4.1 min
-
282 trips · avg +0.6 min
-
M4 Genève-Port Noir (lac) – Genève-De-Châteaubriand (lac)Genève-Port Noir (lac) – Genève-De-Châteaubriand (lac) 99.3%
282 trips · avg +0.5 min
Least punctual operators
-
Mouettes genevoises 57%
2,236 trips · avg +3.5 min
-
Lugano-Ponte Tresa 58.1%
816 trips · avg +3.1 min
-
Busbetrieb Rapperswil-Eschenbach-Rüti ZH 68.2%
1,879 trips · avg +2.4 min
-
VBL 74.4%
25,696 trips · avg +2.4 min
-
BVB 74.7%
31,738 trips · avg +2.2 min
-
Automobil Rottal 75.3%
2,959 trips · avg +2.1 min
-
Transports Publics Neuchâtelois 75.5%
17,386 trips · avg +2 min
-
TPL 78.2%
10,472 trips · avg +1.8 min
Show 17 more
-
Verkehrsbetrieb LIECHTENSTEINmobil 79.1%
5,393 trips · avg +2 min
-
Verkehrsbetriebe Biel 79.3%
9,462 trips · avg +1.8 min
-
TPG 79.5%
60,895 trips · avg +1.8 min
-
Bus Nyon-Prangins 80.8%
2,161 trips · avg +1.7 min
-
Bus und Service 81%
10,013 trips · avg +1.8 min
-
Auto AG Rothenburg 81%
4,939 trips · avg +1.8 min
-
Regionale Verkehrsbetriebe Baden-Wettingen 82.2%
9,098 trips · avg +1.7 min
-
Bus Sierrois 82.4%
1,692 trips · avg +1.7 min
-
Matterhorn Gotthard Bahn 83.5%
2,381 trips · avg +1.7 min
-
Sierre-Montana-Crans 84.8%
1,920 trips · avg +1.6 min
-
tl 85.2%
45,696 trips · avg +1.5 min
-
Busbetrieb Solothurn und Umgebung 85.3%
4,670 trips · avg +1.3 min
-
Bamert Bus 85.5%
1,077 trips · avg +1.5 min
-
Stadtbus Frauenfeld 85.7%
3,486 trips · avg +1.7 min
-
TPF 85.9%
26,059 trips · avg +1.7 min
-
VBZ 86.1%
109,505 trips · avg +1.5 min
-
Automobildienste Aare Seeland mobil 86.4%
4,073 trips · avg +1.4 min
Most punctual operators
-
Aare Seeland mobil 99.3%
2,230 trips · avg +0.3 min
-
Regionalverkehr Bern-Solothurn 99.2%
3,935 trips · avg +0.3 min
-
Zentralbahn 98.9%
2,439 trips · avg +0.3 min
-
THURBO 98.4%
7,864 trips · avg +0.3 min
-
Appenzeller Bahnen 98.1%
2,268 trips · avg +0.4 min
-
Lausanne-Echallens-Bercher 98.4%
792 trips · avg +0.4 min
-
BLS 97.2%
10,570 trips · avg +0.6 min
-
Schweizerische Südostbahn 97.3%
3,568 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%
11,798 departures · avg +1.1 min
-
Bern 97.4%
7,219 departures · avg +0.9 min
-
Zürich Oerlikon 93.4%
6,192 departures · avg +1.2 min
-
Zürich Stadelhofen 90.1%
4,925 departures · avg +1.5 min
-
Winterthur 96.3%
4,804 departures · avg +1.1 min
-
Zürich Hardbrücke 81.5%
4,757 departures · avg +2.2 min
-
Olten 94.4%
4,205 departures · avg +1.2 min
-
St. Gallen 94.9%
3,558 departures · avg +1.2 min
-
Lausanne 91.4%
3,529 departures · avg +1.3 min
-
Renens VD 91.1%
3,472 departures · avg +1.3 min
-
Aarau 95.8%
3,419 departures · avg +0.9 min
-
Luzern 98%
3,250 departures · avg +0.8 min
-
Genève, gare Cornavin 82.5%
19,963 departures · avg +1.7 min
-
Bern, Bahnhof 94.3%
19,706 departures · avg +1.2 min
-
Genève, Bel-Air 83.7%
19,275 departures · avg +1.7 min
-
Luzern, Kantonalbank 80.1%
16,270 departures · avg +2 min
-
Bern, Hirschengraben 91.4%
15,036 departures · avg +1.5 min
-
Basel, Schifflände 81.1%
15,019 departures · avg +2 min
-
Zürich, Central 93.2%
15,010 departures · avg +1.1 min
-
Bern, Zytglogge 89.8%
14,409 departures · avg +1.6 min
-
Zürich, Bellevue 93.1%
14,215 departures · avg +1.2 min
-
Luzern, Bahnhof 88.5%
14,144 departures · avg +1.5 min
-
Lausanne, Bel-Air 74.1%
14,143 departures · avg +2.2 min
-
Basel, Bahnhof SBB 84.9%
13,905 departures · avg +1.7 min
-
Magliaso Paese 46.3%
816 departures · avg +4.5 min
-
Magliaso 47.7%
816 departures · avg +4.4 min
-
Agno 47.9%
816 departures · avg +4.4 min
-
Serocca 50%
816 departures · avg +4.1 min
-
Bioggio Molinazzo 50.7%
816 departures · avg +4 min
-
Caslano 54.9%
816 departures · avg +3.8 min
-
Bioggio 56.1%
816 departures · avg +3.6 min
-
Sorengo Laghetto 58.6%
816 departures · avg +3.4 min
-
Cappella-Agnuzzo 59.8%
816 departures · avg +3.3 min
-
Sorengo 60.4%
816 departures · avg +3.2 min
-
Oberentfelden Engelplatz 74.8%
1,024 departures · avg +1.6 min
-
Muhen Nord 74.9%
1,024 departures · avg +1.6 min
Largest delays
- Bus 121 Wädenswil, Bahnhofand 1 more trips of this line +312 min
- Bus 128 Wädenswil, Bahnhof – Wädenswil, Winterberg Wädenswil, Hintere Rüti West +301 min
- Bus 8 Corminboeuf, anc. poste – Marly, piscine Marly, piscine +228 min
- Bus 704 Morges, Grassey +180 min
- Bus 441 Vrin, vitg +135 min
- Bus 83 Viry, égliseand 1 more trips of this line +129 min
- Bus 4 Prilly, Coudraie – Lausanne, Faverges Prilly, Coudraieand 1 more trips of this line +120 min
- Bus 19 Renens, 14 Avril +117 min
- Bus 541 Elm, Sportbahnenand 1 more trips of this line +116 min
- Bus 336 Fribourg/Freiburg, gare rout. +114 min
- Bus 3 Mailleferand 1 more trips of this line +112 min
- Bus 441 Flumserberg, Tannenboden – Sargans, Bahnhof Sargans, Bahnhofand 1 more trips of this line +111 min
- ICE Basel Bad Bfand 2 more trips of this line +106 min
- Bus 1 Thônex, Hôpital Trois-Chêneand 2 more trips of this line +99 min
- Tram 14 Bernex, Vailly +95 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 337 Farvagny-le-Grand, CO Gibloux +5862 min
- Bus 817 Uster, Bahnhof – Uster, See Uster, Bahnhof +718 min
- Bus 813 Uster, Bahnhof – Uster, Nossikon Uster, Nossikonand 1 more trips of this line +717 min
- Bus 1 Gebenstorf, Reuss – Würenlos, Bettlen Baden, Bahnhof Ostand 1 more trips of this line +623 min
- Bus 3 Wettingen, Brunnenwiese +619 min
- Bus 122 Wädenswil, Hintere Rüti West – Wädenswil, Bahnhof Wädenswil, Bahnhof +360 min