Punctuality of Swiss public transportWeek 62 Feb – 8 Feb 2026
89.2% of 966,866 trips were on time. The best day was Sunday 8 February with 93.7%, the worst Thursday 5 February with 87.8%. Of the busy lines, Bus 6 Fribourg, Musy 24 – Fribourg, Guintzet had the lowest share on time: 43.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.
89.2%
+0.6 ptsWeek before: 88.6% · 966,866 trips with live data
Average delay
+1.2 min
Canceled trips
2,300
0.2% of the trips
Day by day
The share on time of each day. A day opens its page.
- 95%
- Average: 89.2%
By mode
-
Train 95.3%
98,925 trips · avg +0.8 min
-
Tram 86.2%
76,989 trips · avg +1.5 min
-
Bus 88.8%
786,482 trips · avg +1.2 min
-
Metro 97.9%
1,978 trips · avg +1 min
-
Boat 63.3%
2,492 trips · avg +3 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
-
1,040 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) 47.2%
932 trips · avg +4.1 min
-
Bus 66 Thoiry, Centre commercial – Genève-Aéroport, TerminalThoiry, Centre commercial – Genève-Aéroport, Terminal 48.2%
336 trips · avg +12.4 min
-
Bus 109 Neuchâtel, Place Pury – Neuchâtel, Trois-ChênesNeuchâtel, Place Pury – Neuchâtel, Trois-Chênes 52.3%
1,359 trips · avg +3.2 min
-
1,171 trips · avg +3 min
-
421 trips · avg +3.2 min
-
932 trips · avg +3.4 min
-
1,195 trips · avg +3.4 min
Show 17 more
-
613 trips · avg +3.2 min
-
1,056 trips · avg +3.5 min
-
Bus 9 Vernier, Lignon Tours – Thônex, Belle-Terre Pl. AraireVernier, Lignon Tours – Thônex, Belle-Terre Pl. Araire 61.5%
1,343 trips · avg +3 min
-
314 trips · avg +2.9 min
-
586 trips · avg +2.7 min
-
314 trips · avg +8.5 min
-
1,906 trips · avg +2.6 min
-
441 trips · avg +2.7 min
-
422 trips · avg +2.3 min
-
576 trips · avg +2.4 min
-
Bus 16 Lausanne, Grand Vennes – Lausanne, Provence nordLausanne, Grand Vennes – Lausanne, Provence nord 66.7%
1,056 trips · avg +2.5 min
-
525 trips · avg +2.8 min
-
800 trips · avg +2.5 min
-
Tram 14 Basel, Dreirosenbrücke – Pratteln, SchlossstrasseBasel, Dreirosenbrücke – Pratteln, Schlossstrasse 67.6%
1,901 trips · avg +2.6 min
-
1,137 trips · avg +2.3 min
-
493 trips · avg +2.2 min
-
Tram 8 Basel, Neuweilerstrasse – Weil am Rhein, Bahnhof/ZentrumBasel, Neuweilerstrasse – Weil am Rhein, Bahnhof/Zentrum 68.3%
464 trips · avg +2.7 min
Most punctual busy lines
-
Bus 3 Winterthur, Oberseen – Winterthur, RosenbergWinterthur, Oberseen – Winterthur, Rosenberg 98.6%
1,847 trips · avg +0.4 min
-
1,862 trips · avg +0.4 min
-
2,048 trips · avg +0.6 min
-
1,978 trips · avg +1 min
-
Bus 1 Winterthur, Oberwinterthur – Winterthur, TössWinterthur, Oberwinterthur – Winterthur, Töss 97.7%
1,849 trips · avg +0.7 min
-
1,548 trips · avg +0.5 min
-
2,370 trips · avg +0.9 min
-
1,627 trips · avg +0.8 min
Least punctual busy lines
-
314 trips · avg +8.5 min
-
800 trips · avg +2.5 min
-
839 trips · avg +3.1 min
-
518 trips · avg +1.5 min
-
311 trips · avg +1.4 min
-
549 trips · avg +0.9 min
-
584 trips · avg +1.1 min
-
284 trips · avg +1.1 min
Show 17 more
-
306 trips · avg +1 min
-
336 trips · avg +0.8 min
-
829 trips · avg +1 min
-
367 trips · avg +1.2 min
-
293 trips · avg +0.6 min
-
352 trips · avg +0.5 min
-
325 trips · avg +0.8 min
-
287 trips · avg +0.6 min
-
385 trips · avg +0.5 min
-
586 trips · avg +1 min
-
352 trips · avg +0.5 min
-
539 trips · avg +0.7 min
-
585 trips · avg +0.7 min
-
377 trips · avg +0.7 min
-
381 trips · avg +0.6 min
-
541 trips · avg +0.6 min
-
751 trips · avg +0.5 min
Most punctual busy lines
-
474 trips · avg +0 min
-
776 trips · avg +0.1 min
-
1,163 trips · avg +0.2 min
-
361 trips · avg +0.1 min
-
530 trips · avg +0.1 min
-
867 trips · avg +0.2 min
-
406 trips · avg +0 min
-
535 trips · avg +0.4 min
Least punctual busy lines
-
Tram 14 Basel, Dreirosenbrücke – Pratteln, SchlossstrasseBasel, Dreirosenbrücke – Pratteln, Schlossstrasse 67.6%
1,901 trips · avg +2.6 min
-
Tram 8 Basel, Neuweilerstrasse – Weil am Rhein, Bahnhof/ZentrumBasel, Neuweilerstrasse – Weil am Rhein, Bahnhof/Zentrum 68.3%
464 trips · avg +2.7 min
-
1,918 trips · avg +2.4 min
-
1,958 trips · avg +1.7 min
-
1,843 trips · avg +2 min
-
351 trips · avg +2.3 min
-
2,643 trips · avg +1.9 min
-
654 trips · avg +1.3 min
Show 17 more
-
1,847 trips · avg +1.6 min
-
Tram 2 Binningen, Kronenplatz – Basel, Badischer BahnhofBinningen, Kronenplatz – Basel, Badischer Bahnhof 86.4%
457 trips · avg +1.6 min
-
1,950 trips · avg +1.3 min
-
2,043 trips · avg +1.4 min
-
Tram 9 Wabern, Tram-Endstation – Bern Wankdorf, BahnhofWabern, Tram-Endstation – Bern Wankdorf, Bahnhof 89.1%
2,296 trips · avg +1.5 min
-
2,019 trips · avg +1.3 min
-
2,386 trips · avg +1.4 min
-
Tram 8 Bern, Saali – Bern Brünnen Westside, BahnhofBern, Saali – Bern Brünnen Westside, Bahnhof 89.7%
533 trips · avg +1.4 min
-
Tram 10 Zürich Flughafen, Fracht – Zürich, Bahnhofplatz/HBZürich Flughafen, Fracht – Zürich, Bahnhofplatz/HB 90.4%
405 trips · avg +1.1 min
-
1,986 trips · avg +1.6 min
-
2,017 trips · avg +1.2 min
-
Tram 51 Zürich Altstetten, Bahnhof N – Zürich, SeebachZürich Altstetten, Bahnhof N – Zürich, Seebach 91.5%
2,048 trips · avg +1.2 min
-
Tram 7 Stettbach, Bahnhof – Zürich, WollishoferplatzStettbach, Bahnhof – Zürich, Wollishoferplatz 92.8%
488 trips · avg +1.2 min
-
1,092 trips · avg +0.9 min
-
1,946 trips · avg +0.8 min
-
Tram 20 Killwangen, Bahnhof – Zürich Altstetten, BahnhofKillwangen, Bahnhof – Zürich Altstetten, Bahnhof 95.3%
1,082 trips · avg +1 min
-
1,943 trips · avg +0.8 min
Most punctual busy lines
-
973 trips · avg +0.2 min
-
Tram 11 Zürich, Central – Zürich Tiefenbrunnen, BahnhofZürich, Central – Zürich Tiefenbrunnen, Bahnhof 96.9%
488 trips · avg +0.7 min
-
1,516 trips · avg +0.8 min
-
1,943 trips · avg +0.8 min
-
Tram 20 Killwangen, Bahnhof – Zürich Altstetten, BahnhofKillwangen, Bahnhof – Zürich Altstetten, Bahnhof 95.3%
1,082 trips · avg +1 min
-
1,946 trips · avg +0.8 min
-
1,092 trips · avg +0.9 min
-
Tram 7 Stettbach, Bahnhof – Zürich, WollishoferplatzStettbach, Bahnhof – Zürich, Wollishoferplatz 92.8%
488 trips · avg +1.2 min
Least punctual busy lines
-
1,040 trips · avg +3.4 min
-
Bus 66 Thoiry, Centre commercial – Genève-Aéroport, TerminalThoiry, Centre commercial – Genève-Aéroport, Terminal 48.2%
336 trips · avg +12.4 min
-
Bus 109 Neuchâtel, Place Pury – Neuchâtel, Trois-ChênesNeuchâtel, Place Pury – Neuchâtel, Trois-Chênes 52.3%
1,359 trips · avg +3.2 min
-
1,171 trips · avg +3 min
-
421 trips · avg +3.2 min
-
1,195 trips · avg +3.4 min
-
613 trips · avg +3.2 min
-
1,056 trips · avg +3.5 min
Show 17 more
-
Bus 9 Vernier, Lignon Tours – Thônex, Belle-Terre Pl. AraireVernier, Lignon Tours – Thônex, Belle-Terre Pl. Araire 61.5%
1,343 trips · avg +3 min
-
314 trips · avg +2.9 min
-
586 trips · avg +2.7 min
-
1,906 trips · avg +2.6 min
-
441 trips · avg +2.7 min
-
422 trips · avg +2.3 min
-
576 trips · avg +2.4 min
-
Bus 16 Lausanne, Grand Vennes – Lausanne, Provence nordLausanne, Grand Vennes – Lausanne, Provence nord 66.7%
1,056 trips · avg +2.5 min
-
525 trips · avg +2.8 min
-
1,137 trips · avg +2.3 min
-
493 trips · avg +2.2 min
-
1,486 trips · avg +2.4 min
-
975 trips · avg +2.8 min
-
Bus 33 Prilly, Mont-Goulin – St-Sulpice VD, Venoge nordPrilly, Mont-Goulin – St-Sulpice VD, Venoge nord 69.5%
1,077 trips · avg +2.6 min
-
Bus 50 Basel EuroAirport, Verwaltung – Basel, Bahnhof SBBBasel EuroAirport, Verwaltung – Basel, Bahnhof SBB 70.1%
441 trips · avg +2.4 min
-
695 trips · avg +2.8 min
-
770 trips · avg +2.9 min
Most punctual busy lines
-
1,291 trips · avg +0.7 min
-
Bus 3 Winterthur, Oberseen – Winterthur, RosenbergWinterthur, Oberseen – Winterthur, Rosenberg 98.6%
1,847 trips · avg +0.4 min
-
1,862 trips · avg +0.4 min
-
Bus 1 Schaffhausen, Waldfriedhof – Neuhausen, HerbstäckerSchaffhausen, Waldfriedhof – Neuhausen, Herbstäcker 98.3%
1,323 trips · avg +0.8 min
-
Bus 101 Bern, Hauptbahnhof – Hinterkappelen, SchlossmattBern, Hauptbahnhof – Hinterkappelen, Schlossmatt 98.1%
1,388 trips · avg +0.4 min
-
1,289 trips · avg +0.6 min
-
Bus 1 Winterthur, Oberwinterthur – Winterthur, TössWinterthur, Oberwinterthur – Winterthur, Töss 97.7%
1,849 trips · avg +0.7 min
-
1,548 trips · avg +0.5 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) 47.2%
932 trips · avg +4.1 min
-
932 trips · avg +3.4 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) 98.7%
314 trips · avg +0.6 min
Least punctual operators
-
Mouettes genevoises 63.3%
2,492 trips · avg +3 min
-
Lugano-Ponte Tresa 66.9%
800 trips · avg +2.5 min
-
Busbetrieb Rapperswil-Eschenbach-Rüti ZH 68.6%
1,792 trips · avg +2.4 min
-
Verkehrsbetrieb LIECHTENSTEINmobil 74.6%
4,717 trips · avg +2.2 min
-
BVB 75.3%
31,498 trips · avg +2.2 min
-
VBL 76.4%
25,691 trips · avg +2.2 min
-
TPG 76.7%
60,863 trips · avg +2.1 min
-
Automobil Rottal 77%
2,899 trips · avg +2 min
Show 17 more
-
TPL 77.9%
10,472 trips · avg +1.9 min
-
Transports Publics Neuchâtelois 78%
17,378 trips · avg +2 min
-
Bus und Service 79%
10,135 trips · avg +2 min
-
Auto AG Rothenburg 79.3%
4,901 trips · avg +1.8 min
-
Bus Nyon-Prangins 81.8%
2,201 trips · avg +1.6 min
-
TPF 85.5%
26,154 trips · avg +1.3 min
-
Montreux-Oberland Bernois 85.7%
953 trips · avg +1.4 min
-
Bamert Bus 86.5%
1,021 trips · avg +1.4 min
-
Stadtbus Frauenfeld 86.6%
3,334 trips · avg +1.5 min
-
Verkehrsbetrieb der Landschaft Davos 87%
2,753 trips · avg +1.1 min
-
Lausanne-Echallens-Bercher 87%
839 trips · avg +3.1 min
-
Regiobus Gossau SG 87.2%
3,431 trips · avg +1.3 min
-
Transports Publics du Chablais 87.4%
7,608 trips · avg +1.2 min
-
VBZ 87.5%
108,746 trips · avg +1.4 min
-
Autolinee Regionali Luganesi 87.5%
1,421 trips · avg +1.6 min
-
Bus Sierrois 87.6%
1,777 trips · avg +1.4 min
-
Autolinee Bleniesi 87.7%
1,084 trips · avg +1.3 min
Most punctual operators
-
Regionalverkehr Bern-Solothurn 99.7%
3,946 trips · avg +0.2 min
-
THURBO 98.6%
7,810 trips · avg +0.3 min
-
Aare Seeland mobil 98.8%
2,230 trips · avg +0.3 min
-
Schweizerische Südostbahn 98.7%
3,536 trips · avg +0.4 min
-
Zentralbahn 98.4%
2,439 trips · avg +0.3 min
-
Stadtbus Winterthur 98%
12,874 trips · avg +0.5 min
-
BLS 97.6%
10,519 trips · avg +0.5 min
-
Appenzeller Bahnen 97.9%
2,294 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%
11,805 departures · avg +1 min
-
Bern 97.3%
7,073 departures · avg +0.9 min
-
Zürich Oerlikon 96.1%
6,028 departures · avg +1 min
-
Zürich Stadelhofen 93.3%
4,901 departures · avg +1.2 min
-
Winterthur 97.1%
4,832 departures · avg +1 min
-
Zürich Hardbrücke 86.9%
4,608 departures · avg +1.9 min
-
Olten 95.1%
4,187 departures · avg +1.1 min
-
Aarau 96.4%
3,623 departures · avg +0.8 min
-
St. Gallen 95.5%
3,615 departures · avg +1.1 min
-
Lausanne 92.9%
3,457 departures · avg +1.4 min
-
Renens VD 92.6%
3,383 departures · avg +1.3 min
-
Luzern 98.2%
3,265 departures · avg +0.8 min
-
Genève, gare Cornavin 78.5%
20,018 departures · avg +2 min
-
Bern, Bahnhof 97.4%
19,795 departures · avg +0.9 min
-
Genève, Bel-Air 80.9%
19,268 departures · avg +1.9 min
-
16,238 departures · avg +1.9 min
-
Bern, Hirschengraben 94.4%
15,058 departures · avg +1.3 min
-
Zürich, Central 94.4%
14,946 departures · avg +1 min
-
Basel, Schifflände 82.1%
14,937 departures · avg +1.9 min
-
Bern, Zytglogge 95.5%
14,443 departures · avg +1.2 min
-
Lausanne, Bel-Air 75.2%
14,197 departures · avg +2.1 min
-
Luzern, Bahnhof 90.6%
14,099 departures · avg +1.3 min
-
Zürich, Bellevue 93.4%
13,979 departures · avg +1.1 min
-
Basel, Bahnhof SBB 87.7%
13,887 departures · avg +1.6 min
-
Magliaso Paese 50.8%
800 departures · avg +3.7 min
-
Agno 51%
800 departures · avg +3.7 min
-
Magliaso 52.8%
800 departures · avg +3.6 min
-
Serocca 55%
800 departures · avg +3.2 min
-
Bioggio Molinazzo 58.6%
800 departures · avg +3.1 min
-
Caslano 63.6%
800 departures · avg +3.2 min
-
Bioggio 64.1%
800 departures · avg +2.8 min
-
Sorengo Laghetto 67.9%
800 departures · avg +2.7 min
-
Cappella-Agnuzzo 68.1%
800 departures · avg +2.4 min
-
Sorengo 71.5%
800 departures · avg +2.4 min
-
Muhen Nord 74.6%
1,026 departures · avg +1.6 min
-
Oberentfelden Engelplatz 74.8%
1,026 departures · avg +1.6 min
Largest delays
- Bus 2 Fribourg, Schönberg Dunant – Villars-sur-Glâne, Les Dailles Villars-sur-Glâne, Les Daillesand 1 more trips of this line +253 min
- Tram 12 Lancy-Bachet, gare – Thônex, Moillesulaz Thônex, Moillesulazand 2 more trips of this line +224 min
- EC Bregenz – Zürich HB Genèveand 4 more trips of this line +200 min
- Bus 3 Grand-Saconnex, Gardiol – Genève, Crêts-de-Champel Grand-Saconnex, Gardioland 4 more trips of this line +199 min
- NJ Feldkirch – Zürich HB Zürich HBand 8 more trips of this line +197 min
- ICE Basel SBBand 19 more trips of this line +187 min
- R70 Leysin-Grand-Hôtel – Aigle Leysin Grand-Hôtel +123 min
- Tram 21 Basel, Bahnhof St. Johann +122 min
- Bus 22 Genève, Jardin Botanique +119 min
- Bus 541 Schwanden GL, Bahnhofand 1 more trips of this line +115 min
- Bus 60 Genève, gare Cornavin – Gex, L'Aiglette Gex, L'Aiglette +111 min
- Bus 508 Seewen SZ, Seewen Marktand 3 more trips of this line +111 min
- Bus 1 Ebikon, Fildern – Obernau, Dorf Obernau, Dorfand 1 more trips of this line +106 min
- Bus 5 Genève-Aéroport, Terminaland 2 more trips of this line +105 min
- Bus 30 Luzern Littau, Bahnhofand 1 more trips of this line +102 min