Punctuality of Swiss public transportWeek 2729 Jun – 5 Jul 2026
86.3% of 971,127 trips were on time. The best day was Sunday 5 July with 91.4%, the worst Wednesday 1 July with 84.2%. Of the busy lines, Bus 33 Puplinge, Pré-Marquis – Genève, Rive had the lowest share on time: 28.4%.
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.3%
±0 ptsWeek before: 86.4% · 971,127 trips with live data
Average delay
+1.4 min
Canceled trips
6,508
0.7% of the trips
Day by day
The share on time of each day. A day opens its page.
- 95%
- Average: 86.3%
By mode
-
Train 93.2%
97,635 trips · avg +0.9 min
-
Tram 80.2%
80,656 trips · avg +2 min
-
Bus 86.2%
788,142 trips · avg +1.4 min
-
Metro 96.6%
1,979 trips · avg +1.1 min
-
Boat 47%
2,715 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
-
577 trips · avg +6.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) 31.9%
1,075 trips · avg +5.5 min
-
1,037 trips · avg +5.1 min
-
618 trips · avg +6.3 min
-
587 trips · avg +6.8 min
-
280 trips · avg +4 min
-
Bus 68 Thoiry, Centre commercial – Vernier, BlandonnetThoiry, Centre commercial – Vernier, Blandonnet 39.5%
777 trips · avg +5.2 min
-
439 trips · avg +4.6 min
Show 17 more
-
Bus 109 Neuchâtel, Place Pury – Neuchâtel, Trois-ChênesNeuchâtel, Place Pury – Neuchâtel, Trois-Chênes 46.7%
1,318 trips · avg +3.6 min
-
495 trips · avg +5.8 min
-
490 trips · avg +5 min
-
1,058 trips · avg +4.6 min
-
1,133 trips · avg +4.4 min
-
1,470 trips · avg +4.2 min
-
Bus 163 Kilchberg ZH, Bahnhof – Kilchberg ZH, Schlimbergstr.Kilchberg ZH, Bahnhof – Kilchberg ZH, Schlimbergstr. 53.2%
500 trips · avg +3 min
-
783 trips · avg +3.9 min
-
1,060 trips · avg +3.7 min
-
487 trips · avg +3.2 min
-
877 trips · avg +3.6 min
-
314 trips · avg +3.2 min
-
1,880 trips · avg +4.6 min
-
403 trips · avg +4.9 min
-
Bus 33 Zürich, Triemli – Zürich Tiefenbrunnen, BahnhofZürich, Triemli – Zürich Tiefenbrunnen, Bahnhof 56.4%
1,991 trips · avg +3.7 min
-
Bus 32 Zürich, Strassenverkehrsamt – Zürich, HolzerhurdZürich, Strassenverkehrsamt – Zürich, Holzerhurd 56.5%
2,096 trips · avg +3.3 min
-
1,152 trips · avg +3.6 min
Most punctual busy lines
-
1,459 trips · avg +0.6 min
-
1,624 trips · avg +0.8 min
-
1,806 trips · avg +0.9 min
-
Bus 781 Zürich Oerlikon, Bahnhof – Glattbrugg, GiebeleichstrasseZürich Oerlikon, Bahnhof – Glattbrugg, Giebeleichstrasse 94.6%
1,509 trips · avg +1 min
-
1,385 trips · avg +0.9 min
-
2,040 trips · avg +1.1 min
-
1,820 trips · avg +0.9 min
-
1,503 trips · avg +1.3 min
Least punctual busy lines
-
495 trips · avg +5.8 min
-
403 trips · avg +4.9 min
-
426 trips · avg +8.9 min
-
745 trips · avg +2.2 min
-
334 trips · avg +2.3 min
-
727 trips · avg +1.8 min
-
526 trips · avg +1.4 min
-
405 trips · avg +1.2 min
Show 17 more
-
414 trips · avg +1.3 min
-
711 trips · avg +1.1 min
-
559 trips · avg +1.1 min
-
823 trips · avg +1.2 min
-
361 trips · avg +0.9 min
-
389 trips · avg +0.8 min
-
458 trips · avg +0.9 min
-
497 trips · avg +1.3 min
-
550 trips · avg +0.8 min
-
694 trips · avg +1 min
-
2,040 trips · avg +1.1 min
-
514 trips · avg +0.6 min
-
299 trips · avg +0.7 min
-
369 trips · avg +0.5 min
-
438 trips · avg +0.8 min
-
323 trips · avg +0.8 min
-
522 trips · avg +0.8 min
Most punctual busy lines
-
406 trips · avg +0 min
-
867 trips · avg +0.3 min
-
1,000 trips · avg +0.2 min
-
553 trips · avg +0.2 min
-
553 trips · avg +0.2 min
-
545 trips · avg +0.2 min
-
396 trips · avg +0.2 min
-
460 trips · avg +0.3 min
Least punctual busy lines
-
1,845 trips · avg +2.4 min
-
Tram 8 Basel, Neuweilerstrasse – Weil am Rhein, Bahnhof/ZentrumBasel, Neuweilerstrasse – Weil am Rhein, Bahnhof/Zentrum 66.2%
467 trips · avg +2.5 min
-
1,830 trips · avg +2.2 min
-
1,926 trips · avg +1.8 min
-
Tram 11 Zürich, Central – Zürich Tiefenbrunnen, BahnhofZürich, Central – Zürich Tiefenbrunnen, Bahnhof 76%
467 trips · avg +2.3 min
-
1,887 trips · avg +2.1 min
-
1,934 trips · avg +1.9 min
-
Tram 8 Bern, Saali – Bern Brünnen Westside, BahnhofBern, Saali – Bern Brünnen Westside, Bahnhof 80.5%
533 trips · avg +1.8 min
Show 16 more
-
2,277 trips · avg +2 min
-
Tram 9 Wabern, Tram-Endstation – Bern Wankdorf, BahnhofWabern, Tram-Endstation – Bern Wankdorf, Bahnhof 82%
2,319 trips · avg +2.2 min
-
1,878 trips · avg +1.6 min
-
1,085 trips · avg +1.8 min
-
2,039 trips · avg +2.1 min
-
352 trips · avg +1.3 min
-
1,952 trips · avg +2 min
-
1,954 trips · avg +1.4 min
-
1,976 trips · avg +1.3 min
-
Tram 7 Stettbach, Bahnhof – Zürich, WollishoferplatzStettbach, Bahnhof – Zürich, Wollishoferplatz 88.7%
478 trips · avg +1.4 min
-
Tram 51 Zürich Altstetten, Bahnhof N – Zürich, SeebachZürich Altstetten, Bahnhof N – Zürich, Seebach 91.3%
1,958 trips · avg +1.2 min
-
1,503 trips · avg +1.3 min
-
1,820 trips · avg +0.9 min
-
1,806 trips · avg +0.9 min
-
Tram 10 Zürich Flughafen, Fracht – Zürich, Bahnhofplatz/HBZürich Flughafen, Fracht – Zürich, Bahnhofplatz/HB 94.9%
411 trips · avg +1 min
-
Tram 20 Killwangen, Bahnhof – Zürich Altstetten, BahnhofKillwangen, Bahnhof – Zürich Altstetten, Bahnhof 95.9%
1,076 trips · avg +0.9 min
Most punctual busy lines
-
Tram 20 Killwangen, Bahnhof – Zürich Altstetten, BahnhofKillwangen, Bahnhof – Zürich Altstetten, Bahnhof 95.9%
1,076 trips · avg +0.9 min
-
Tram 10 Zürich Flughafen, Fracht – Zürich, Bahnhofplatz/HBZürich Flughafen, Fracht – Zürich, Bahnhofplatz/HB 94.9%
411 trips · avg +1 min
-
1,806 trips · avg +0.9 min
-
1,820 trips · avg +0.9 min
-
1,503 trips · avg +1.3 min
-
Tram 51 Zürich Altstetten, Bahnhof N – Zürich, SeebachZürich Altstetten, Bahnhof N – Zürich, Seebach 91.3%
1,958 trips · avg +1.2 min
-
Tram 7 Stettbach, Bahnhof – Zürich, WollishoferplatzStettbach, Bahnhof – Zürich, Wollishoferplatz 88.7%
478 trips · avg +1.4 min
-
1,976 trips · avg +1.3 min
Least punctual busy lines
-
577 trips · avg +6.6 min
-
618 trips · avg +6.3 min
-
587 trips · avg +6.8 min
-
280 trips · avg +4 min
-
Bus 68 Thoiry, Centre commercial – Vernier, BlandonnetThoiry, Centre commercial – Vernier, Blandonnet 39.5%
777 trips · avg +5.2 min
-
439 trips · avg +4.6 min
-
Bus 109 Neuchâtel, Place Pury – Neuchâtel, Trois-ChênesNeuchâtel, Place Pury – Neuchâtel, Trois-Chênes 46.7%
1,318 trips · avg +3.6 min
-
490 trips · avg +5 min
Show 17 more
-
1,058 trips · avg +4.6 min
-
1,133 trips · avg +4.4 min
-
1,470 trips · avg +4.2 min
-
Bus 163 Kilchberg ZH, Bahnhof – Kilchberg ZH, Schlimbergstr.Kilchberg ZH, Bahnhof – Kilchberg ZH, Schlimbergstr. 53.2%
500 trips · avg +3 min
-
783 trips · avg +3.9 min
-
1,060 trips · avg +3.7 min
-
487 trips · avg +3.2 min
-
877 trips · avg +3.6 min
-
314 trips · avg +3.2 min
-
1,880 trips · avg +4.6 min
-
Bus 33 Zürich, Triemli – Zürich Tiefenbrunnen, BahnhofZürich, Triemli – Zürich Tiefenbrunnen, Bahnhof 56.4%
1,991 trips · avg +3.7 min
-
Bus 32 Zürich, Strassenverkehrsamt – Zürich, HolzerhurdZürich, Strassenverkehrsamt – Zürich, Holzerhurd 56.5%
2,096 trips · avg +3.3 min
-
1,152 trips · avg +3.6 min
-
1,144 trips · avg +2.8 min
-
431 trips · avg +2.9 min
-
1,138 trips · avg +4.1 min
-
Bus 108 Neuchâtel, Temple Valangines – Neuchâtel, Place PuryNeuchâtel, Temple Valangines – Neuchâtel, Place Pury 60.3%
1,206 trips · avg +2.9 min
Most punctual busy lines
-
1,459 trips · avg +0.6 min
-
1,263 trips · avg +0.8 min
-
1,302 trips · avg +0.5 min
-
1,624 trips · avg +0.8 min
-
1,270 trips · avg +0.8 min
-
Bus 5 St. Gallen, Riethüsli – St. Gallen, RotmontenSt. Gallen, Riethüsli – St. Gallen, Rotmonten 95.7%
1,307 trips · avg +0.9 min
-
1,289 trips · avg +0.8 min
-
Bus 6 St. Gallen, Bach St. Georgen – St. Gallen, HeiligkreuzSt. Gallen, Bach St. Georgen – St. Gallen, Heiligkreuz 95.1%
1,298 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) 31.9%
1,075 trips · avg +5.5 min
-
1,037 trips · avg +5.1 min
-
363 trips · avg +0.9 min
Least punctual operators
-
Mouettes genevoises 47%
2,715 trips · avg +4.3 min
-
Berner Oberland-Bahnen 51.1%
898 trips · avg +5.4 min
-
TPG 63.8%
58,152 trips · avg +3.3 min
-
VBL 64.5%
25,586 trips · avg +3.4 min
-
Transports Publics Neuchâtelois 72.9%
18,355 trips · avg +2.3 min
-
Wengernalpbahn 73.8%
1,079 trips · avg +2.3 min
-
Busbetrieb Aarau 74.2%
6,385 trips · avg +2.5 min
-
Automobil Rottal 75.6%
2,928 trips · avg +2.1 min
Show 17 more
-
Verkehrsbetrieb LIECHTENSTEINmobil 76.2%
5,542 trips · avg +2.2 min
-
Autobetrieb Sernftal 76.6%
830 trips · avg +1.9 min
-
TPL 78.4%
9,957 trips · avg +1.9 min
-
BVB 79.4%
34,151 trips · avg +1.9 min
-
Busbetrieb Rapperswil-Eschenbach-Rüti ZH 79.7%
1,902 trips · avg +1.8 min
-
Auto AG Rothenburg 79.8%
4,887 trips · avg +2.3 min
-
Matterhorn Gotthard Bahn 81%
2,137 trips · avg +1.8 min
-
Bus und Service 81.8%
10,263 trips · avg +1.7 min
-
Regionale Verkehrsbetriebe Baden-Wettingen 82.1%
9,084 trips · avg +1.6 min
-
VBZ 83.1%
108,336 trips · avg +1.7 min
-
Regiobus Gossau SG 83.1%
4,193 trips · avg +1.6 min
-
tl 83.2%
43,732 trips · avg +1.6 min
-
Forchbahn 83.2%
1,085 trips · avg +1.8 min
-
Busbetrieb Solothurn und Umgebung 83.5%
4,852 trips · avg +1.5 min
-
Transports publics Vevey-Montreux-Chillon-Villeneuve 83.8%
7,976 trips · avg +1.5 min
-
Verkehrsbetriebe Biel 84.8%
9,058 trips · avg +1.4 min
-
Stadtbus Frauenfeld 85.5%
3,502 trips · avg +1.6 min
Most punctual operators
-
Sihltal-Zürich-Uetliberg-Bahn 98.9%
1,797 trips · avg +0.4 min
-
Aare Seeland mobil 98.9%
2,222 trips · avg +0.3 min
-
Lausanne-Echallens-Bercher 98.8%
899 trips · avg +0.3 min
-
THURBO 98.1%
7,802 trips · avg +0.4 min
-
Regionalverkehr Bern-Solothurn 98.2%
3,935 trips · avg +0.4 min
-
Schweizerische Südostbahn 97.2%
3,544 trips · avg +0.5 min
-
Autolinee Regionali Luganesi 97.3%
1,275 trips · avg +0.4 min
-
BLS 96.5%
10,658 trips · avg +0.6 min
Stations
The share of the departures less than 3 minutes late. A train station has departures of trains.
-
Zürich HB 92.3%
10,820 departures · avg +1.4 min
-
Bern 94.8%
7,052 departures · avg +1.1 min
-
Zürich Oerlikon 94.1%
6,291 departures · avg +1.2 min
-
Zürich Stadelhofen 89.8%
4,904 departures · avg +1.4 min
-
Winterthur 94.6%
4,876 departures · avg +1.4 min
-
Zürich Hardbrücke 82.6%
4,741 departures · avg +2.1 min
-
Olten 88.7%
3,994 departures · avg +1.6 min
-
St. Gallen 93.3%
3,650 departures · avg +1.5 min
-
Aarau 90.9%
3,624 departures · avg +1.2 min
-
Lausanne 90.5%
3,553 departures · avg +1.5 min
-
Luzern 97.1%
3,255 departures · avg +0.9 min
-
Worblaufen 97.4%
3,160 departures · avg +0.9 min
-
Bern, Bahnhof 94.4%
19,911 departures · avg +1.3 min
-
Genève, gare Cornavin 64.8%
16,726 departures · avg +3.1 min
-
Genève, Bel-Air 65.1%
16,113 departures · avg +3.3 min
-
Basel, Bahnhof SBB 83.1%
15,117 departures · avg +1.9 min
-
15,002 departures · avg +1.8 min
-
Luzern, Kantonalbank 69.6%
14,942 departures · avg +3.1 min
-
Zürich, Central 91.1%
14,919 departures · avg +1.3 min
-
Bern, Zytglogge 91%
14,420 departures · avg +1.6 min
-
Luzern, Bahnhof 78.5%
13,441 departures · avg +2.5 min
-
St. Gallen, Bahnhof 90.3%
13,418 departures · avg +1.3 min
-
Zürich, Bellevue 89.7%
13,282 departures · avg +1.4 min
-
12,938 departures · avg +2.3 min
-
884 departures · avg +5.2 min
-
Wilderswil 51.2%
884 departures · avg +5.1 min
-
Zweilütschinen 53.3%
840 departures · avg +5.3 min
-
Gelterkinden 63.3%
950 departures · avg +2.7 min
-
736 departures · avg +2.8 min
-
Oberentfelden Engelplatz 69.3%
1,026 departures · avg +1.9 min
-
Muhen Nord 69.5%
1,026 departures · avg +1.9 min
-
Sissach 73.4%
1,077 departures · avg +2.3 min
-
736 departures · avg +2.4 min
-
Niederteufen 74.8%
703 departures · avg +2.5 min
-
736 departures · avg +2.5 min
-
Cham Alpenblick 75.8%
946 departures · avg +2.3 min
Largest delays
- RJX Zürich HBand 5 more trips of this line +203 min
- NJ Zürich HBand 2 more trips of this line +195 min
- Tram 8 Weil am Rhein, Bahnhof/Zentrum +177 min
- Bus 1 Gebenstorf, Reuss – Würenlos, Bettlen Würenlos, Bettlen +176 min
- EC Bregenz – Zürich HB Zürich HBand 15 more trips of this line +156 min
- Bus 634 Baar, Bahnhof – Oberägeri, Station Baar, Bahnhof +146 min
- Bus 14 Horw, Zentrumand 5 more trips of this line +137 min
- Tram 15 Genève, Nationsand 8 more trips of this line +130 min
- Bus 847 Diessenhofen, Bahnhof – Marthalen, Bahnhof Diessenhofen, Bahnhofand 5 more trips of this line +122 min
- Bus 19 Luzern, Friedental – Luzern, Luzernerhof Luzern, Bahnhofand 1 more trips of this line +120 min
- Bus 40 Luzern Littau, Bahnhofand 4 more trips of this line +120 min
- Bus 74 Russin, village +118 min
- Bus 20 Veyrier, Tournettes – Bellevue GE, Valavran Veyrier, Tournettes +114 min
- Bus 33 Zürich, Triemli – Zürich Tiefenbrunnen, Bahnhof Zürich Tiefenbrunnen, Bahnhofand 1 more trips of this line +112 min
- Tram 12 Genève, Bel-Airand 16 more trips of this line +107 min