Punctuality of Swiss public transportWeek 1430 Mar – 5 Apr 2026
88.9% of 906,016 trips were on time. The best day was Sunday 5 April with 92.7%, the worst Thursday 2 April with 85.8%. Of the busy lines, M2 Genève-Pâquis (lac) – Genève-Quai Gustave Ador (lac) had the lowest share on time: 21.7%.
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.9%
+1 ptsWeek before: 88% · 906,016 trips with live data
Average delay
+1.2 min
Canceled trips
2,613
0.3% of the trips
Day by day
The share on time of each day. A day opens its page.
- 95%
- Average: 88.9%
By mode
-
Train 96.1%
97,051 trips · avg +0.6 min
-
Tram 86.9%
69,950 trips · avg +1.5 min
-
Bus 88.3%
734,984 trips · avg +1.3 min
-
Metro 84.3%
2,064 trips · avg +1.8 min
-
Boat 45.8%
1,967 trips · avg +4.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
-
M2 Genève-Pâquis (lac) – Genève-Quai Gustave Ador (lac)Genève-Pâquis (lac) – Genève-Quai Gustave Ador (lac) 21.7%
692 trips · avg +6.4 min
-
863 trips · avg +4.7 min
-
1,043 trips · avg +3.7 min
-
1,171 trips · avg +4.5 min
-
Bus 109 Neuchâtel, Place Pury – Neuchâtel, Trois-ChênesNeuchâtel, Place Pury – Neuchâtel, Trois-Chênes 51.2%
1,259 trips · avg +3.2 min
-
515 trips · avg +3.4 min
-
504 trips · avg +3.3 min
-
1,198 trips · avg +3.9 min
Show 17 more
-
Bus 3 Canobbio, Mercato Resega – Breganzona, PostaCanobbio, Mercato Resega – Breganzona, Posta 59.5%
1,390 trips · avg +5.2 min
-
418 trips · avg +2.8 min
-
Bus 33 Prilly, Mont-Goulin – St-Sulpice VD, Venoge nordPrilly, Mont-Goulin – St-Sulpice VD, Venoge nord 60.3%
1,070 trips · avg +3.9 min
-
348 trips · avg +2.8 min
-
1,310 trips · avg +4 min
-
Bus 50 Basel EuroAirport, Verwaltung – Basel, Bahnhof SBBBasel EuroAirport, Verwaltung – Basel, Bahnhof SBB 64.2%
801 trips · avg +2.7 min
-
1,080 trips · avg +2.7 min
-
Bus 1 Schaffhausen, Waldfriedhof – Neuhausen, HerbstäckerSchaffhausen, Waldfriedhof – Neuhausen, Herbstäcker 65.1%
1,206 trips · avg +2.6 min
-
666 trips · avg +3.1 min
-
1,206 trips · avg +3 min
-
448 trips · avg +4.9 min
-
296 trips · avg +3.6 min
-
1,126 trips · avg +4.1 min
-
Tram 8 Basel, Neuweilerstrasse – Weil am Rhein, Bahnhof/ZentrumBasel, Neuweilerstrasse – Weil am Rhein, Bahnhof/Zentrum 68.9%
675 trips · avg +2.5 min
-
693 trips · avg +2.9 min
-
453 trips · avg +6 min
-
713 trips · avg +2.4 min
Most punctual busy lines
-
1,521 trips · avg +0.5 min
-
1,967 trips · avg +0.7 min
-
1,878 trips · avg +0.8 min
-
1,595 trips · avg +0.9 min
-
2,204 trips · avg +1 min
-
Bus 30 Basel, Badischer Bahnhof – Basel, Bahnhof SBBBasel, Badischer Bahnhof – Basel, Bahnhof SBB 95.5%
2,234 trips · avg +0.8 min
-
Bus 1 Winterthur, Oberwinterthur – Winterthur, TössWinterthur, Oberwinterthur – Winterthur, Töss 95.4%
1,764 trips · avg +0.9 min
-
Bus 781 Zürich Oerlikon, Bahnhof – Glattbrugg, GiebeleichstrasseZürich Oerlikon, Bahnhof – Glattbrugg, Giebeleichstrasse 94.8%
1,423 trips · avg +0.9 min
Least punctual busy lines
-
453 trips · avg +6 min
-
816 trips · avg +1.9 min
-
776 trips · avg +2.4 min
-
452 trips · avg +1.1 min
-
344 trips · avg +0.9 min
-
592 trips · avg +0.8 min
-
518 trips · avg +1.1 min
-
576 trips · avg +0.8 min
Show 17 more
-
364 trips · avg +0.7 min
-
280 trips · avg +0.5 min
-
365 trips · avg +1.1 min
-
327 trips · avg +0.8 min
-
397 trips · avg +0.6 min
-
280 trips · avg +0.7 min
-
535 trips · avg +0.6 min
-
557 trips · avg +0.6 min
-
336 trips · avg +0.5 min
-
370 trips · avg +0.6 min
-
309 trips · avg +0.7 min
-
434 trips · avg +0.4 min
-
315 trips · avg +0.5 min
-
529 trips · avg +0.7 min
-
465 trips · avg +0.6 min
-
311 trips · avg +0.4 min
-
497 trips · avg +0.5 min
Most punctual busy lines
-
532 trips · avg +0 min
-
406 trips · avg +0 min
-
364 trips · avg +0 min
-
837 trips · avg +0.3 min
-
553 trips · avg +0.1 min
-
546 trips · avg +0.1 min
-
471 trips · avg +0.1 min
-
443 trips · avg +0.2 min
Least punctual busy lines
-
Tram 8 Basel, Neuweilerstrasse – Weil am Rhein, Bahnhof/ZentrumBasel, Neuweilerstrasse – Weil am Rhein, Bahnhof/Zentrum 68.9%
675 trips · avg +2.5 min
-
1,863 trips · avg +1.8 min
-
318 trips · avg +2.5 min
-
Tram 14 Basel, Dreirosenbrücke – Pratteln, SchlossstrasseBasel, Dreirosenbrücke – Pratteln, Schlossstrasse 77.8%
1,818 trips · avg +2.1 min
-
417 trips · avg +1.8 min
-
1,835 trips · avg +2 min
-
701 trips · avg +5.5 min
-
Tram 2 Binningen, Kronenplatz – Basel, Badischer BahnhofBinningen, Kronenplatz – Basel, Badischer Bahnhof 81.4%
667 trips · avg +1.8 min
Show 17 more
-
1,778 trips · avg +1.7 min
-
Tram 8 Bern, Saali – Bern Brünnen Westside, BahnhofBern, Saali – Bern Brünnen Westside, Bahnhof 84.9%
775 trips · avg +1.7 min
-
1,978 trips · avg +1.5 min
-
2,207 trips · avg +1.6 min
-
1,882 trips · avg +1.3 min
-
1,872 trips · avg +1.6 min
-
1,777 trips · avg +1.5 min
-
349 trips · avg +1.1 min
-
1,940 trips · avg +1.3 min
-
445 trips · avg +1.3 min
-
Tram 9 Wabern, Tram-Endstation – Bern Wankdorf, BahnhofWabern, Tram-Endstation – Bern Wankdorf, Bahnhof 90.4%
793 trips · avg +1.5 min
-
Tram 51 Zürich Altstetten, Bahnhof N – Zürich, SeebachZürich Altstetten, Bahnhof N – Zürich, Seebach 90.8%
1,947 trips · avg +1.2 min
-
1,884 trips · avg +1 min
-
1,916 trips · avg +1.2 min
-
Tram 12 Stettbach, Bahnhof – Zürich Flughafen, FrachtStettbach, Bahnhof – Zürich Flughafen, Fracht 92.2%
308 trips · avg +1.3 min
-
Tram 10 Zürich Flughafen, Fracht – Zürich, Bahnhofplatz/HBZürich Flughafen, Fracht – Zürich, Bahnhofplatz/HB 92.3%
570 trips · avg +1.1 min
-
Tram 7 Stettbach, Bahnhof – Zürich, WollishoferplatzStettbach, Bahnhof – Zürich, Wollishoferplatz 92.3%
702 trips · avg +1.2 min
Most punctual busy lines
-
385 trips · avg +0.1 min
-
Tram 15 Zürich, Bahnhofstrasse/HB – Zürich Tiefenbrunnen, BahnhofZürich, Bahnhofstrasse/HB – Zürich Tiefenbrunnen, Bahnhof 97.6%
424 trips · avg +0.6 min
-
Tram 20 Killwangen, Bahnhof – Zürich Altstetten, BahnhofKillwangen, Bahnhof – Zürich Altstetten, Bahnhof 97.6%
1,049 trips · avg +0.8 min
-
1,024 trips · avg +0.6 min
-
1,878 trips · avg +0.8 min
-
Tram 11 Zürich, Central – Zürich Tiefenbrunnen, BahnhofZürich, Central – Zürich Tiefenbrunnen, Bahnhof 95.6%
702 trips · avg +0.8 min
-
330 trips · avg +1.1 min
-
642 trips · avg +0.9 min
Least punctual busy lines
-
1,043 trips · avg +3.7 min
-
1,171 trips · avg +4.5 min
-
Bus 109 Neuchâtel, Place Pury – Neuchâtel, Trois-ChênesNeuchâtel, Place Pury – Neuchâtel, Trois-Chênes 51.2%
1,259 trips · avg +3.2 min
-
515 trips · avg +3.4 min
-
504 trips · avg +3.3 min
-
1,198 trips · avg +3.9 min
-
Bus 3 Canobbio, Mercato Resega – Breganzona, PostaCanobbio, Mercato Resega – Breganzona, Posta 59.5%
1,390 trips · avg +5.2 min
-
418 trips · avg +2.8 min
Show 17 more
-
Bus 33 Prilly, Mont-Goulin – St-Sulpice VD, Venoge nordPrilly, Mont-Goulin – St-Sulpice VD, Venoge nord 60.3%
1,070 trips · avg +3.9 min
-
348 trips · avg +2.8 min
-
1,310 trips · avg +4 min
-
Bus 50 Basel EuroAirport, Verwaltung – Basel, Bahnhof SBBBasel EuroAirport, Verwaltung – Basel, Bahnhof SBB 64.2%
801 trips · avg +2.7 min
-
1,080 trips · avg +2.7 min
-
Bus 1 Schaffhausen, Waldfriedhof – Neuhausen, HerbstäckerSchaffhausen, Waldfriedhof – Neuhausen, Herbstäcker 65.1%
1,206 trips · avg +2.6 min
-
666 trips · avg +3.1 min
-
1,206 trips · avg +3 min
-
448 trips · avg +4.9 min
-
296 trips · avg +3.6 min
-
1,126 trips · avg +4.1 min
-
693 trips · avg +2.9 min
-
713 trips · avg +2.4 min
-
Bus 33 Zürich, Triemli – Zürich Tiefenbrunnen, BahnhofZürich, Triemli – Zürich Tiefenbrunnen, Bahnhof 70.2%
1,920 trips · avg +2.4 min
-
Bus 6 Lausanne, Maladière – Lausanne, Praz-SéchaudLausanne, Maladière – Lausanne, Praz-Séchaud 70.3%
1,477 trips · avg +3 min
-
1,848 trips · avg +2.9 min
-
1,814 trips · avg +2.4 min
Most punctual busy lines
-
1,193 trips · avg +0.6 min
-
1,202 trips · avg +0.6 min
-
1,521 trips · avg +0.5 min
-
1,220 trips · avg +0.7 min
-
1,595 trips · avg +0.9 min
-
2,204 trips · avg +1 min
-
Bus 30 Basel, Badischer Bahnhof – Basel, Bahnhof SBBBasel, Badischer Bahnhof – Basel, Bahnhof SBB 95.5%
2,234 trips · avg +0.8 min
-
Bus 1 Winterthur, Oberwinterthur – Winterthur, TössWinterthur, Oberwinterthur – Winterthur, Töss 95.4%
1,764 trips · avg +0.9 min
Least punctual operators
-
Mouettes genevoises 45.8%
1,967 trips · avg +4.5 min
-
TPL 66.1%
10,472 trips · avg +3.5 min
-
VBL 74.2%
23,924 trips · avg +2.3 min
-
Lugano-Ponte Tresa 76%
816 trips · avg +1.9 min
-
Transports Publics Neuchâtelois 76%
15,338 trips · avg +2 min
-
Verkehrsbetrieb LIECHTENSTEINmobil 79.2%
5,085 trips · avg +2.1 min
-
Bus Nyon-Prangins 79.3%
1,956 trips · avg +1.9 min
-
Automobil Rottal 79.6%
2,676 trips · avg +1.7 min
Show 17 more
-
Auto AG Rothenburg 80.3%
4,659 trips · avg +1.7 min
-
BVB 80.5%
30,505 trips · avg +1.8 min
-
Sierre-Montana-Crans 81.5%
1,947 trips · avg +1.8 min
-
TPG 81.9%
38,361 trips · avg +1.7 min
-
Bus und Service 82.7%
9,175 trips · avg +1.7 min
-
Busbetrieb Solothurn und Umgebung 82.9%
4,279 trips · avg +1.5 min
-
Stadtbus Frauenfeld 83.7%
3,065 trips · avg +1.7 min
-
tl 83.8%
44,490 trips · avg +1.6 min
-
Busbetrieb Rapperswil-Eschenbach-Rüti ZH 83.9%
1,674 trips · avg +1.6 min
-
Regiobus Gossau SG 84.7%
3,739 trips · avg +1.6 min
-
Busbetrieb Aarau 85%
6,202 trips · avg +1.6 min
-
Regionale Verkehrsbetriebe Baden-Wettingen 85.2%
8,645 trips · avg +1.5 min
-
TPF 85.3%
24,394 trips · avg +1.6 min
-
Autolinee FART 86.2%
4,957 trips · avg +1.3 min
-
Transports publics Vevey-Montreux-Chillon-Villeneuve 86.3%
7,084 trips · avg +1.3 min
-
Autolinee Regionali Luganesi 86.6%
1,408 trips · avg +1.3 min
-
Verkehrsbetriebe Schaffhausen 86.6%
11,400 trips · avg +2.8 min
Most punctual operators
-
Regionalverkehr Bern-Solothurn 99.5%
3,733 trips · avg +0.2 min
-
Aare Seeland mobil 99.1%
2,084 trips · avg +0.3 min
-
BLS 98.6%
10,551 trips · avg +0.4 min
-
Zentralbahn 98.8%
2,385 trips · avg +0.3 min
-
THURBO 98.5%
7,798 trips · avg +0.3 min
-
Appenzeller Bahnen 98.2%
2,224 trips · avg +0.4 min
-
Schweizerische Südostbahn 98.1%
3,501 trips · avg +0.4 min
-
Berner Oberland-Bahnen 98.5%
810 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 95.7%
11,886 departures · avg +1 min
-
Bern 98.2%
7,074 departures · avg +0.8 min
-
Zürich Oerlikon 96.6%
6,253 departures · avg +1 min
-
Zürich Stadelhofen 93.3%
4,939 departures · avg +1.2 min
-
Winterthur 97.2%
4,859 departures · avg +0.9 min
-
Zürich Hardbrücke 86.5%
4,772 departures · avg +1.9 min
-
Olten 94.9%
4,226 departures · avg +1.1 min
-
Aarau 96.9%
3,569 departures · avg +0.8 min
-
Lausanne 93.7%
3,553 departures · avg +1.2 min
-
St. Gallen 95.4%
3,553 departures · avg +1 min
-
Renens VD 95%
3,499 departures · avg +1 min
-
Luzern 97.9%
3,159 departures · avg +0.7 min
-
Bern, Bahnhof 95.8%
19,110 departures · avg +1 min
-
Luzern, Kantonalbank 79.5%
15,251 departures · avg +2.1 min
-
Bern, Hirschengraben 92.5%
14,608 departures · avg +1.4 min
-
Basel, Schifflände 86.3%
14,231 departures · avg +1.7 min
-
Zürich, Central 94.2%
14,229 departures · avg +1.1 min
-
Bern, Zytglogge 92.3%
13,924 departures · avg +1.4 min
-
Lausanne, Bel-Air 72.7%
13,844 departures · avg +2.4 min
-
Luzern, Bahnhof 87.1%
13,377 departures · avg +1.6 min
-
Basel, Bahnhof SBB 89.2%
13,261 departures · avg +1.5 min
-
Zürich, Bellevue 93.7%
13,087 departures · avg +1.2 min
-
St. Gallen, Bahnhof 91.7%
12,597 departures · avg +1.2 min
-
12,505 departures · avg +1.1 min
-
Magliaso Paese 61.3%
816 departures · avg +3.3 min
-
Agno 63.5%
816 departures · avg +3.3 min
-
Magliaso 63.7%
816 departures · avg +3.1 min
-
Serocca 64.6%
816 departures · avg +3.1 min
-
Bioggio Molinazzo 64.8%
816 departures · avg +2.9 min
-
Bioggio 71%
816 departures · avg +2.4 min
-
Caslano 72.4%
816 departures · avg +2.7 min
-
Muhen Nord 74.5%
985 departures · avg +1.6 min
-
Oberentfelden Engelplatz 74.8%
985 departures · avg +1.6 min
-
Cappella-Agnuzzo 74.9%
816 departures · avg +2.2 min
-
Sorengo Laghetto 75.2%
816 departures · avg +2.5 min
-
Zug Chollermüli 77.5%
873 departures · avg +2.2 min
Largest delays
- Bus 2 Fribourg, Schönberg Dunant – Villars-sur-Glâne, Les Dailles Villars-sur-Glâne, Les Daillesand 4 more trips of this line +350 min
- Bus 8 Corminboeuf, anc. poste – Marly, piscine Marly, piscineand 9 more trips of this line +295 min
- Bus 401 Flüelen, Gruonbach – Göschenen, Bahnhof Amsteg, Dorf +280 min
- Bus 48 Pully, Daillettes – Pully, gare Pully, gareand 3 more trips of this line +255 min
- NJ Feldkirch – Zürich HB Zürich HBand 1 more trips of this line +238 min
- EC Bregenz – Zürich HB Zürich HBand 5 more trips of this line +225 min
- Bus 1 Ebikon, Fildern – Obernau, Dorf Obernau, Dorf +157 min
- Bus 3 Mailleferand 1 more trips of this line +139 min
- ICE Basel Bad Bf +137 min
- Bus 32 Zürich, Strassenverkehrsamt – Zürich, Holzerhurd Zürich, Holzerhurd +125 min
- Bus 701 Lausanne, Bourdonnette – Tolochenaz, La Plantaz Lausanne, Bourdonnetteand 4 more trips of this line +124 min
- N3 Lausanne, Praz-Séchaud – Lausanne, St-François St-Françoisand 2 more trips of this line +111 min
- E Genève, Rive – Hermance, village Genève, Rive +106 min
- Bus 202 Landquart, Bahnhof – Valzeina, Kirche Landquart, Bahnhofand 1 more trips of this line +98 min
- Bus 18 Lausanne, Clochatte – Crissier, Timonet Crissier Timonet +90 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 9 Schaffhausen, Ebnat – Schaffhausen, Kinepolis Schaffhausen, Kinepolisand 31 more trips of this line +528 min
- Tram 12 Lancy-Bachet, gare – Thônex, Moillesulaz Thônex, Moillesulazand 4 more trips of this line +428 min