Punctuality of Swiss public transportWeek 102 Mar – 8 Mar 2026
87.6% of 967,555 trips were on time. The best day was Sunday 8 March with 91.3%, the worst Tuesday 3 March with 85.7%. Of the busy lines, M1 Genève-Pâquis (lac) – Genève-Molard (lac) had the lowest share on time: 35%.
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.6%
−0.2 ptsWeek before: 87.8% · 967,555 trips with live data
Average delay
+1.3 min
Canceled trips
2,664
0.3% of the trips
Day by day
The share on time of each day. A day opens its page.
- 95%
- Average: 87.6%
By mode
-
Train 95.3%
98,220 trips · avg +0.7 min
-
Tram 84.5%
76,799 trips · avg +1.6 min
-
Bus 87%
788,131 trips · avg +1.4 min
-
Metro 92.3%
1,914 trips · avg +1.2 min
-
Boat 52.7%
2,491 trips · avg +4 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
-
932 trips · avg +5.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) 39.1%
931 trips · avg +4.9 min
-
986 trips · avg +3.6 min
-
Bus 107 Neuchâtel, Place Pury – Hauterive NE, posteNeuchâtel, Place Pury – Hauterive NE, poste 48.2%
284 trips · avg +3.3 min
-
Bus 109 Neuchâtel, Place Pury – Neuchâtel, Trois-ChênesNeuchâtel, Place Pury – Neuchâtel, Trois-Chênes 50.4%
1,366 trips · avg +3.3 min
-
1,171 trips · avg +3.2 min
-
506 trips · avg +3 min
-
1,499 trips · avg +3.9 min
Show 17 more
-
Tram 8 Basel, Neuweilerstrasse – Weil am Rhein, Bahnhof/ZentrumBasel, Neuweilerstrasse – Weil am Rhein, Bahnhof/Zentrum 58.2%
464 trips · avg +3.5 min
-
414 trips · avg +3.2 min
-
Bus 33 Prilly, Mont-Goulin – St-Sulpice VD, Venoge nordPrilly, Mont-Goulin – St-Sulpice VD, Venoge nord 59.9%
1,076 trips · avg +3.6 min
-
Bus 72 Biel/Bienne, Bahnhof/Gare – Meinisberg, RüttiBiel/Bienne, Bahnhof/Gare – Meinisberg, Rütti 60.4%
561 trips · avg +3 min
-
487 trips · avg +2.8 min
-
1,126 trips · avg +3.3 min
-
798 trips · avg +2.7 min
-
1,058 trips · avg +3.6 min
-
1,912 trips · avg +2.8 min
-
944 trips · avg +3 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 63.9%
943 trips · avg +2.7 min
-
1,122 trips · avg +2.8 min
-
1,139 trips · avg +2.6 min
-
1,027 trips · avg +2.7 min
-
685 trips · avg +3.2 min
-
Bus 50 Basel EuroAirport, Verwaltung – Basel, Bahnhof SBBBasel EuroAirport, Verwaltung – Basel, Bahnhof SBB 66.1%
440 trips · avg +2.5 min
-
1,497 trips · avg +2.7 min
Most punctual busy lines
-
1,535 trips · avg +0.8 min
-
1,951 trips · avg +0.8 min
-
1,513 trips · avg +0.8 min
-
1,927 trips · avg +0.8 min
-
Bus 101 Bern, Hauptbahnhof – Hinterkappelen, SchlossmattBern, Hauptbahnhof – Hinterkappelen, Schlossmatt 95.4%
1,484 trips · avg +0.7 min
-
1,627 trips · avg +1 min
-
2,164 trips · avg +1.1 min
-
Bus 1 Winterthur, Oberwinterthur – Winterthur, TössWinterthur, Oberwinterthur – Winterthur, Töss 94.1%
1,816 trips · avg +0.9 min
Least punctual busy lines
-
798 trips · avg +2.7 min
-
375 trips · avg +6.2 min
-
750 trips · avg +1.3 min
-
377 trips · avg +1.3 min
-
380 trips · avg +1.3 min
-
518 trips · avg +1.4 min
-
507 trips · avg +0.9 min
-
332 trips · avg +0.9 min
Show 17 more
-
466 trips · avg +0.7 min
-
590 trips · avg +1.1 min
-
355 trips · avg +0.8 min
-
497 trips · avg +0.9 min
-
505 trips · avg +0.7 min
-
413 trips · avg +0.7 min
-
348 trips · avg +0.6 min
-
325 trips · avg +0.9 min
-
591 trips · avg +0.6 min
-
497 trips · avg +0.7 min
-
1,927 trips · avg +0.8 min
-
320 trips · avg +0.5 min
-
530 trips · avg +0.9 min
-
287 trips · avg +0.8 min
-
553 trips · avg +0.7 min
-
370 trips · avg +0.4 min
-
381 trips · avg +0.5 min
Most punctual busy lines
-
867 trips · avg +0.2 min
-
1,163 trips · avg +0.2 min
-
532 trips · avg +0.1 min
-
406 trips · avg +0 min
-
474 trips · avg +0.1 min
-
553 trips · avg +0.2 min
-
528 trips · avg +0.2 min
-
392 trips · avg +0.2 min
Least punctual busy lines
-
Tram 8 Basel, Neuweilerstrasse – Weil am Rhein, Bahnhof/ZentrumBasel, Neuweilerstrasse – Weil am Rhein, Bahnhof/Zentrum 58.2%
464 trips · avg +3.5 min
-
Tram 14 Basel, Dreirosenbrücke – Pratteln, SchlossstrasseBasel, Dreirosenbrücke – Pratteln, Schlossstrasse 67%
1,901 trips · avg +2.8 min
-
1,920 trips · avg +2.7 min
-
1,959 trips · avg +1.7 min
-
532 trips · avg +2.6 min
-
1,846 trips · avg +2.1 min
-
Tram 2 Binningen, Kronenplatz – Basel, Badischer BahnhofBinningen, Kronenplatz – Basel, Badischer Bahnhof 77.8%
459 trips · avg +2.5 min
-
1,853 trips · avg +1.9 min
Show 17 more
-
2,039 trips · avg +1.8 min
-
Tram 7 Stettbach, Bahnhof – Zürich, WollishoferplatzStettbach, Bahnhof – Zürich, Wollishoferplatz 82.4%
490 trips · avg +1.8 min
-
2,645 trips · avg +1.9 min
-
352 trips · avg +1.5 min
-
Tram 9 Wabern, Tram-Endstation – Bern Wankdorf, BahnhofWabern, Tram-Endstation – Bern Wankdorf, Bahnhof 84.9%
2,288 trips · avg +1.7 min
-
1,953 trips · avg +1.4 min
-
2,363 trips · avg +1.6 min
-
642 trips · avg +2.4 min
-
2,013 trips · avg +1.8 min
-
1,947 trips · avg +2 min
-
Tram 51 Zürich Altstetten, Bahnhof N – Zürich, SeebachZürich Altstetten, Bahnhof N – Zürich, Seebach 89.9%
2,042 trips · avg +1.3 min
-
2,029 trips · avg +1.2 min
-
1,955 trips · avg +0.9 min
-
Tram 10 Zürich Flughafen, Fracht – Zürich, Bahnhofplatz/HBZürich Flughafen, Fracht – Zürich, Bahnhofplatz/HB 93.7%
411 trips · avg +1 min
-
1,102 trips · avg +0.8 min
-
Tram 11 Zürich, Central – Zürich Tiefenbrunnen, BahnhofZürich, Central – Zürich Tiefenbrunnen, Bahnhof 93.9%
473 trips · avg +1.1 min
-
1,513 trips · avg +0.8 min
Most punctual busy lines
-
974 trips · avg +0.1 min
-
Tram 20 Killwangen, Bahnhof – Zürich Altstetten, BahnhofKillwangen, Bahnhof – Zürich Altstetten, Bahnhof 96.4%
979 trips · avg +0.9 min
-
1,951 trips · avg +0.8 min
-
1,513 trips · avg +0.8 min
-
Tram 11 Zürich, Central – Zürich Tiefenbrunnen, BahnhofZürich, Central – Zürich Tiefenbrunnen, Bahnhof 93.9%
473 trips · avg +1.1 min
-
1,102 trips · avg +0.8 min
-
Tram 10 Zürich Flughafen, Fracht – Zürich, Bahnhofplatz/HBZürich Flughafen, Fracht – Zürich, Bahnhofplatz/HB 93.7%
411 trips · avg +1 min
-
1,955 trips · avg +0.9 min
Least punctual busy lines
-
986 trips · avg +3.6 min
-
Bus 107 Neuchâtel, Place Pury – Hauterive NE, posteNeuchâtel, Place Pury – Hauterive NE, poste 48.2%
284 trips · avg +3.3 min
-
Bus 109 Neuchâtel, Place Pury – Neuchâtel, Trois-ChênesNeuchâtel, Place Pury – Neuchâtel, Trois-Chênes 50.4%
1,366 trips · avg +3.3 min
-
1,171 trips · avg +3.2 min
-
506 trips · avg +3 min
-
1,499 trips · avg +3.9 min
-
414 trips · avg +3.2 min
-
Bus 33 Prilly, Mont-Goulin – St-Sulpice VD, Venoge nordPrilly, Mont-Goulin – St-Sulpice VD, Venoge nord 59.9%
1,076 trips · avg +3.6 min
Show 17 more
-
Bus 72 Biel/Bienne, Bahnhof/Gare – Meinisberg, RüttiBiel/Bienne, Bahnhof/Gare – Meinisberg, Rütti 60.4%
561 trips · avg +3 min
-
487 trips · avg +2.8 min
-
1,126 trips · avg +3.3 min
-
1,058 trips · avg +3.6 min
-
1,912 trips · avg +2.8 min
-
944 trips · avg +3 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 63.9%
943 trips · avg +2.7 min
-
1,122 trips · avg +2.8 min
-
1,139 trips · avg +2.6 min
-
1,027 trips · avg +2.7 min
-
685 trips · avg +3.2 min
-
Bus 50 Basel EuroAirport, Verwaltung – Basel, Bahnhof SBBBasel EuroAirport, Verwaltung – Basel, Bahnhof SBB 66.1%
440 trips · avg +2.5 min
-
1,497 trips · avg +2.7 min
-
Bus 9 Vernier, Lignon Tours – Thônex, Belle-Terre Pl. AraireVernier, Lignon Tours – Thônex, Belle-Terre Pl. Araire 66.9%
1,331 trips · avg +2.3 min
-
Bus 4 Chur, Austrasse – Chur, Seniorenzentrum CadonauChur, Austrasse – Chur, Seniorenzentrum Cadonau 67.4%
1,143 trips · avg +2.4 min
-
1,458 trips · avg +2.6 min
-
Bus 898 Büren an der Aare, Bahnhof – Münchenbuchsee, BahnhofBüren an der Aare, Bahnhof – Münchenbuchsee, Bahnhof 68%
334 trips · avg +2.2 min
Most punctual busy lines
-
1,288 trips · avg +0.6 min
-
1,291 trips · avg +0.9 min
-
Bus 1 Schaffhausen, Waldfriedhof – Neuhausen, HerbstäckerSchaffhausen, Waldfriedhof – Neuhausen, Herbstäcker 97.1%
1,323 trips · avg +0.8 min
-
1,535 trips · avg +0.8 min
-
Bus 6 St. Gallen, Bach St. Georgen – St. Gallen, HeiligkreuzSt. Gallen, Bach St. Georgen – St. Gallen, Heiligkreuz 95.8%
1,298 trips · avg +0.6 min
-
Bus 101 Bern, Hauptbahnhof – Hinterkappelen, SchlossmattBern, Hauptbahnhof – Hinterkappelen, Schlossmatt 95.4%
1,484 trips · avg +0.7 min
-
Bus 3 Schaffhausen, Sommerwies – Schaffhausen, KrummackerSchaffhausen, Sommerwies – Schaffhausen, Krummacker 95.2%
1,274 trips · avg +0.9 min
-
Bus 5 St. Gallen, Riethüsli – St. Gallen, RotmontenSt. Gallen, Riethüsli – St. Gallen, Rotmonten 95.2%
1,307 trips · avg +0.9 min
Least punctual busy lines
-
932 trips · avg +5.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) 39.1%
931 trips · avg +4.9 min
-
314 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.7%
314 trips · avg +0.5 min
Least punctual operators
-
Mouettes genevoises 52.7%
2,491 trips · avg +4 min
-
Lugano-Ponte Tresa 62.3%
798 trips · avg +2.7 min
-
Busbetrieb Rapperswil-Eschenbach-Rüti ZH 68.7%
1,814 trips · avg +2.5 min
-
BVB 72.9%
31,510 trips · avg +2.4 min
-
Transports Publics Neuchâtelois 73.2%
17,418 trips · avg +2.2 min
-
VBL 74.1%
25,524 trips · avg +2.3 min
-
Verkehrsbetriebe Biel 75.6%
9,462 trips · avg +2.1 min
-
Verkehrsbetrieb LIECHTENSTEINmobil 76.4%
5,370 trips · avg +2.1 min
Show 17 more
-
Automobil Rottal 76.6%
2,723 trips · avg +2.1 min
-
Bus Sierrois 77%
1,643 trips · avg +2 min
-
TPG 77.2%
60,648 trips · avg +2 min
-
TPL 77.5%
10,472 trips · avg +1.8 min
-
Auto AG Rothenburg 79.4%
4,859 trips · avg +1.7 min
-
Bus und Service 81.2%
9,408 trips · avg +1.7 min
-
Busbetrieb Aarau 81.7%
6,332 trips · avg +1.8 min
-
Bus Nyon-Prangins 82.1%
2,177 trips · avg +1.6 min
-
Busbetrieb Solothurn und Umgebung 82.8%
4,668 trips · avg +1.6 min
-
Regionale Verkehrsbetriebe Baden-Wettingen 83%
9,098 trips · avg +1.6 min
-
Stadtbus Frauenfeld 83.3%
3,360 trips · avg +1.7 min
-
tl 83.5%
45,458 trips · avg +1.7 min
-
TPF 83.8%
24,447 trips · avg +3.5 min
-
Sierre-Montana-Crans 84.6%
1,906 trips · avg +1.4 min
-
Automobildienste Aare Seeland mobil 85%
4,076 trips · avg +1.4 min
-
VBZ 85.2%
108,881 trips · avg +1.6 min
-
Automobiles MBC 86.2%
7,465 trips · avg +1.4 min
Most punctual operators
-
Regionalverkehr Bern-Solothurn 99.3%
3,944 trips · avg +0.2 min
-
Zentralbahn 99.1%
2,437 trips · avg +0.2 min
-
THURBO 98.1%
7,755 trips · avg +0.4 min
-
Lausanne-Echallens-Bercher 98.8%
831 trips · avg +0.3 min
-
Aare Seeland mobil 97.9%
2,229 trips · avg +0.5 min
-
BLS 97.5%
10,339 trips · avg +0.5 min
-
Appenzeller Bahnen 97.7%
2,282 trips · avg +0.5 min
-
Schweizerische Südostbahn 97.6%
3,528 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.4%
11,879 departures · avg +1 min
-
Bern 97.6%
7,106 departures · avg +0.8 min
-
Zürich Oerlikon 95.6%
6,180 departures · avg +1.1 min
-
Zürich Stadelhofen 94.8%
4,922 departures · avg +1.2 min
-
Winterthur 96%
4,856 departures · avg +1 min
-
Zürich Hardbrücke 87.4%
4,760 departures · avg +2 min
-
Olten 94%
4,195 departures · avg +1.2 min
-
St. Gallen 95.4%
3,604 departures · avg +1 min
-
Aarau 96.2%
3,552 departures · avg +0.9 min
-
Lausanne 91%
3,529 departures · avg +1.4 min
-
Renens VD 92.1%
3,472 departures · avg +1.3 min
-
Luzern 98.6%
3,247 departures · avg +0.7 min
-
Genève, gare Cornavin 79.9%
19,796 departures · avg +2 min
-
Bern, Bahnhof 94.3%
19,786 departures · avg +1.2 min
-
Genève, Bel-Air 80.6%
19,177 departures · avg +2 min
-
Luzern, Kantonalbank 80.5%
16,155 departures · avg +2 min
-
15,044 departures · avg +1.5 min
-
Basel, Schifflände 80.2%
14,968 departures · avg +2.1 min
-
Zürich, Central 92.9%
14,877 departures · avg +1.1 min
-
Bern, Zytglogge 90.7%
14,422 departures · avg +1.5 min
-
Lausanne, Bel-Air 69.7%
14,159 departures · avg +2.7 min
-
Luzern, Bahnhof 88.6%
14,050 departures · avg +1.4 min
-
Basel, Bahnhof SBB 86.2%
13,878 departures · avg +1.8 min
-
Zürich, Bellevue 93.1%
13,870 departures · avg +1.2 min
-
Agno 47.1%
798 departures · avg +4 min
-
Magliaso Paese 47.5%
798 departures · avg +4.1 min
-
Magliaso 49%
798 departures · avg +3.9 min
-
Serocca 50.6%
798 departures · avg +3.8 min
-
Bioggio Molinazzo 52.9%
798 departures · avg +3.6 min
-
Bioggio 58.4%
798 departures · avg +3.2 min
-
Caslano 59%
798 departures · avg +3.3 min
-
Cappella-Agnuzzo 62.3%
798 departures · avg +2.9 min
-
Sorengo Laghetto 63.4%
798 departures · avg +3 min
-
Sorengo 66.3%
798 departures · avg +2.7 min
-
Muhen Nord 73.9%
963 departures · avg +1.6 min
-
963 departures · avg +1.6 min
Largest delays
- Bus 130 Tentlingen, Dorf +247 min
- Bus 321 Stansstad, Bahnhof – Bürgenstock, Residenzen Stansstad, Bahnhof +160 min
- Bus 58 Grand-Saconnex, Tunnel Routier – Grand-Saconnex, Palexpo Grand-Saconnex, Tunnel Routierand 1 more trips of this line +142 min
- Bus 29 Niederwangen, Bahnhofand 1 more trips of this line +127 min
- Bus 3 Lausanne-Gare +124 min
- ICE Basel Bad Bfand 2 more trips of this line +122 min
- ICE Basel Bad Bfand 5 more trips of this line +121 min
- Tram 3 St-Louis, Gare de Saint-Louisand 1 more trips of this line +121 min
- Bus 28 Bern Weissenbühl, Bahnhofand 4 more trips of this line +117 min
- NJ Feldkirch – Zürich HB Zürich HBand 2 more trips of this line +104 min
- Bus 1 Gebenstorf, Reuss – Würenlos, Bettlen Würenlos, Bettlenand 1 more trips of this line +102 min
- S29 Stein am Rhein – Winterthur Winterthur +101 min
- Bus 111 Laufen, Bahnhof – Liestal, Bahnhof Liestal, Bahnhof +100 min
- Tram 1 Basel, Bahnhof SBB – Basel, Dreirosenbrücke Basel, Bahnhof SBBand 2 more trips of this line +96 min
- Bus 24 Grenchen, Flurstrasse Südand 1 more trips of this line +95 min
›Probably errors in the feed (5)
Delays of more than 6 hours. The real-time feed sent them, but they are probably not real.
- Bus 201 Epagny, Les Gottes – Marsens, village Marsens, villageand 6 more trips of this line +4730 min
- Bus 234 Bulle, gare routièreand 1 more trips of this line +4531 min
- Bus 8 Corminboeuf, anc. poste – Marly, piscine Marly, piscineand 2 more trips of this line +4394 min
- Tram 18 Grand-Lancy, Palettes – Meyrin, CERN Meyrin, CERNand 1 more trips of this line +679 min
- Bus 1 Blécheretteand 3 more trips of this line +454 min