Punctuality of Swiss public transportWeek 419 Jan – 25 Jan 2026
88.7% of 971,729 trips were on time. The best day was Sunday 25 January with 93.6%, the worst Tuesday 20 January with 86.9%. Of the busy lines, Bus 91 Zollikerberg, Station – Zürich, Buchholz had the lowest share on time: 42.6%.
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.7%
+0.3 ptsWeek before: 88.4% · 971,729 trips with live data
Average delay
+1.2 min
Canceled trips
3,627
0.4% of the trips
Day by day
The share on time of each day. A day opens its page.
- 95%
- Average: 88.7%
- Best day
- Sun 25 Jan · 93.6%
- Worst day
- Tue 20 Jan · 86.9%
- Worst hour
- Tue 17:00–18:00 · 69.6%
By mode
-
Train 95.1%
98,192 trips · avg +0.8 min
-
Tram 83.7%
76,289 trips · avg +1.7 min
-
Bus 88.4%
793,074 trips · avg +1.2 min
-
Metro 92.6%
1,983 trips · avg +1.4 min
-
Boat 80.5%
2,191 trips · avg +1.8 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
-
366 trips · avg +3.7 min
-
1,043 trips · avg +3.1 min
-
429 trips · avg +3.5 min
-
1,171 trips · avg +3.4 min
-
Bus 109 Neuchâtel, Place Pury – Neuchâtel, Trois-ChênesNeuchâtel, Place Pury – Neuchâtel, Trois-Chênes 53.2%
1,367 trips · avg +3.1 min
-
534 trips · avg +2.6 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.5%
932 trips · avg +3.2 min
-
346 trips · avg +4.3 min
Show 17 more
-
Bus 898 Büren an der Aare, Bahnhof – Münchenbuchsee, BahnhofBüren an der Aare, Bahnhof – Münchenbuchsee, Bahnhof 61%
331 trips · avg +2.9 min
-
1,165 trips · avg +3.5 min
-
1,033 trips · avg +3.6 min
-
454 trips · avg +3.3 min
-
314 trips · avg +3.2 min
-
336 trips · avg +4.6 min
-
964 trips · avg +3.3 min
-
568 trips · avg +2.6 min
-
1,492 trips · avg +2.7 min
-
1,139 trips · avg +2.7 min
-
679 trips · avg +3.5 min
-
474 trips · avg +6.4 min
-
481 trips · avg +2.5 min
-
284 trips · avg +2.2 min
-
300 trips · avg +2.6 min
-
1,917 trips · avg +2.6 min
-
Tram 14 Basel, Dreirosenbrücke – Pratteln, SchlossstrasseBasel, Dreirosenbrücke – Pratteln, Schlossstrasse 69.3%
1,893 trips · avg +3 min
Most punctual busy lines
-
1,534 trips · avg +0.6 min
-
Bus 101 Bern, Hauptbahnhof – Hinterkappelen, SchlossmattBern, Hauptbahnhof – Hinterkappelen, Schlossmatt 96.4%
1,419 trips · avg +0.5 min
-
2,049 trips · avg +0.8 min
-
1,889 trips · avg +0.9 min
-
Bus 3 Winterthur, Oberseen – Winterthur, RosenbergWinterthur, Oberseen – Winterthur, Rosenberg 95.1%
1,847 trips · avg +0.9 min
-
1,850 trips · avg +1.1 min
-
Bus 30 Basel, Badischer Bahnhof – Basel, Bahnhof SBBBasel, Badischer Bahnhof – Basel, Bahnhof SBB 94.8%
2,415 trips · avg +0.9 min
-
1,515 trips · avg +1 min
Least punctual busy lines
-
474 trips · avg +6.4 min
-
801 trips · avg +2.2 min
-
287 trips · avg +1.3 min
-
329 trips · avg +1.2 min
-
518 trips · avg +1.3 min
-
361 trips · avg +1 min
-
689 trips · avg +1.1 min
-
450 trips · avg +1 min
Show 17 more
-
307 trips · avg +0.8 min
-
790 trips · avg +1.4 min
-
683 trips · avg +1.1 min
-
550 trips · avg +0.8 min
-
803 trips · avg +1 min
-
534 trips · avg +0.8 min
-
503 trips · avg +1 min
-
560 trips · avg +0.9 min
-
367 trips · avg +0.9 min
-
287 trips · avg +0.5 min
-
385 trips · avg +0.7 min
-
546 trips · avg +0.7 min
-
284 trips · avg +0.5 min
-
370 trips · avg +0.5 min
-
336 trips · avg +0.6 min
-
294 trips · avg +0.5 min
-
320 trips · avg +0.6 min
Most punctual busy lines
-
1,161 trips · avg +0.2 min
-
546 trips · avg +0.1 min
-
474 trips · avg +0.2 min
-
406 trips · avg +0 min
-
406 trips · avg +0.2 min
-
553 trips · avg +0.2 min
-
530 trips · avg +0.1 min
-
528 trips · avg +0.3 min
Least punctual busy lines
-
336 trips · avg +4.6 min
-
Tram 14 Basel, Dreirosenbrücke – Pratteln, SchlossstrasseBasel, Dreirosenbrücke – Pratteln, Schlossstrasse 69.3%
1,893 trips · avg +3 min
-
1,903 trips · avg +1.8 min
-
1,905 trips · avg +2.4 min
-
648 trips · avg +2.6 min
-
2,667 trips · avg +2.3 min
-
Tram 8 Bern, Saali – Bern Brünnen Westside, BahnhofBern, Saali – Bern Brünnen Westside, Bahnhof 78.4%
533 trips · avg +1.9 min
-
1,828 trips · avg +2 min
Show 17 more
-
Tram 7 Stettbach, Bahnhof – Zürich, WollishoferplatzStettbach, Bahnhof – Zürich, Wollishoferplatz 82%
489 trips · avg +1.9 min
-
2,041 trips · avg +1.8 min
-
1,843 trips · avg +2 min
-
Tram 9 Wabern, Tram-Endstation – Bern Wankdorf, BahnhofWabern, Tram-Endstation – Bern Wankdorf, Bahnhof 84.4%
2,269 trips · avg +1.9 min
-
2,008 trips · avg +1.6 min
-
1,858 trips · avg +1.5 min
-
2,326 trips · avg +1.6 min
-
2,000 trips · avg +1.6 min
-
1,942 trips · avg +1.9 min
-
Tram 10 Zürich Flughafen, Fracht – Zürich, Bahnhofplatz/HBZürich Flughafen, Fracht – Zürich, Bahnhofplatz/HB 88.2%
407 trips · avg +1.3 min
-
Tram 51 Zürich Altstetten, Bahnhof N – Zürich, SeebachZürich Altstetten, Bahnhof N – Zürich, Seebach 88.3%
2,023 trips · avg +1.4 min
-
Tram 2 Binningen, Kronenplatz – Basel, Badischer BahnhofBinningen, Kronenplatz – Basel, Badischer Bahnhof 88.6%
464 trips · avg +1.6 min
-
Tram 11 Zürich, Central – Zürich Tiefenbrunnen, BahnhofZürich, Central – Zürich Tiefenbrunnen, Bahnhof 92.8%
487 trips · avg +1 min
-
1,098 trips · avg +0.9 min
-
1,904 trips · avg +1 min
-
Tram 20 Killwangen, Bahnhof – Zürich Altstetten, BahnhofKillwangen, Bahnhof – Zürich Altstetten, Bahnhof 93.7%
1,079 trips · avg +1.1 min
-
1,515 trips · avg +1 min
Most punctual busy lines
-
968 trips · avg +0.1 min
-
1,889 trips · avg +0.9 min
-
1,515 trips · avg +1 min
-
Tram 20 Killwangen, Bahnhof – Zürich Altstetten, BahnhofKillwangen, Bahnhof – Zürich Altstetten, Bahnhof 93.7%
1,079 trips · avg +1.1 min
-
1,904 trips · avg +1 min
-
1,098 trips · avg +0.9 min
-
Tram 11 Zürich, Central – Zürich Tiefenbrunnen, BahnhofZürich, Central – Zürich Tiefenbrunnen, Bahnhof 92.8%
487 trips · avg +1 min
-
Tram 2 Binningen, Kronenplatz – Basel, Badischer BahnhofBinningen, Kronenplatz – Basel, Badischer Bahnhof 88.6%
464 trips · avg +1.6 min
Least punctual busy lines
-
366 trips · avg +3.7 min
-
1,043 trips · avg +3.1 min
-
429 trips · avg +3.5 min
-
1,171 trips · avg +3.4 min
-
Bus 109 Neuchâtel, Place Pury – Neuchâtel, Trois-ChênesNeuchâtel, Place Pury – Neuchâtel, Trois-Chênes 53.2%
1,367 trips · avg +3.1 min
-
534 trips · avg +2.6 min
-
346 trips · avg +4.3 min
-
Bus 898 Büren an der Aare, Bahnhof – Münchenbuchsee, BahnhofBüren an der Aare, Bahnhof – Münchenbuchsee, Bahnhof 61%
331 trips · avg +2.9 min
Show 17 more
-
1,165 trips · avg +3.5 min
-
1,033 trips · avg +3.6 min
-
454 trips · avg +3.3 min
-
314 trips · avg +3.2 min
-
964 trips · avg +3.3 min
-
568 trips · avg +2.6 min
-
1,492 trips · avg +2.7 min
-
1,139 trips · avg +2.7 min
-
679 trips · avg +3.5 min
-
481 trips · avg +2.5 min
-
284 trips · avg +2.2 min
-
300 trips · avg +2.6 min
-
1,917 trips · avg +2.6 min
-
1,498 trips · avg +2.4 min
-
Bus 33 Zürich, Triemli – Zürich Tiefenbrunnen, BahnhofZürich, Triemli – Zürich Tiefenbrunnen, Bahnhof 69.8%
2,010 trips · avg +2.3 min
-
Bus 61 Wallisellen, Glatt (Bus) – Zürich, MühlackerWallisellen, Glatt (Bus) – Zürich, Mühlacker 70.5%
1,067 trips · avg +2.4 min
-
619 trips · avg +2.4 min
Most punctual busy lines
-
Bus 1 Schaffhausen, Waldfriedhof – Neuhausen, HerbstäckerSchaffhausen, Waldfriedhof – Neuhausen, Herbstäcker 98.5%
1,301 trips · avg +0.8 min
-
1,534 trips · avg +0.6 min
-
1,294 trips · avg +0.7 min
-
1,270 trips · avg +0.7 min
-
1,271 trips · avg +0.9 min
-
Bus 101 Bern, Hauptbahnhof – Hinterkappelen, SchlossmattBern, Hauptbahnhof – Hinterkappelen, Schlossmatt 96.4%
1,419 trips · avg +0.5 min
-
Bus 6 St. Gallen, Bach St. Georgen – St. Gallen, HeiligkreuzSt. Gallen, Bach St. Georgen – St. Gallen, Heiligkreuz 95.8%
1,297 trips · avg +0.6 min
-
Bus 3 Winterthur, Oberseen – Winterthur, RosenbergWinterthur, Oberseen – Winterthur, Rosenberg 95.1%
1,847 trips · avg +0.9 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.5%
932 trips · avg +3.2 min
-
651 trips · avg +0.9 min
-
314 trips · avg +0.5 min
-
M4 Genève-Port Noir (lac) – Genève-De-Châteaubriand (lac)Genève-Port Noir (lac) – Genève-De-Châteaubriand (lac) 100%
294 trips · avg +0.5 min
Least punctual operators
-
Lugano-Ponte Tresa 71%
801 trips · avg +2.2 min
-
Busbetrieb Rapperswil-Eschenbach-Rüti ZH 74.4%
1,903 trips · avg +2 min
-
VBL 75.1%
25,725 trips · avg +2.2 min
-
Automobil Rottal 75.5%
2,932 trips · avg +2.1 min
-
Verkehrsbetrieb LIECHTENSTEINmobil 76.4%
5,258 trips · avg +2.2 min
-
TPG 76.9%
60,418 trips · avg +2.2 min
-
Verkehrsbetrieb der Landschaft Davos 77.3%
1,210 trips · avg +2.4 min
-
BVB 77.4%
31,376 trips · avg +2.1 min
Show 17 more
-
Transports Publics Neuchâtelois 78.2%
17,417 trips · avg +1.8 min
-
TPL 79.9%
10,471 trips · avg +1.7 min
-
Montreux-Oberland Bernois 80.1%
944 trips · avg +2 min
-
Bus Nyon-Prangins 80.5%
2,179 trips · avg +1.7 min
-
Mouettes genevoises 80.5%
2,191 trips · avg +1.8 min
-
Bus und Service 81.6%
10,122 trips · avg +1.7 min
-
Auto AG Rothenburg 82%
4,884 trips · avg +1.6 min
-
AFA Bus 83.4%
1,814 trips · avg +1.5 min
-
Busbetrieb Solothurn und Umgebung 83.7%
4,662 trips · avg +1.5 min
-
Regionale Verkehrsbetriebe Baden-Wettingen 83.9%
9,097 trips · avg +1.5 min
-
VBZ 85%
108,280 trips · avg +1.6 min
-
TPF 86.9%
26,143 trips · avg +1.2 min
-
Stadtbus Frauenfeld 87.1%
3,499 trips · avg +1.5 min
-
Bamert Bus 87.1%
1,088 trips · avg +1.4 min
-
Bernmobil 87.2%
32,678 trips · avg +1.5 min
-
Busbetrieb Aarau 87.8%
6,345 trips · avg +1.4 min
-
Regiobus Gossau SG 88.1%
3,408 trips · avg +1.3 min
Most punctual operators
-
Zentralbahn 99.1%
2,439 trips · avg +0.3 min
-
Regionalverkehr Bern-Solothurn 98.9%
3,921 trips · avg +0.3 min
-
Aare Seeland mobil 98.7%
2,228 trips · avg +0.4 min
-
Sihltal-Zürich-Uetliberg-Bahn 98.7%
2,017 trips · avg +0.6 min
-
THURBO 98%
7,808 trips · avg +0.4 min
-
Berner Oberland-Bahnen 98.1%
750 trips · avg +0.4 min
-
BLS 97.1%
10,683 trips · avg +0.6 min
-
Schweizerische Südostbahn 97.3%
3,535 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 95.1%
11,777 departures · avg +1 min
-
Bern 97.2%
7,198 departures · avg +0.9 min
-
Zürich Oerlikon 95.3%
6,120 departures · avg +1 min
-
Zürich Stadelhofen 91.8%
4,868 departures · avg +1.3 min
-
Winterthur 95.6%
4,844 departures · avg +1.1 min
-
Zürich Hardbrücke 85.5%
4,571 departures · avg +2 min
-
Olten 94.8%
4,232 departures · avg +1.1 min
-
Aarau 96%
3,631 departures · avg +0.8 min
-
St. Gallen 92.9%
3,604 departures · avg +1.3 min
-
Lausanne 91.9%
3,527 departures · avg +1.4 min
-
Renens VD 92.4%
3,470 departures · avg +1.2 min
-
Luzern 97.9%
3,218 departures · avg +0.8 min
-
19,889 departures · avg +2.3 min
-
Bern, Bahnhof 94.4%
19,649 departures · avg +1.2 min
-
Genève, Bel-Air 79%
19,266 departures · avg +2.2 min
-
16,291 departures · avg +2 min
-
15,025 departures · avg +1.6 min
-
Basel, Schifflände 83.3%
14,901 departures · avg +1.9 min
-
Zürich, Central 92.1%
14,765 departures · avg +1.2 min
-
Bern, Zytglogge 91%
14,419 departures · avg +1.5 min
-
Luzern, Bahnhof 88.4%
14,186 departures · avg +1.4 min
-
Lausanne, Bel-Air 78.2%
14,147 departures · avg +2 min
-
Basel, Bahnhof SBB 88.6%
13,841 departures · avg +1.6 min
-
Zürich, Bellevue 91.9%
13,749 departures · avg +1.3 min
-
Magliaso Paese 59.6%
801 departures · avg +3.4 min
-
Agno 59.7%
801 departures · avg +3.4 min
-
Magliaso 60.8%
801 departures · avg +3.2 min
-
Serocca 61.2%
801 departures · avg +3.2 min
-
Bioggio Molinazzo 64.4%
801 departures · avg +3.1 min
-
Bioggio 67.8%
801 departures · avg +2.7 min
-
Caslano 67.9%
801 departures · avg +2.9 min
-
Sorengo Laghetto 72.3%
801 departures · avg +2.7 min
-
Oberentfelden Engelplatz 72.5%
1,026 departures · avg +1.7 min
-
Muhen Nord 73%
1,026 departures · avg +1.7 min
-
Cappella-Agnuzzo 73%
801 departures · avg +2.4 min
-
Sorengo 73.5%
801 departures · avg +2.4 min
Largest delays
- NJ Feldkirch – Zürich HB Zürich HBand 2 more trips of this line +193 min
- Tram 14 Meyrin, Gravièreand 8 more trips of this line +177 min
- Bus 1 Gebenstorf, Reuss – Würenlos, Bettlen Baden, Bahnhof Ostand 5 more trips of this line +174 min
- TGV Zürich HB – Mulhouse Zürich HBand 2 more trips of this line +125 min
- Bus 601 St. Moritz, Bahnhof – Sils/Segl Maria, Posta St. Moritz, Bahnhofand 2 more trips of this line +117 min
- Bus 508 Schwyz, Bahnhof – Küssnacht am Rigi, Bahnhof Küssnacht am Rigi, Bahnhof +115 min
- Bus 6 Genève, Plage – Vernier, village Vernier, villageand 2 more trips of this line +101 min
- Tram 14 Basel, Dreirosenbrücke – Pratteln, Schlossstrasse Pratteln, Schlossstrasseand 8 more trips of this line +100 min
- Tram 18 Grand-Lancy, Palettes – Meyrin, CERN Grand-Lancy, Palettesand 3 more trips of this line +98 min
- Bus 421 Crans-Montana, Ycoor – Sierre/Siders,Place de la gare Aminona +98 min
- EC Bregenz – Zürich HB Zürich HBand 9 more trips of this line +94 min
- Tram 1 Basel, Bahnhof SBB – Basel, Dreirosenbrücke Basel, Dreirosenbrückeand 2 more trips of this line +94 min
- Bus 38 Chens-sur-Léman (F) +93 min
- Bus 3 Baden, Bahnhof Ost – Wettingen, Brunnenwiese Wettingen, Brunnenwiese +92 min
- Bus 521 Uznach, Bahnhof – Pfäffikon SZ, Bahnhof Pfäffikon SZ, Bahnhof +89 min