Punctuality of Swiss public transportWeek 923 Feb – 1 Mar 2026
87.8% of 969,432 trips were on time. The best day was Sunday 1 March with 92.2%, the worst Thursday 26 February with 85.7%. Of the busy lines, Bus 101 Cormondrèche, Grand'Rue – Marin-Epagnier, gare had the lowest share on time: 20.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.8%
−0.9 ptsWeek before: 88.7% · 969,432 trips with live data
Average delay
+1.3 min
Canceled trips
2,159
0.2% of the trips
Day by day
The share on time of each day. A day opens its page.
- 95%
- Average: 87.8%
- Best day
- Sun 1 Mar · 92.2%
- Worst day
- Thu 26 Feb · 85.7%
- Worst hour
- Thu 17:00–18:00 · 65.2%
By mode
-
Train 94.8%
98,739 trips · avg +0.8 min
-
Tram 84.1%
78,090 trips · avg +1.6 min
-
Bus 87.3%
787,981 trips · avg +1.3 min
-
Metro 88.7%
2,199 trips · avg +1.7 min
-
Boat 52%
2,423 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
-
Bus 101 Cormondrèche, Grand'Rue – Marin-Epagnier, gareCormondrèche, Grand'Rue – Marin-Epagnier, gare 20.9%
1,063 trips · avg +5.6 min
-
M2 Genève-Pâquis (lac) – Genève-Quai Gustave Ador (lac)Genève-Pâquis (lac) – Genève-Quai Gustave Ador (lac) 28.6%
931 trips · avg +5.7 min
-
767 trips · avg +4.2 min
-
516 trips · avg +4.7 min
-
866 trips · avg +4.2 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 43.5%
942 trips · avg +4.9 min
-
380 trips · avg +3.6 min
-
424 trips · avg +3.7 min
Show 17 more
-
1,171 trips · avg +3.1 min
-
Bus 109 Neuchâtel, Place Pury – Neuchâtel, Trois-ChênesNeuchâtel, Place Pury – Neuchâtel, Trois-Chênes 54.4%
1,326 trips · avg +2.9 min
-
Bus 72 Biel/Bienne, Bahnhof/Gare – Meinisberg, RüttiBiel/Bienne, Bahnhof/Gare – Meinisberg, Rütti 54.5%
561 trips · avg +4.6 min
-
Bus 33 Prilly, Mont-Goulin – St-Sulpice VD, Venoge nordPrilly, Mont-Goulin – St-Sulpice VD, Venoge nord 58.2%
1,074 trips · avg +3.5 min
-
970 trips · avg +3.2 min
-
Bus 66 Thoiry, Centre commercial – Genève-Aéroport, TerminalThoiry, Centre commercial – Genève-Aéroport, Terminal 60.3%
360 trips · avg +9.8 min
-
Bus 50 Basel EuroAirport, Verwaltung – Basel, Bahnhof SBBBasel EuroAirport, Verwaltung – Basel, Bahnhof SBB 61.7%
441 trips · avg +2.6 min
-
Bus 107 Neuchâtel, Place Pury – Hauterive NE, posteNeuchâtel, Place Pury – Hauterive NE, poste 62.7%
284 trips · avg +2.7 min
-
768 trips · avg +2.7 min
-
768 trips · avg +4 min
-
496 trips · avg +2.4 min
-
Tram 8 Basel, Neuweilerstrasse – Weil am Rhein, Bahnhof/ZentrumBasel, Neuweilerstrasse – Weil am Rhein, Bahnhof/Zentrum 65.4%
703 trips · avg +2.7 min
-
900 trips · avg +2.5 min
-
Bus 61 Wallisellen, Glatt (Bus) – Zürich, MühlackerWallisellen, Glatt (Bus) – Zürich, Mühlacker 65.8%
1,064 trips · avg +2.5 min
-
1,138 trips · avg +2.6 min
-
465 trips · avg +3.7 min
-
686 trips · avg +2.7 min
Most punctual busy lines
-
2,048 trips · avg +0.8 min
-
Bus 101 Bern, Hauptbahnhof – Hinterkappelen, SchlossmattBern, Hauptbahnhof – Hinterkappelen, Schlossmatt 96.3%
1,537 trips · avg +0.6 min
-
1,539 trips · avg +0.8 min
-
1,511 trips · avg +0.9 min
-
1,949 trips · avg +0.9 min
-
1,610 trips · avg +1 min
-
Bus 781 Zürich Oerlikon, Bahnhof – Glattbrugg, GiebeleichstrasseZürich Oerlikon, Bahnhof – Glattbrugg, Giebeleichstrasse 95.1%
1,516 trips · avg +0.9 min
-
1,863 trips · avg +0.8 min
Least punctual busy lines
-
377 trips · avg +6.4 min
-
816 trips · avg +2.2 min
-
776 trips · avg +1.5 min
-
284 trips · avg +1.7 min
-
443 trips · avg +1.3 min
-
540 trips · avg +1.2 min
-
577 trips · avg +1.7 min
-
379 trips · avg +1.1 min
Show 17 more
-
444 trips · avg +1.2 min
-
603 trips · avg +1.1 min
-
332 trips · avg +1 min
-
405 trips · avg +0.8 min
-
336 trips · avg +0.9 min
-
325 trips · avg +0.9 min
-
363 trips · avg +0.9 min
-
539 trips · avg +0.7 min
-
462 trips · avg +0.8 min
-
578 trips · avg +0.8 min
-
292 trips · avg +0.6 min
-
375 trips · avg +0.9 min
-
751 trips · avg +0.7 min
-
381 trips · avg +0.8 min
-
287 trips · avg +0.6 min
-
543 trips · avg +0.7 min
-
812 trips · avg +0.8 min
Most punctual busy lines
-
406 trips · avg +0 min
-
528 trips · avg +0.1 min
-
482 trips · avg +0.3 min
-
473 trips · avg +0.1 min
-
546 trips · avg +0.1 min
-
866 trips · avg +0.3 min
-
1,070 trips · avg +0.2 min
-
553 trips · avg +0.2 min
Least punctual busy lines
-
Tram 8 Basel, Neuweilerstrasse – Weil am Rhein, Bahnhof/ZentrumBasel, Neuweilerstrasse – Weil am Rhein, Bahnhof/Zentrum 65.4%
703 trips · avg +2.7 min
-
Tram 14 Basel, Dreirosenbrücke – Pratteln, SchlossstrasseBasel, Dreirosenbrücke – Pratteln, Schlossstrasse 69.4%
1,053 trips · avg +2.5 min
-
1,959 trips · avg +1.9 min
-
1,064 trips · avg +2.2 min
-
1,857 trips · avg +2.2 min
-
Tram 8 Bern, Saali – Bern Brünnen Westside, BahnhofBern, Saali – Bern Brünnen Westside, Bahnhof 78.6%
532 trips · avg +2.6 min
-
794 trips · avg +1.7 min
-
2,020 trips · avg +1.7 min
Show 17 more
-
Tram 2 Binningen, Kronenplatz – Basel, Badischer BahnhofBinningen, Kronenplatz – Basel, Badischer Bahnhof 82.3%
464 trips · avg +1.8 min
-
1,956 trips · avg +1.6 min
-
Tram 9 Wabern, Tram-Endstation – Bern Wankdorf, BahnhofWabern, Tram-Endstation – Bern Wankdorf, Bahnhof 84.2%
2,288 trips · avg +2.9 min
-
2,042 trips · avg +1.8 min
-
1,954 trips · avg +1.5 min
-
2,391 trips · avg +1.6 min
-
351 trips · avg +1.1 min
-
Tram 51 Zürich Altstetten, Bahnhof N – Zürich, SeebachZürich Altstetten, Bahnhof N – Zürich, Seebach 87.7%
2,042 trips · avg +1.4 min
-
1,994 trips · avg +1.6 min
-
1,989 trips · avg +1.3 min
-
Tram 7 Stettbach, Bahnhof – Zürich, WollishoferplatzStettbach, Bahnhof – Zürich, Wollishoferplatz 88.9%
488 trips · avg +1.4 min
-
1,949 trips · avg +1 min
-
1,087 trips · avg +0.9 min
-
Tram 10 Zürich Flughafen, Fracht – Zürich, Bahnhofplatz/HBZürich Flughafen, Fracht – Zürich, Bahnhofplatz/HB 93.9%
411 trips · avg +1 min
-
1,949 trips · avg +0.9 min
-
1,511 trips · avg +0.9 min
-
Tram 11 Zürich, Central – Zürich Tiefenbrunnen, BahnhofZürich, Central – Zürich Tiefenbrunnen, Bahnhof 96.7%
487 trips · avg +0.8 min
Most punctual busy lines
-
Tram 20 Killwangen, Bahnhof – Zürich Altstetten, BahnhofKillwangen, Bahnhof – Zürich Altstetten, Bahnhof 97.7%
1,073 trips · avg +0.9 min
-
Tram 11 Zürich, Central – Zürich Tiefenbrunnen, BahnhofZürich, Central – Zürich Tiefenbrunnen, Bahnhof 96.7%
487 trips · avg +0.8 min
-
1,511 trips · avg +0.9 min
-
1,949 trips · avg +0.9 min
-
Tram 10 Zürich Flughafen, Fracht – Zürich, Bahnhofplatz/HBZürich Flughafen, Fracht – Zürich, Bahnhofplatz/HB 93.9%
411 trips · avg +1 min
-
1,087 trips · avg +0.9 min
-
1,949 trips · avg +1 min
-
Tram 7 Stettbach, Bahnhof – Zürich, WollishoferplatzStettbach, Bahnhof – Zürich, Wollishoferplatz 88.9%
488 trips · avg +1.4 min
Least punctual busy lines
-
Bus 101 Cormondrèche, Grand'Rue – Marin-Epagnier, gareCormondrèche, Grand'Rue – Marin-Epagnier, gare 20.9%
1,063 trips · avg +5.6 min
-
767 trips · avg +4.2 min
-
516 trips · avg +4.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 43.5%
942 trips · avg +4.9 min
-
380 trips · avg +3.6 min
-
424 trips · avg +3.7 min
-
1,171 trips · avg +3.1 min
-
Bus 109 Neuchâtel, Place Pury – Neuchâtel, Trois-ChênesNeuchâtel, Place Pury – Neuchâtel, Trois-Chênes 54.4%
1,326 trips · avg +2.9 min
Show 17 more
-
Bus 72 Biel/Bienne, Bahnhof/Gare – Meinisberg, RüttiBiel/Bienne, Bahnhof/Gare – Meinisberg, Rütti 54.5%
561 trips · avg +4.6 min
-
Bus 33 Prilly, Mont-Goulin – St-Sulpice VD, Venoge nordPrilly, Mont-Goulin – St-Sulpice VD, Venoge nord 58.2%
1,074 trips · avg +3.5 min
-
970 trips · avg +3.2 min
-
Bus 66 Thoiry, Centre commercial – Genève-Aéroport, TerminalThoiry, Centre commercial – Genève-Aéroport, Terminal 60.3%
360 trips · avg +9.8 min
-
Bus 50 Basel EuroAirport, Verwaltung – Basel, Bahnhof SBBBasel EuroAirport, Verwaltung – Basel, Bahnhof SBB 61.7%
441 trips · avg +2.6 min
-
Bus 107 Neuchâtel, Place Pury – Hauterive NE, posteNeuchâtel, Place Pury – Hauterive NE, poste 62.7%
284 trips · avg +2.7 min
-
768 trips · avg +2.7 min
-
768 trips · avg +4 min
-
496 trips · avg +2.4 min
-
900 trips · avg +2.5 min
-
Bus 61 Wallisellen, Glatt (Bus) – Zürich, MühlackerWallisellen, Glatt (Bus) – Zürich, Mühlacker 65.8%
1,064 trips · avg +2.5 min
-
1,138 trips · avg +2.6 min
-
465 trips · avg +3.7 min
-
686 trips · avg +2.7 min
-
1,070 trips · avg +2.5 min
-
Bus 1 Biel/Bienne, Löhre/Mauchamp – Biel/Bienne, Stadien/StadesBiel/Bienne, Löhre/Mauchamp – Biel/Bienne, Stadien/Stades 67%
1,510 trips · avg +2.7 min
-
Bus 16 Lausanne, Grand Vennes – Lausanne, Provence nordLausanne, Grand Vennes – Lausanne, Provence nord 67%
1,053 trips · avg +2.4 min
Most punctual busy lines
-
1,314 trips · avg +0.4 min
-
1,290 trips · avg +0.9 min
-
Bus 1 Schaffhausen, Waldfriedhof – Neuhausen, HerbstäckerSchaffhausen, Waldfriedhof – Neuhausen, Herbstäcker 97.6%
1,321 trips · avg +0.8 min
-
1,262 trips · avg +0.8 min
-
Bus 101 Bern, Hauptbahnhof – Hinterkappelen, SchlossmattBern, Hauptbahnhof – Hinterkappelen, Schlossmatt 96.3%
1,537 trips · avg +0.6 min
-
1,539 trips · avg +0.8 min
-
1,268 trips · avg +0.9 min
-
1,610 trips · avg +1 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) 28.6%
931 trips · avg +5.7 min
-
866 trips · avg +4.2 min
-
312 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) 99.4%
314 trips · avg +0.4 min
Least punctual operators
-
Mouettes genevoises 52%
2,423 trips · avg +3.8 min
-
Busbetrieb Rapperswil-Eschenbach-Rüti ZH 66.9%
1,902 trips · avg +2.5 min
-
Lugano-Ponte Tresa 71.8%
816 trips · avg +2.2 min
-
Verkehrsbetriebe Biel 73.2%
9,460 trips · avg +2.4 min
-
VBL 73.5%
25,710 trips · avg +2.4 min
-
Automobil Rottal 73.8%
2,938 trips · avg +2.4 min
-
Verkehrsbetrieb LIECHTENSTEINmobil 75.1%
5,513 trips · avg +2.3 min
-
TPL 77.3%
10,470 trips · avg +1.9 min
Show 17 more
-
BVB 77.8%
33,890 trips · avg +2 min
-
TPG 78%
56,144 trips · avg +1.9 min
-
Sierre-Montana-Crans 78.1%
1,955 trips · avg +2.1 min
-
Auto AG Rothenburg 79.5%
4,922 trips · avg +2.2 min
-
Bus Nyon-Prangins 79.9%
2,175 trips · avg +1.9 min
-
Automobildienste Aare Seeland mobil 80.4%
4,078 trips · avg +2 min
-
Transports Publics Neuchâtelois 80.5%
17,022 trips · avg +1.7 min
-
Verkehrsbetrieb der Landschaft Davos 80.8%
2,759 trips · avg +1.6 min
-
TPF 80.8%
21,345 trips · avg +1.8 min
-
Regionale Verkehrsbetriebe Baden-Wettingen 81.3%
7,930 trips · avg +1.9 min
-
Bus und Service 82%
10,026 trips · avg +1.7 min
-
Busbetrieb Solothurn und Umgebung 82.3%
4,670 trips · avg +1.5 min
-
Busbetrieb Aarau 82.5%
6,335 trips · avg +1.8 min
-
Matterhorn Gotthard Bahn 82.7%
2,392 trips · avg +1.5 min
-
tl 83.3%
45,171 trips · avg +1.6 min
-
Stadtbus Frauenfeld 85.2%
3,521 trips · avg +1.7 min
-
VBZ 85.2%
109,417 trips · avg +1.5 min
Most punctual operators
-
Aare Seeland mobil 99.4%
2,226 trips · avg +0.3 min
-
Regionalverkehr Bern-Solothurn 99.1%
3,931 trips · avg +0.3 min
-
Sihltal-Zürich-Uetliberg-Bahn 99%
2,030 trips · avg +0.6 min
-
THURBO 98.7%
7,722 trips · avg +0.3 min
-
Zentralbahn 98.9%
2,423 trips · avg +0.3 min
-
Schweizerische Südostbahn 98.4%
3,539 trips · avg +0.4 min
-
Appenzeller Bahnen 98.2%
2,283 trips · avg +0.4 min
-
Auto AG Schwyz 97.3%
5,000 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 96%
11,815 departures · avg +1 min
-
Bern 97%
7,217 departures · avg +0.9 min
-
Zürich Oerlikon 96.9%
6,308 departures · avg +1 min
-
Zürich Stadelhofen 93.2%
4,924 departures · avg +1.2 min
-
Winterthur 98.5%
4,857 departures · avg +0.7 min
-
Zürich Hardbrücke 86.7%
4,793 departures · avg +2 min
-
Olten 94.3%
4,196 departures · avg +1.2 min
-
Aarau 95.9%
3,610 departures · avg +0.9 min
-
St. Gallen 96.9%
3,574 departures · avg +0.8 min
-
Lausanne 87.5%
3,497 departures · avg +1.8 min
-
Renens VD 90.6%
3,451 departures · avg +1.4 min
-
Luzern 97.9%
3,243 departures · avg +0.8 min
-
Bern, Bahnhof 94.6%
19,708 departures · avg +1.3 min
-
Genève, gare Cornavin 79.4%
17,545 departures · avg +1.8 min
-
Genève, Bel-Air 81.3%
17,247 departures · avg +1.7 min
-
Luzern, Kantonalbank 79.1%
16,267 departures · avg +2.1 min
-
Bern, Hirschengraben 91.2%
15,050 departures · avg +1.7 min
-
Zürich, Central 92.2%
14,989 departures · avg +1.2 min
-
Bern, Zytglogge 91.6%
14,447 departures · avg +1.7 min
-
Lausanne, Bel-Air 70.8%
14,174 departures · avg +2.4 min
-
Luzern, Bahnhof 87.4%
14,151 departures · avg +1.6 min
-
Zürich, Bellevue 92.6%
13,974 departures · avg +1.2 min
-
Basel, Bahnhof SBB 87.5%
13,972 departures · avg +1.6 min
-
St. Gallen, Bahnhof 88.7%
13,232 departures · avg +1.4 min
-
Magliaso Paese 55%
816 departures · avg +3.6 min
-
Agno 55.8%
816 departures · avg +3.6 min
-
Magliaso 57.7%
816 departures · avg +3.4 min
-
Serocca 58.3%
816 departures · avg +3.3 min
-
Bioggio Molinazzo 59.4%
816 departures · avg +3.2 min
-
Bioggio 64.6%
816 departures · avg +2.8 min
-
Caslano 65.7%
816 departures · avg +3 min
-
Sorengo Laghetto 69.2%
816 departures · avg +2.8 min
-
Cappella-Agnuzzo 71.7%
816 departures · avg +2.5 min
-
Sorengo 71.9%
816 departures · avg +2.5 min
-
Täsch 74%
822 departures · avg +2.4 min
-
1,026 departures · avg +1.6 min
Largest delays
- Bus 50 Luzern, Bahnhof – Menziken, Bahnhof Menziken, Bahnhofand 5 more trips of this line +340 min
- Bus 9 Corminboeuf, Jo-Siffert +242 min
- Bus 702 Tolochenaz, Les Saux – Bussigny, gare sud Tolochenaz, Les Saux +236 min
- TGV Zürich HB – Mulhouse Paris Gare de Lyon +180 min
- Bus 1 Ebikon, Fildern – Obernau, Dorf Obernau, Dorfand 1 more trips of this line +169 min
- Bus 120 Lavey-les-Bains, Et. Thermal – Villeneuve VD, gare Lavey-les-Bains, Et. Thermaland 3 more trips of this line +168 min
- Bus 705 Lonay, parc – Ecublens VD, EPFL Piccard Ecublens VD, EPFL Piccard +158 min
- ICE Basel Bad Bfand 10 more trips of this line +153 min
- ICE Basel Bad Bfand 6 more trips of this line +142 min
- Bus 893 Wald ZH, Bahnhof – Wald ZH, Bahnhof Wald ZH, Bahnhofand 2 more trips of this line +136 min
- NJ Feldkirch – Zürich HB Zürich HBand 3 more trips of this line +135 min
- Bus 627 Oberägeri, Station +134 min
- EC Bregenz – Zürich HB Basel SBBand 3 more trips of this line +133 min
- Tram 1 Basel, Bahnhof SBB +126 min
- Bus 300 Altstätten SG, Stadt – Buchs SG, Bahnhof Altstätten SG, Stadtand 1 more trips of this line +119 min
›Probably errors in the feed (3)
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 1 more trips of this line +503 min
- Tram 9 Wabern, Tram-Endstation – Bern Wankdorf, Bahnhof Bern Wankdorf, Bahnhofand 7 more trips of this line +438 min
- Bus 492 Regensdorf-Watt, Bahnhof +380 min