Punctuality of Swiss public transportWeek 526 Jan – 1 Feb 2026
88.6% of 973,966 trips were on time. The best day was Sunday 1 February with 92.7%, the worst Wednesday 28 January with 86.7%. Of the busy lines, Bus 91 Zollikerberg, Station – Zürich, Buchholz had the lowest share on time: 43.2%.
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.6%
−0.1 ptsWeek before: 88.7% · 973,966 trips with live data
Average delay
+1.3 min
Canceled trips
3,280
0.3% of the trips
Day by day
The share on time of each day. A day opens its page.
- 95%
- Average: 88.6%
- Best day
- Sun 1 Feb · 92.7%
- Worst day
- Wed 28 Jan · 86.7%
- Worst hour
- Wed 17:00–18:00 · 68.3%
By mode
-
Train 94.7%
98,398 trips · avg +0.8 min
-
Tram 84.7%
76,436 trips · avg +1.6 min
-
Bus 88.2%
795,157 trips · avg +1.3 min
-
Metro 97.9%
1,979 trips · avg +1 min
-
Boat 75.2%
1,996 trips · avg +2.2 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
-
380 trips · avg +3.6 min
-
1,043 trips · avg +3.3 min
-
405 trips · avg +3.6 min
-
1,171 trips · avg +3.1 min
-
300 trips · avg +3.1 min
-
Bus 109 Neuchâtel, Place Pury – Neuchâtel, Trois-ChênesNeuchâtel, Place Pury – Neuchâtel, Trois-Chênes 57.4%
1,367 trips · avg +3 min
-
613 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) 59.7%
932 trips · avg +3.3 min
Show 17 more
-
1,054 trips · avg +3.8 min
-
384 trips · avg +10.4 min
-
362 trips · avg +2.4 min
-
1,188 trips · avg +2.8 min
-
Bus 301 Davos Glaris, Ortolfi – Davos Laret, LandhausDavos Glaris, Ortolfi – Davos Laret, Landhaus 63.7%
946 trips · avg +2.6 min
-
572 trips · avg +2.5 min
-
937 trips · avg +2.5 min
-
1,901 trips · avg +2.8 min
-
Bus 9 Vernier, Lignon Tours – Thônex, Belle-Terre Pl. AraireVernier, Lignon Tours – Thônex, Belle-Terre Pl. Araire 65.1%
1,352 trips · avg +3 min
-
1,494 trips · avg +2.5 min
-
517 trips · avg +3 min
-
Bus 33 Prilly, Mont-Goulin – St-Sulpice VD, Venoge nordPrilly, Mont-Goulin – St-Sulpice VD, Venoge nord 67.8%
1,073 trips · avg +2.7 min
-
1,019 trips · avg +2.5 min
-
Bus 50 Basel EuroAirport, Verwaltung – Basel, Bahnhof SBBBasel EuroAirport, Verwaltung – Basel, Bahnhof SBB 68.5%
441 trips · avg +2.5 min
-
496 trips · avg +2.3 min
-
615 trips · avg +2.6 min
-
525 trips · avg +2.9 min
Most punctual busy lines
-
1,545 trips · avg +0.5 min
-
2,049 trips · avg +0.7 min
-
1,979 trips · avg +1 min
-
1,849 trips · avg +0.6 min
-
1,956 trips · avg +0.8 min
-
1,512 trips · avg +0.9 min
-
1,585 trips · avg +0.9 min
-
Bus 3 Winterthur, Oberseen – Winterthur, RosenbergWinterthur, Oberseen – Winterthur, Rosenberg 95.9%
1,839 trips · avg +0.7 min
Least punctual busy lines
-
384 trips · avg +10.4 min
-
803 trips · avg +1.2 min
-
836 trips · avg +1 min
-
329 trips · avg +1.2 min
-
367 trips · avg +1.5 min
-
308 trips · avg +0.7 min
-
587 trips · avg +1.2 min
-
428 trips · avg +1.4 min
Show 17 more
-
552 trips · avg +0.8 min
-
851 trips · avg +1.8 min
-
591 trips · avg +0.7 min
-
604 trips · avg +0.9 min
-
459 trips · avg +0.8 min
-
593 trips · avg +1 min
-
808 trips · avg +1 min
-
585 trips · avg +0.9 min
-
496 trips · avg +0.7 min
-
470 trips · avg +0.8 min
-
615 trips · avg +0.7 min
-
547 trips · avg +0.7 min
-
326 trips · avg +0.9 min
-
594 trips · avg +0.6 min
-
281 trips · avg +0.7 min
-
494 trips · avg +1.1 min
-
371 trips · avg +0.8 min
Most punctual busy lines
-
406 trips · avg +0 min
-
460 trips · avg +0.2 min
-
546 trips · avg +0.2 min
-
1,002 trips · avg +0.2 min
-
531 trips · avg +0.2 min
-
541 trips · avg +0.3 min
-
498 trips · avg +0.4 min
-
1,157 trips · avg +0.3 min
Least punctual busy lines
-
Tram 14 Basel, Dreirosenbrücke – Pratteln, SchlossstrasseBasel, Dreirosenbrücke – Pratteln, Schlossstrasse 70.8%
1,888 trips · avg +2.5 min
-
1,963 trips · avg +1.7 min
-
353 trips · avg +2.1 min
-
1,902 trips · avg +2.3 min
-
Tram 8 Bern, Saali – Bern Brünnen Westside, BahnhofBern, Saali – Bern Brünnen Westside, Bahnhof 78.6%
533 trips · avg +1.9 min
-
654 trips · avg +1.9 min
-
1,820 trips · avg +2 min
-
2,675 trips · avg +1.8 min
Show 17 more
-
2,043 trips · avg +1.8 min
-
1,822 trips · avg +1.8 min
-
Tram 9 Wabern, Tram-Endstation – Bern Wankdorf, BahnhofWabern, Tram-Endstation – Bern Wankdorf, Bahnhof 85.5%
2,290 trips · avg +1.9 min
-
1,965 trips · avg +1.4 min
-
2,328 trips · avg +1.5 min
-
1,965 trips · avg +1.7 min
-
2,001 trips · avg +1.4 min
-
Tram 10 Zürich Flughafen, Fracht – Zürich, Bahnhofplatz/HBZürich Flughafen, Fracht – Zürich, Bahnhofplatz/HB 89.1%
411 trips · avg +1.2 min
-
2,008 trips · avg +1.3 min
-
Tram 51 Zürich Altstetten, Bahnhof N – Zürich, SeebachZürich Altstetten, Bahnhof N – Zürich, Seebach 90%
2,055 trips · avg +1.3 min
-
Tram 2 Binningen, Kronenplatz – Basel, Badischer BahnhofBinningen, Kronenplatz – Basel, Badischer Bahnhof 90.3%
464 trips · avg +1.5 min
-
Tram 7 Stettbach, Bahnhof – Zürich, WollishoferplatzStettbach, Bahnhof – Zürich, Wollishoferplatz 92%
486 trips · avg +1.2 min
-
1,081 trips · avg +0.9 min
-
1,961 trips · avg +0.8 min
-
Tram 11 Zürich, Central – Zürich Tiefenbrunnen, BahnhofZürich, Central – Zürich Tiefenbrunnen, Bahnhof 94.7%
487 trips · avg +0.9 min
-
1,512 trips · avg +0.9 min
-
1,956 trips · avg +0.8 min
Most punctual busy lines
-
957 trips · avg +0.3 min
-
Tram 20 Killwangen, Bahnhof – Zürich Altstetten, BahnhofKillwangen, Bahnhof – Zürich Altstetten, Bahnhof 96.5%
1,081 trips · avg +0.9 min
-
1,956 trips · avg +0.8 min
-
1,512 trips · avg +0.9 min
-
Tram 11 Zürich, Central – Zürich Tiefenbrunnen, BahnhofZürich, Central – Zürich Tiefenbrunnen, Bahnhof 94.7%
487 trips · avg +0.9 min
-
1,961 trips · avg +0.8 min
-
1,081 trips · avg +0.9 min
-
Tram 7 Stettbach, Bahnhof – Zürich, WollishoferplatzStettbach, Bahnhof – Zürich, Wollishoferplatz 92%
486 trips · avg +1.2 min
Least punctual busy lines
-
380 trips · avg +3.6 min
-
1,043 trips · avg +3.3 min
-
405 trips · avg +3.6 min
-
1,171 trips · avg +3.1 min
-
300 trips · avg +3.1 min
-
Bus 109 Neuchâtel, Place Pury – Neuchâtel, Trois-ChênesNeuchâtel, Place Pury – Neuchâtel, Trois-Chênes 57.4%
1,367 trips · avg +3 min
-
613 trips · avg +3.4 min
-
1,054 trips · avg +3.8 min
Show 17 more
-
362 trips · avg +2.4 min
-
1,188 trips · avg +2.8 min
-
Bus 301 Davos Glaris, Ortolfi – Davos Laret, LandhausDavos Glaris, Ortolfi – Davos Laret, Landhaus 63.7%
946 trips · avg +2.6 min
-
572 trips · avg +2.5 min
-
937 trips · avg +2.5 min
-
1,901 trips · avg +2.8 min
-
Bus 9 Vernier, Lignon Tours – Thônex, Belle-Terre Pl. AraireVernier, Lignon Tours – Thônex, Belle-Terre Pl. Araire 65.1%
1,352 trips · avg +3 min
-
1,494 trips · avg +2.5 min
-
517 trips · avg +3 min
-
Bus 33 Prilly, Mont-Goulin – St-Sulpice VD, Venoge nordPrilly, Mont-Goulin – St-Sulpice VD, Venoge nord 67.8%
1,073 trips · avg +2.7 min
-
1,019 trips · avg +2.5 min
-
Bus 50 Basel EuroAirport, Verwaltung – Basel, Bahnhof SBBBasel EuroAirport, Verwaltung – Basel, Bahnhof SBB 68.5%
441 trips · avg +2.5 min
-
496 trips · avg +2.3 min
-
615 trips · avg +2.6 min
-
525 trips · avg +2.9 min
-
459 trips · avg +3 min
-
Bus 33 Zürich, Triemli – Zürich Tiefenbrunnen, BahnhofZürich, Triemli – Zürich Tiefenbrunnen, Bahnhof 69.8%
2,023 trips · avg +2.3 min
Most punctual busy lines
-
1,279 trips · avg +0.7 min
-
1,545 trips · avg +0.5 min
-
Bus 6 St. Gallen, Bach St. Georgen – St. Gallen, HeiligkreuzSt. Gallen, Bach St. Georgen – St. Gallen, Heiligkreuz 98.1%
1,297 trips · avg +0.3 min
-
Bus 5 St. Gallen, Riethüsli – St. Gallen, RotmontenSt. Gallen, Riethüsli – St. Gallen, Rotmonten 98%
1,297 trips · avg +0.7 min
-
Bus 101 Bern, Hauptbahnhof – Hinterkappelen, SchlossmattBern, Hauptbahnhof – Hinterkappelen, Schlossmatt 97.3%
1,412 trips · avg +0.5 min
-
Bus 1 Schaffhausen, Waldfriedhof – Neuhausen, HerbstäckerSchaffhausen, Waldfriedhof – Neuhausen, Herbstäcker 97.2%
1,325 trips · avg +0.8 min
-
1,849 trips · avg +0.6 min
-
Bus 3 Schaffhausen, Sommerwies – Schaffhausen, KrummackerSchaffhausen, Sommerwies – Schaffhausen, Krummacker 96.9%
1,275 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) 59.7%
932 trips · avg +3.3 min
-
448 trips · avg +1.9 min
-
314 trips · avg +1.2 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%
302 trips · avg +0.7 min
Least punctual operators
-
VBL 75%
25,759 trips · avg +2.2 min
-
Automobil Rottal 75%
2,917 trips · avg +2.1 min
-
Mouettes genevoises 75.2%
1,996 trips · avg +2.2 min
-
Verkehrsbetrieb der Landschaft Davos 75.3%
2,757 trips · avg +1.9 min
-
BVB 75.6%
31,326 trips · avg +2.2 min
-
TPG 75.9%
60,603 trips · avg +2.2 min
-
Verkehrsbetrieb LIECHTENSTEINmobil 75.9%
5,214 trips · avg +2.1 min
-
Transports Publics Neuchâtelois 77.6%
17,410 trips · avg +1.9 min
Show 17 more
-
Busbetrieb Rapperswil-Eschenbach-Rüti ZH 77.7%
1,903 trips · avg +1.7 min
-
Bus und Service 79.1%
10,071 trips · avg +2.2 min
-
Auto AG Rothenburg 79.4%
4,971 trips · avg +2 min
-
TPL 79.5%
10,472 trips · avg +1.7 min
-
Autolinea Mendrisiense 80.3%
2,327 trips · avg +1.6 min
-
Bus Nyon-Prangins 82.5%
2,156 trips · avg +1.6 min
-
Busbetrieb Solothurn und Umgebung 82.6%
4,666 trips · avg +1.5 min
-
Lugano-Ponte Tresa 82.7%
803 trips · avg +1.2 min
-
Regionale Verkehrsbetriebe Baden-Wettingen 83.5%
9,100 trips · avg +1.5 min
-
Montreux-Oberland Bernois 84.8%
951 trips · avg +1.4 min
-
Sierre-Montana-Crans 85.1%
1,956 trips · avg +1.6 min
-
TPF 85.6%
26,156 trips · avg +2.6 min
-
VBZ 86.1%
108,384 trips · avg +1.5 min
-
tl 87.4%
45,024 trips · avg +1.2 min
-
AFA Bus 87.5%
1,794 trips · avg +1.1 min
-
Transports publics Vevey-Montreux-Chillon-Villeneuve 87.6%
7,601 trips · avg +1.1 min
-
Transports Publics du Chablais 87.9%
7,928 trips · avg +1.2 min
Most punctual operators
-
Aare Seeland mobil 99%
2,225 trips · avg +0.4 min
-
Zentralbahn 98.4%
2,439 trips · avg +0.3 min
-
THURBO 98.1%
7,805 trips · avg +0.4 min
-
Regionalverkehr Bern-Solothurn 97.9%
3,922 trips · avg +0.4 min
-
Verkehrsbetriebe Kreuzlingen 97.8%
3,173 trips · avg +0.8 min
-
BLS 97.4%
10,524 trips · avg +0.6 min
-
Appenzeller Bahnen 97.6%
2,292 trips · avg +0.4 min
-
Verkehrsbetriebe Herisau 97.6%
1,910 trips · avg +0.7 min
Stations
The share of the departures less than 3 minutes late. A train station has departures of trains.
-
Zürich HB 93.7%
11,594 departures · avg +1.1 min
-
Bern 96.8%
7,023 departures · avg +1.1 min
-
Zürich Oerlikon 94.1%
6,081 departures · avg +1.1 min
-
Zürich Stadelhofen 89.4%
4,903 departures · avg +1.4 min
-
Winterthur 96.1%
4,765 departures · avg +1.2 min
-
Zürich Hardbrücke 82.2%
4,642 departures · avg +2.1 min
-
Olten 93.2%
4,199 departures · avg +1.5 min
-
Aarau 95.1%
3,629 departures · avg +0.9 min
-
St. Gallen 94.1%
3,612 departures · avg +1.3 min
-
Lausanne 91%
3,508 departures · avg +1.4 min
-
Renens VD 92.1%
3,443 departures · avg +1.2 min
-
Luzern 96.8%
3,223 departures · avg +0.9 min
-
Genève, gare Cornavin 77.4%
19,981 departures · avg +2 min
-
Bern, Bahnhof 95.2%
19,786 departures · avg +1.1 min
-
Genève, Bel-Air 80.7%
19,313 departures · avg +1.8 min
-
Luzern, Kantonalbank 80.8%
16,310 departures · avg +1.9 min
-
Bern, Hirschengraben 91.1%
15,062 departures · avg +1.5 min
-
Zürich, Central 93.7%
14,844 departures · avg +1.1 min
-
14,819 departures · avg +1.9 min
-
Bern, Zytglogge 92.9%
14,452 departures · avg +1.4 min
-
Luzern, Bahnhof 89.4%
14,224 departures · avg +1.3 min
-
Lausanne, Bel-Air 76.1%
14,161 departures · avg +2.1 min
-
Zürich, Bellevue 92.9%
13,817 departures · avg +1.2 min
-
Basel, Bahnhof SBB 87.7%
13,721 departures · avg +1.6 min
-
Magliaso Paese 70.4%
803 departures · avg +2.5 min
-
Agno 72.1%
803 departures · avg +2.4 min
-
Magliaso 73.2%
803 departures · avg +2.3 min
-
Oberentfelden Engelplatz 73.4%
1,026 departures · avg +1.6 min
-
Muhen Nord 73.5%
1,026 departures · avg +1.6 min
-
Serocca 73.6%
803 departures · avg +2.2 min
-
Bioggio Molinazzo 74.7%
803 departures · avg +2.3 min
-
Zug Chollermüli 75.3%
942 departures · avg +2.3 min
-
Cham Alpenblick 76.2%
948 departures · avg +2.3 min
-
Zug Schutzengel 77.2%
912 departures · avg +2.3 min
-
Martigny 77.9%
1,467 departures · avg +2.1 min
-
Bioggio 78.2%
803 departures · avg +1.8 min
Largest delays
- R36 La Chaux-de-Fonds – Glovelier Le Noirmont +357 min
- Bus 604 Blickensdorf, Dorf – Zug, Bahnhofplatz Zug, Bahnhofplatz +207 min
- EC Bregenz – Zürich HB Basel Bad Bfand 10 more trips of this line +180 min
- ICE Basel Bad Bfand 26 more trips of this line +165 min
- NJ Feldkirch – Zürich HB Zürich HBand 1 more trips of this line +163 min
- Bus 24 Schaffhausen, Bahnhof +157 min
- Bus 9 Schaffhausen, Ebnat – Schaffhausen, Kinepolis Schaffhausen, Ebnatand 7 more trips of this line +151 min
- Bus 6 Genève, Plage – Vernier, village Vernier, village +137 min
- NJ Zürich HBand 1 more trips of this line +133 min
- Bus 61 Ettiswil, Post – Luzern, Bahnhof Luzern, Pilatusplatz +132 min
- Bus 31 Renens VD, gare – St-Sulpice VD, Venoge sud Renens VD, gareand 2 more trips of this line +123 min
- EC Zürich HBand 1 more trips of this line +121 min
- Bus 11 Genève, Jardin Botanique +112 min
- ICE Basel Bad Bfand 3 more trips of this line +105 min
- ICE Basel SBBand 1 more trips of this line +101 min
›Probably errors in the feed (2)
Delays of more than 6 hours. The real-time feed sent them, but they are probably not real.
- Bus 2 Fribourg, Schönberg Dunant – Villars-sur-Glâne, Les Dailles Villars-sur-Glâne, Les Daillesand 1 more trips of this line +5824 min
- Bus 8 Corminboeuf, anc. poste – Marly, piscine Corminboeuf, anc. posteand 2 more trips of this line +394 min