Punctuality of Swiss public transportWeek 2225 May – 31 May 2026
86.1% of 911,655 trips were on time. The best day was Sunday 31 May with 91.5%, the worst Friday 29 May with 83.8%. Of the busy lines, M1 Genève-Pâquis (lac) – Genève-Molard (lac) had the lowest share on time: 30.8%.
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.
86.1%
−0.9 ptsWeek before: 87% · 911,655 trips with live data
Average delay
+1.4 min
Canceled trips
4,491
0.5% of the trips
Day by day
The share on time of each day. A day opens its page.
- 95%
- Average: 86.1%
- Best day
- Sun 31 May · 91.5%
- Worst day
- Fri 29 May · 83.8%
- Worst hour
- Tue 17:00–18:00 · 63.3%
By mode
-
Train 93.9%
96,634 trips · avg +0.9 min
-
Tram 83.1%
72,350 trips · avg +1.7 min
-
Bus 85.4%
738,427 trips · avg +1.4 min
-
Metro 84.2%
2,062 trips · avg +2.6 min
-
Boat 48.4%
2,182 trips · avg +4.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
-
741 trips · avg +5.3 min
-
M2 Genève-Pâquis (lac) – Genève-Quai Gustave Ador (lac)Genève-Pâquis (lac) – Genève-Quai Gustave Ador (lac) 31.9%
880 trips · avg +5.8 min
-
428 trips · avg +5 min
-
Bus 109 Neuchâtel, Place Pury – Neuchâtel, Trois-ChênesNeuchâtel, Place Pury – Neuchâtel, Trois-Chênes 41.3%
1,260 trips · avg +3.8 min
-
1,224 trips · avg +3.8 min
-
504 trips · avg +3.7 min
-
1,144 trips · avg +3.4 min
-
656 trips · avg +5.2 min
Show 17 more
-
368 trips · avg +3.3 min
-
287 trips · avg +3.1 min
-
Bus 165 Rüschlikon, Park im Grüene – Zürich, BürkliplatzRüschlikon, Park im Grüene – Zürich, Bürkliplatz 50.4%
752 trips · avg +3.7 min
-
535 trips · avg +3.6 min
-
1,577 trips · avg +4.2 min
-
Bus 24 Lausanne, Bourdonnette – Lausanne, Ouchy-OlympiqueLausanne, Bourdonnette – Lausanne, Ouchy-Olympique 53.3%
967 trips · avg +5.1 min
-
281 trips · avg +5 min
-
384 trips · avg +3.1 min
-
402 trips · avg +2.9 min
-
712 trips · avg +3 min
-
1,085 trips · avg +3.1 min
-
Bus 33 Zürich, Triemli – Zürich Tiefenbrunnen, BahnhofZürich, Triemli – Zürich Tiefenbrunnen, Bahnhof 58.1%
1,887 trips · avg +3.1 min
-
1,039 trips · avg +3.2 min
-
Bus 32 Zürich, Strassenverkehrsamt – Zürich, HolzerhurdZürich, Strassenverkehrsamt – Zürich, Holzerhurd 58.7%
1,962 trips · avg +3.3 min
-
1,034 trips · avg +3.7 min
-
Bus 9 Vernier, Lignon Tours – Thônex, Belle-Terre Pl. AraireVernier, Lignon Tours – Thônex, Belle-Terre Pl. Araire 59.3%
1,188 trips · avg +3.1 min
-
411 trips · avg +3.3 min
Most punctual busy lines
-
1,530 trips · avg +0.6 min
-
1,554 trips · avg +1 min
-
1,444 trips · avg +0.9 min
-
Bus 781 Zürich Oerlikon, Bahnhof – Glattbrugg, GiebeleichstrasseZürich Oerlikon, Bahnhof – Glattbrugg, Giebeleichstrasse 94.9%
1,410 trips · avg +1.1 min
-
1,957 trips · avg +0.9 min
-
1,503 trips · avg +1 min
-
Bus 1 Winterthur, Oberwinterthur – Winterthur, TössWinterthur, Oberwinterthur – Winterthur, Töss 94.2%
1,752 trips · avg +0.9 min
-
1,859 trips · avg +1 min
Least punctual busy lines
-
389 trips · avg +8.4 min
-
744 trips · avg +2.1 min
-
738 trips · avg +2 min
-
378 trips · avg +1.9 min
-
286 trips · avg +1.6 min
-
446 trips · avg +1.1 min
-
496 trips · avg +1.3 min
-
514 trips · avg +1.5 min
Show 17 more
-
294 trips · avg +0.9 min
-
566 trips · avg +0.9 min
-
493 trips · avg +1.1 min
-
625 trips · avg +1.1 min
-
552 trips · avg +1.3 min
-
692 trips · avg +0.9 min
-
404 trips · avg +0.7 min
-
349 trips · avg +1.1 min
-
468 trips · avg +0.7 min
-
471 trips · avg +0.8 min
-
495 trips · avg +1.1 min
-
R15 Boudry Littorail – Neuchâtel Place Pury LittorailBoudry Littorail – Neuchâtel Place Pury Littorail 93.2%
296 trips · avg +1.2 min
-
495 trips · avg +1 min
-
348 trips · avg +0.5 min
-
465 trips · avg +0.7 min
-
290 trips · avg +0.6 min
-
1,957 trips · avg +0.9 min
Most punctual busy lines
-
546 trips · avg +0.1 min
-
406 trips · avg +0.1 min
-
1,076 trips · avg +0.2 min
-
552 trips · avg +0.2 min
-
458 trips · avg +0.2 min
-
818 trips · avg +0.4 min
-
624 trips · avg +0.2 min
-
599 trips · avg +0.3 min
Least punctual busy lines
-
Tram 8 Basel, Neuweilerstrasse – Weil am Rhein, Bahnhof/ZentrumBasel, Neuweilerstrasse – Weil am Rhein, Bahnhof/Zentrum 62%
660 trips · avg +2.8 min
-
1,831 trips · avg +1.9 min
-
1,825 trips · avg +2.3 min
-
Tram 14 Basel, Dreirosenbrücke – Pratteln, SchlossstrasseBasel, Dreirosenbrücke – Pratteln, Schlossstrasse 71.7%
1,817 trips · avg +2.3 min
-
Tram 8 Bern, Saali – Bern Brünnen Westside, BahnhofBern, Saali – Bern Brünnen Westside, Bahnhof 76.8%
750 trips · avg +3.6 min
-
1,834 trips · avg +2 min
-
Tram 9 Wabern, Tram-Endstation – Bern Wankdorf, BahnhofWabern, Tram-Endstation – Bern Wankdorf, Bahnhof 78.1%
2,187 trips · avg +2.3 min
-
2,170 trips · avg +2.1 min
Show 17 more
-
1,258 trips · avg +1.7 min
-
1,749 trips · avg +2 min
-
2,421 trips · avg +2 min
-
351 trips · avg +1.5 min
-
1,952 trips · avg +2.1 min
-
Tram 2 Binningen, Kronenplatz – Basel, Badischer BahnhofBinningen, Kronenplatz – Basel, Badischer Bahnhof 83.6%
659 trips · avg +1.7 min
-
1,888 trips · avg +1.7 min
-
440 trips · avg +1.7 min
-
1,753 trips · avg +1.7 min
-
406 trips · avg +1.4 min
-
1,830 trips · avg +1.5 min
-
1,877 trips · avg +1.7 min
-
1,881 trips · avg +1.3 min
-
317 trips · avg +1.9 min
-
Tram 51 Zürich Altstetten, Bahnhof N – Zürich, SeebachZürich Altstetten, Bahnhof N – Zürich, Seebach 89.3%
1,924 trips · avg +1.3 min
-
Tram 11 Zürich, Central – Zürich Tiefenbrunnen, BahnhofZürich, Central – Zürich Tiefenbrunnen, Bahnhof 89.7%
698 trips · avg +1.2 min
-
968 trips · avg +1.2 min
Most punctual busy lines
-
956 trips · avg +0.2 min
-
Tram 12 Stettbach, Bahnhof – Zürich Flughafen, FrachtStettbach, Bahnhof – Zürich Flughafen, Fracht 97.7%
308 trips · avg +1.1 min
-
Tram 20 Killwangen, Bahnhof – Zürich Altstetten, BahnhofKillwangen, Bahnhof – Zürich Altstetten, Bahnhof 96.8%
1,077 trips · avg +0.8 min
-
1,503 trips · avg +1 min
-
Tram 15 Zürich, Bahnhofstrasse/HB – Zürich Tiefenbrunnen, BahnhofZürich, Bahnhofstrasse/HB – Zürich Tiefenbrunnen, Bahnhof 94.1%
424 trips · avg +0.9 min
-
1,859 trips · avg +1 min
-
Tram 10 Zürich Flughafen, Fracht – Zürich, Bahnhofplatz/HBZürich Flughafen, Fracht – Zürich, Bahnhofplatz/HB 93.2%
570 trips · avg +1.1 min
-
1,866 trips · avg +1 min
Least punctual busy lines
-
428 trips · avg +5 min
-
Bus 109 Neuchâtel, Place Pury – Neuchâtel, Trois-ChênesNeuchâtel, Place Pury – Neuchâtel, Trois-Chênes 41.3%
1,260 trips · avg +3.8 min
-
1,224 trips · avg +3.8 min
-
504 trips · avg +3.7 min
-
1,144 trips · avg +3.4 min
-
656 trips · avg +5.2 min
-
368 trips · avg +3.3 min
-
287 trips · avg +3.1 min
Show 17 more
-
Bus 165 Rüschlikon, Park im Grüene – Zürich, BürkliplatzRüschlikon, Park im Grüene – Zürich, Bürkliplatz 50.4%
752 trips · avg +3.7 min
-
535 trips · avg +3.6 min
-
1,577 trips · avg +4.2 min
-
Bus 24 Lausanne, Bourdonnette – Lausanne, Ouchy-OlympiqueLausanne, Bourdonnette – Lausanne, Ouchy-Olympique 53.3%
967 trips · avg +5.1 min
-
281 trips · avg +5 min
-
384 trips · avg +3.1 min
-
402 trips · avg +2.9 min
-
712 trips · avg +3 min
-
1,085 trips · avg +3.1 min
-
Bus 33 Zürich, Triemli – Zürich Tiefenbrunnen, BahnhofZürich, Triemli – Zürich Tiefenbrunnen, Bahnhof 58.1%
1,887 trips · avg +3.1 min
-
1,039 trips · avg +3.2 min
-
Bus 32 Zürich, Strassenverkehrsamt – Zürich, HolzerhurdZürich, Strassenverkehrsamt – Zürich, Holzerhurd 58.7%
1,962 trips · avg +3.3 min
-
1,034 trips · avg +3.7 min
-
Bus 9 Vernier, Lignon Tours – Thônex, Belle-Terre Pl. AraireVernier, Lignon Tours – Thônex, Belle-Terre Pl. Araire 59.3%
1,188 trips · avg +3.1 min
-
411 trips · avg +3.3 min
-
1,257 trips · avg +3.1 min
-
Bus 3 Canobbio, Mercato Resega – Breganzona, PostaCanobbio, Mercato Resega – Breganzona, Posta 61.3%
1,322 trips · avg +3.5 min
Most punctual busy lines
-
1,203 trips · avg +0.7 min
-
1,239 trips · avg +0.6 min
-
1,530 trips · avg +0.6 min
-
1,210 trips · avg +0.7 min
-
1,554 trips · avg +1 min
-
1,444 trips · avg +0.9 min
-
1,273 trips · avg +0.8 min
-
Bus 5 St. Gallen, Riethüsli – St. Gallen, RotmontenSt. Gallen, Riethüsli – St. Gallen, Rotmonten 94.9%
1,216 trips · avg +1 min
Least punctual busy lines
-
741 trips · avg +5.3 min
-
M2 Genève-Pâquis (lac) – Genève-Quai Gustave Ador (lac)Genève-Pâquis (lac) – Genève-Quai Gustave Ador (lac) 31.9%
880 trips · avg +5.8 min
-
296 trips · avg +0.6 min
Least punctual operators
-
Mouettes genevoises 48.4%
2,182 trips · avg +4.3 min
-
VBL 65.9%
24,417 trips · avg +2.7 min
-
TPL 68.4%
10,044 trips · avg +2.7 min
-
Lugano-Ponte Tresa 68.8%
744 trips · avg +2.1 min
-
Transports Publics Neuchâtelois 69.9%
15,256 trips · avg +2.4 min
-
Verkehrsbetrieb LIECHTENSTEINmobil 72%
5,314 trips · avg +2.7 min
-
Automobil Rottal 73.5%
2,657 trips · avg +2.2 min
-
Autobetrieb Sernftal 73.8%
860 trips · avg +2.6 min
Show 17 more
-
TPG 75.2%
54,102 trips · avg +2.2 min
-
BVB 77.6%
30,275 trips · avg +2 min
-
Auto AG Rothenburg 79%
4,675 trips · avg +1.8 min
-
Montreux-Oberland Bernois 80.2%
933 trips · avg +2 min
-
Bus Nyon-Prangins 81.2%
1,925 trips · avg +1.7 min
-
Regiobus Gossau SG 81.5%
3,831 trips · avg +1.8 min
-
tl 81.6%
45,069 trips · avg +1.8 min
-
VBZ 81.7%
103,860 trips · avg +1.8 min
-
Verkehrsbetriebe Biel 82.1%
8,826 trips · avg +1.6 min
-
Busbetrieb Aarau 82.4%
6,201 trips · avg +1.6 min
-
Regionale Verkehrsbetriebe Baden-Wettingen 82.5%
8,689 trips · avg +1.6 min
-
Bus und Service 82.8%
9,441 trips · avg +1.7 min
-
Busbetrieb Rapperswil-Eschenbach-Rüti ZH 83%
1,714 trips · avg +1.6 min
-
Busbetrieb Solothurn und Umgebung 83.1%
4,462 trips · avg +1.5 min
-
Bus Sierrois 83.4%
1,722 trips · avg +1.7 min
-
Transports publics Vevey-Montreux-Chillon-Villeneuve 83.9%
7,071 trips · avg +1.5 min
-
Stadtbus Frauenfeld 84%
3,141 trips · avg +1.8 min
Most punctual operators
-
Sihltal-Zürich-Uetliberg-Bahn 99.1%
1,773 trips · avg +0.3 min
-
Zentralbahn 98.4%
2,447 trips · avg +0.3 min
-
THURBO 98.1%
7,643 trips · avg +0.4 min
-
Regionalverkehr Bern-Solothurn 98.2%
3,756 trips · avg +0.3 min
-
Aare Seeland mobil 98%
2,128 trips · avg +0.4 min
-
Busbetrieb Grenchen und Umgebung 97.9%
1,930 trips · avg +0.6 min
-
Lausanne-Echallens-Bercher 98.2%
872 trips · avg +0.3 min
-
BLS 97.2%
10,430 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 93.3%
10,425 departures · avg +1.3 min
-
Bern 96.4%
6,985 departures · avg +1 min
-
Zürich Oerlikon 93.9%
6,107 departures · avg +1.2 min
-
Zürich Stadelhofen 91.4%
4,623 departures · avg +1.4 min
-
4,618 departures · avg +2.2 min
-
Winterthur 95.4%
4,502 departures · avg +1.2 min
-
Olten 90.1%
4,177 departures · avg +1.5 min
-
Lausanne 89.8%
3,481 departures · avg +1.5 min
-
Renens VD 92%
3,446 departures · avg +1.3 min
-
Aarau 91.2%
3,426 departures · avg +1.2 min
-
St. Gallen 93.1%
3,406 departures · avg +1.3 min
-
Luzern 95.4%
3,232 departures · avg +1 min
-
Bern, Bahnhof 93%
18,761 departures · avg +1.4 min
-
Genève, gare Cornavin 78.7%
17,714 departures · avg +2 min
-
Genève, Bel-Air 81.3%
17,332 departures · avg +1.9 min
-
14,403 departures · avg +2.4 min
-
Bern, Hirschengraben 88.8%
14,396 departures · avg +1.8 min
-
Zürich, Central 90.9%
14,219 departures · avg +1.3 min
-
Basel, Schifflände 81.6%
14,185 departures · avg +1.9 min
-
Lausanne, Bel-Air 69.3%
13,937 departures · avg +2.5 min
-
Bern, Zytglogge 89.4%
13,722 departures · avg +1.8 min
-
Basel, Bahnhof SBB 86.9%
13,123 departures · avg +1.6 min
-
Luzern, Bahnhof 81.1%
12,943 departures · avg +1.8 min
-
Zürich, Bellevue 88.5%
12,798 departures · avg +1.5 min
-
Magliaso Paese 55.6%
744 departures · avg +3.5 min
-
Agno 55.8%
744 departures · avg +3.4 min
-
Magliaso 57.5%
744 departures · avg +3.3 min
-
Serocca 57.7%
744 departures · avg +3.2 min
-
Bioggio Molinazzo 60.6%
744 departures · avg +3.1 min
-
Caslano 64.9%
744 departures · avg +2.9 min
-
Bioggio 66.1%
744 departures · avg +2.7 min
-
Cappella-Agnuzzo 68.1%
744 departures · avg +2.4 min
-
Sorengo Laghetto 69.5%
744 departures · avg +2.6 min
-
Zug Chollermüli 71.8%
869 departures · avg +2.4 min
-
Cham Alpenblick 72%
872 departures · avg +2.4 min
-
Oberentfelden Engelplatz 72.2%
979 departures · avg +1.7 min
Largest delays
- Bus 4 Fribourg/Freiburg, gare rout. +340 min
- Tram 6 Allschwil, Dorf +334 min
- ICE Churand 19 more trips of this line +270 min
- Bus 605 St. Moritz, Bahnhof – Sils/Segl Maria, Posta St. Moritz, Bahnhof +235 min
- Bus 8 Corminboeuf, anc. poste – Marly, piscine Marly, piscineand 5 more trips of this line +217 min
- Bus 10 Genève-Aéroport, Terminaland 4 more trips of this line +209 min
- Bus 80 Genève, Bel-Air – Saint-Julien, gare Saint-Julien, gareand 1 more trips of this line +205 min
- Bus 2 Fribourg, Schönberg Dunant – Villars-sur-Glâne, Les Dailles Villars-sur-Glâne, Les Daillesand 3 more trips of this line +198 min
- Bus 893 Wald ZH, Bahnhof – Wald ZH, Bahnhof Wald ZH, Bahnhofand 3 more trips of this line +186 min
- Bus 892 Wald ZH, Bahnhof – Wald ZH, Rehazentrum Wald ZH, Bahnhofand 5 more trips of this line +181 min
- Bus 1 Gebenstorf, Reuss – Würenlos, Bettlen Baden, Bahnhof Ostand 2 more trips of this line +173 min
- Bus 3 Wettingen, Brunnenwiese +169 min
- Bus 83 Viry, égliseand 1 more trips of this line +169 min
- NJ Feldkirch – Zürich HB Zürich HBand 2 more trips of this line +147 min
- Bus 1 Ebikon, Fildern – Obernau, Dorf Luzern, Bahnhof +144 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 83 Zürich Altstetten, Bahnhof – Zürich, Milchbuck Zürich, Milchbuck +427 min
- Bus 72 Zürich, Milchbuck – Zürich, Morgental Zürich, Milchbuckand 1 more trips of this line +387 min
- NJ Zürich HBand 2 more trips of this line +377 min