Punctuality of Swiss public transportWeek 4212 Oct – 18 Oct 2026
88.3% of 974,477 trips were on time. The best day was Sunday 18 October with 92.7%, the worst Thursday 15 October with 86.8%. Of the busy lines, Bus 101 Cormondrèche, Grand'Rue – Marin-Epagnier, gare had the lowest share on time: 17.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.3%
−0.6 ptsWeek before: 88.9% · 974,477 trips with live data
Average delay
+1.3 min
Canceled trips
5,075
0.5% of the trips
Day by day
The share on time of each day. A day opens its page.
- 95%
- Average: 88.3%
- Best day
- Sun 18 Oct · 92.7%
- Worst day
- Thu 15 Oct · 86.8%
- Worst hour
- Wed 17:00–18:00 · 70%
By mode
-
Train 94.6%
96,470 trips · avg +0.8 min
-
Tram 84.7%
76,219 trips · avg +1.6 min
-
Bus 88%
797,305 trips · avg +1.3 min
-
Metro 86.5%
2,179 trips · avg +1.6 min
-
Boat 59.9%
2,304 trips · avg +3.2 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
-
Bus 101 Cormondrèche, Grand'Rue – Marin-Epagnier, gareCormondrèche, Grand'Rue – Marin-Epagnier, gare 17.6%
1,066 trips · avg +5.6 min
-
Bus 109 Neuchâtel, Place Pury – Neuchâtel, Trois-ChênesNeuchâtel, Place Pury – Neuchâtel, Trois-Chênes 35.5%
1,320 trips · avg +4.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) 42.4%
932 trips · avg +4.4 min
-
489 trips · avg +4.2 min
-
594 trips · avg +4 min
-
750 trips · avg +4 min
-
Bus 16 Lausanne, Grand Vennes – Lausanne, Provence nordLausanne, Grand Vennes – Lausanne, Provence nord 51.3%
1,028 trips · avg +4.4 min
-
1,136 trips · avg +3.6 min
Show 17 more
-
Tram 8 Basel, Neuweilerstrasse – Weil am Rhein, Bahnhof/ZentrumBasel, Neuweilerstrasse – Weil am Rhein, Bahnhof/Zentrum 54.7%
450 trips · avg +3.6 min
-
1,469 trips · avg +3.3 min
-
1,572 trips · avg +4.1 min
-
1,173 trips · avg +3.8 min
-
1,068 trips · avg +3.2 min
-
1,878 trips · avg +3.4 min
-
439 trips · avg +3.4 min
-
449 trips · avg +3.5 min
-
1,198 trips · avg +3.2 min
-
300 trips · avg +2.9 min
-
588 trips · avg +3.2 min
-
Bus 6 St. Gallen, Bach St. Georgen – St. Gallen, HeiligkreuzSt. Gallen, Bach St. Georgen – St. Gallen, Heiligkreuz 63%
1,866 trips · avg +4.1 min
-
1,738 trips · avg +2.9 min
-
1,137 trips · avg +2.8 min
-
537 trips · avg +2.8 min
-
1,891 trips · avg +3.1 min
-
986 trips · avg +2.9 min
Most punctual busy lines
-
1,467 trips · avg +0.4 min
-
Bus 3 Winterthur, Oberseen – Winterthur, RosenbergWinterthur, Oberseen – Winterthur, Rosenberg 98.5%
1,848 trips · avg +0.4 min
-
1,516 trips · avg +0.9 min
-
1,859 trips · avg +0.5 min
-
Bus 781 Zürich Oerlikon, Bahnhof – Glattbrugg, GiebeleichstrasseZürich Oerlikon, Bahnhof – Glattbrugg, Giebeleichstrasse 97%
1,519 trips · avg +0.8 min
-
Bus 1 Winterthur, Oberwinterthur – Winterthur, TössWinterthur, Oberwinterthur – Winterthur, Töss 96.7%
1,840 trips · avg +0.7 min
-
2,051 trips · avg +0.9 min
-
1,896 trips · avg +0.9 min
Least punctual busy lines
-
412 trips · avg +7.2 min
-
766 trips · avg +1.3 min
-
324 trips · avg +1.8 min
-
285 trips · avg +1.2 min
-
493 trips · avg +1.4 min
-
490 trips · avg +1.5 min
-
420 trips · avg +1.2 min
-
290 trips · avg +1.2 min
Show 17 more
-
379 trips · avg +1.4 min
-
354 trips · avg +1.2 min
-
496 trips · avg +1.1 min
-
455 trips · avg +1.2 min
-
827 trips · avg +1.1 min
-
280 trips · avg +1.3 min
-
556 trips · avg +0.9 min
-
377 trips · avg +1.3 min
-
369 trips · avg +0.9 min
-
603 trips · avg +0.9 min
-
505 trips · avg +0.9 min
-
301 trips · avg +0.9 min
-
291 trips · avg +0.9 min
-
318 trips · avg +0.8 min
-
584 trips · avg +1 min
-
360 trips · avg +0.7 min
-
579 trips · avg +0.8 min
Most punctual busy lines
-
510 trips · avg +0 min
-
483 trips · avg +0.1 min
-
406 trips · avg +0 min
-
474 trips · avg +0.1 min
-
522 trips · avg +0.4 min
-
778 trips · avg +0.1 min
-
552 trips · avg +0.3 min
-
541 trips · avg +0.3 min
Least punctual busy lines
-
Tram 8 Basel, Neuweilerstrasse – Weil am Rhein, Bahnhof/ZentrumBasel, Neuweilerstrasse – Weil am Rhein, Bahnhof/Zentrum 54.7%
450 trips · avg +3.6 min
-
Tram 14 Basel, Dreirosenbrücke – Pratteln, SchlossstrasseBasel, Dreirosenbrücke – Pratteln, Schlossstrasse 66.2%
1,896 trips · avg +2.8 min
-
1,916 trips · avg +2.4 min
-
1,898 trips · avg +1.8 min
-
1,839 trips · avg +2.1 min
-
Tram 8 Bern, Saali – Bern Brünnen Westside, BahnhofBern, Saali – Bern Brünnen Westside, Bahnhof 77.1%
532 trips · avg +2 min
-
2,035 trips · avg +2 min
-
1,838 trips · avg +1.9 min
Show 17 more
-
890 trips · avg +1.6 min
-
1,929 trips · avg +1.9 min
-
2,664 trips · avg +1.6 min
-
Tram 2 Binningen, Kronenplatz – Basel, Badischer BahnhofBinningen, Kronenplatz – Basel, Badischer Bahnhof 86.2%
464 trips · avg +1.6 min
-
1,863 trips · avg +1.7 min
-
2,265 trips · avg +1.5 min
-
607 trips · avg +1.3 min
-
Tram 7 Stettbach, Bahnhof – Zürich, WollishoferplatzStettbach, Bahnhof – Zürich, Wollishoferplatz 88.4%
457 trips · avg +1.4 min
-
1,958 trips · avg +1.4 min
-
1,930 trips · avg +1.2 min
-
504 trips · avg +1.5 min
-
Tram 10 Zürich Flughafen, Fracht – Zürich, Bahnhofplatz/HBZürich Flughafen, Fracht – Zürich, Bahnhofplatz/HB 90.5%
411 trips · avg +1.2 min
-
1,902 trips · avg +0.9 min
-
1,942 trips · avg +1.2 min
-
Tram 51 Zürich Altstetten, Bahnhof N – Zürich, SeebachZürich Altstetten, Bahnhof N – Zürich, Seebach 93.8%
1,977 trips · avg +1.1 min
-
1,896 trips · avg +0.9 min
-
Tram 20 Killwangen, Bahnhof – Zürich Altstetten, BahnhofKillwangen, Bahnhof – Zürich Altstetten, Bahnhof 95%
1,085 trips · avg +1 min
Most punctual busy lines
-
853 trips · avg +0.1 min
-
1,516 trips · avg +0.9 min
-
Tram 11 Zürich, Central – Zürich Tiefenbrunnen, BahnhofZürich, Central – Zürich Tiefenbrunnen, Bahnhof 96%
453 trips · avg +0.8 min
-
1,086 trips · avg +1.7 min
-
Tram 20 Killwangen, Bahnhof – Zürich Altstetten, BahnhofKillwangen, Bahnhof – Zürich Altstetten, Bahnhof 95%
1,085 trips · avg +1 min
-
1,896 trips · avg +0.9 min
-
Tram 51 Zürich Altstetten, Bahnhof N – Zürich, SeebachZürich Altstetten, Bahnhof N – Zürich, Seebach 93.8%
1,977 trips · avg +1.1 min
-
1,942 trips · avg +1.2 min
Least punctual busy lines
-
Bus 101 Cormondrèche, Grand'Rue – Marin-Epagnier, gareCormondrèche, Grand'Rue – Marin-Epagnier, gare 17.6%
1,066 trips · avg +5.6 min
-
Bus 109 Neuchâtel, Place Pury – Neuchâtel, Trois-ChênesNeuchâtel, Place Pury – Neuchâtel, Trois-Chênes 35.5%
1,320 trips · avg +4.3 min
-
489 trips · avg +4.2 min
-
594 trips · avg +4 min
-
Bus 16 Lausanne, Grand Vennes – Lausanne, Provence nordLausanne, Grand Vennes – Lausanne, Provence nord 51.3%
1,028 trips · avg +4.4 min
-
1,136 trips · avg +3.6 min
-
1,469 trips · avg +3.3 min
-
1,572 trips · avg +4.1 min
Show 17 more
-
1,173 trips · avg +3.8 min
-
1,068 trips · avg +3.2 min
-
1,878 trips · avg +3.4 min
-
439 trips · avg +3.4 min
-
449 trips · avg +3.5 min
-
1,198 trips · avg +3.2 min
-
300 trips · avg +2.9 min
-
588 trips · avg +3.2 min
-
Bus 6 St. Gallen, Bach St. Georgen – St. Gallen, HeiligkreuzSt. Gallen, Bach St. Georgen – St. Gallen, Heiligkreuz 63%
1,866 trips · avg +4.1 min
-
1,738 trips · avg +2.9 min
-
1,137 trips · avg +2.8 min
-
537 trips · avg +2.8 min
-
1,891 trips · avg +3.1 min
-
986 trips · avg +2.9 min
-
Bus 9 Vernier, Lignon Tours – Thônex, Belle-Terre Pl. AraireVernier, Lignon Tours – Thônex, Belle-Terre Pl. Araire 65.2%
1,345 trips · avg +2.6 min
-
Bus 22 Carouge GE, Rondeau – Genève, Jardin BotaniqueCarouge GE, Rondeau – Genève, Jardin Botanique 65.6%
526 trips · avg +2.8 min
-
523 trips · avg +2.8 min
Most punctual busy lines
-
1,467 trips · avg +0.4 min
-
Bus 3 Winterthur, Oberseen – Winterthur, RosenbergWinterthur, Oberseen – Winterthur, Rosenberg 98.5%
1,848 trips · avg +0.4 min
-
1,258 trips · avg +0.7 min
-
1,859 trips · avg +0.5 min
-
Bus 3 Schaffhausen, Sommerwies – Schaffhausen, KrummackerSchaffhausen, Sommerwies – Schaffhausen, Krummacker 97%
1,275 trips · avg +0.7 min
-
Bus 781 Zürich Oerlikon, Bahnhof – Glattbrugg, GiebeleichstrasseZürich Oerlikon, Bahnhof – Glattbrugg, Giebeleichstrasse 97%
1,519 trips · avg +0.8 min
-
Bus 1 Winterthur, Oberwinterthur – Winterthur, TössWinterthur, Oberwinterthur – Winterthur, Töss 96.7%
1,840 trips · avg +0.7 min
-
1,288 trips · avg +1 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) 42.4%
932 trips · avg +4.4 min
-
750 trips · avg +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) 99.7%
308 trips · avg +0.6 min
Least punctual operators
-
Mouettes genevoises 59.9%
2,304 trips · avg +3.2 min
-
VBL 65%
25,661 trips · avg +2.9 min
-
TPL 71.7%
10,370 trips · avg +2.8 min
-
BVB 73.1%
29,511 trips · avg +2.4 min
-
Auto AG Rothenburg 75.3%
4,430 trips · avg +2.1 min
-
Transports Publics Neuchâtelois 76.3%
16,771 trips · avg +2 min
-
Automobil Rottal 76.7%
2,926 trips · avg +2.2 min
-
TPG 76.7%
60,899 trips · avg +2 min
Show 17 more
-
Autobetrieb Sernftal 78.6%
824 trips · avg +2 min
-
Busbetrieb Rapperswil-Eschenbach-Rüti ZH 80.2%
1,902 trips · avg +1.8 min
-
Busbetrieb Aarau 81.3%
6,332 trips · avg +1.7 min
-
tl 82%
45,115 trips · avg +1.8 min
-
Regionale Verkehrsbetriebe Baden-Wettingen 82.1%
9,096 trips · avg +1.8 min
-
Verkehrsbetrieb LIECHTENSTEINmobil 82.1%
5,188 trips · avg +1.8 min
-
Verkehrsbetriebe der Stadt St.Gallen 83.3%
11,566 trips · avg +1.7 min
-
Bernmobil 84.5%
34,701 trips · avg +1.6 min
-
Bus und Service 84.7%
10,297 trips · avg +1.5 min
-
Autolinee Regionali Luganesi 86.1%
1,421 trips · avg +1.3 min
-
Automobildienste Aare Seeland mobil 87.1%
4,095 trips · avg +1.3 min
-
Busbetrieb Solothurn und Umgebung 87.3%
4,787 trips · avg +1.3 min
-
Lugano-Ponte Tresa 87.3%
766 trips · avg +1.3 min
-
Autobus AG Liestal 87.4%
5,974 trips · avg +1.4 min
-
Verkehrsbetriebe Biel 87.8%
9,051 trips · avg +1.3 min
-
VBZ 88.5%
108,991 trips · avg +1.4 min
-
Stadtbus Frauenfeld 89.2%
3,522 trips · avg +1.6 min
Most punctual operators
-
Transports Publics de la Région Nyonnaise 100%
2,746 trips · avg +0 min
-
Bus Nyon-Prangins 100%
2,270 trips · avg +0.1 min
-
Sihltal-Zürich-Uetliberg-Bahn 99.6%
1,807 trips · avg +0.4 min
-
Zentralbahn 98.5%
2,481 trips · avg +0.4 min
-
Verkehrsbetrieb der Landschaft Davos 98.4%
2,538 trips · avg +0.3 min
-
Stadtbus Winterthur 98%
12,905 trips · avg +0.4 min
-
THURBO 97.6%
7,803 trips · avg +0.4 min
-
Matterhorn Gotthard Bahn 97.8%
2,226 trips · avg +0.2 min
Stations
The share of the departures less than 3 minutes late. A train station has departures of trains.
-
Zürich HB 93.9%
10,224 departures · avg +1.2 min
-
Bern 94.6%
7,221 departures · avg +1.1 min
-
Zürich Oerlikon 94.3%
5,853 departures · avg +1.1 min
-
Winterthur 95%
4,846 departures · avg +1.3 min
-
Zürich Stadelhofen 93.5%
4,451 departures · avg +1.2 min
-
Zürich Hardbrücke 86.4%
4,107 departures · avg +2 min
-
Olten 88.6%
4,007 departures · avg +1.6 min
-
Lausanne 87.2%
3,734 departures · avg +1.7 min
-
St. Gallen 92.9%
3,632 departures · avg +1.6 min
-
Aarau 91.9%
3,548 departures · avg +1.2 min
-
Renens VD 85.6%
3,442 departures · avg +1.7 min
-
Luzern 95.9%
3,255 departures · avg +0.9 min
-
Bern, Bahnhof 92.4%
19,633 departures · avg +1.3 min
-
19,570 departures · avg +1.8 min
-
Genève, Bel-Air 79.9%
18,931 departures · avg +1.8 min
-
Luzern, Kantonalbank 71.6%
14,984 departures · avg +2.5 min
-
Zürich, Central 93.5%
14,838 departures · avg +1.1 min
-
Basel, Schifflände 79.1%
14,835 departures · avg +2.1 min
-
Bern, Zytglogge 88.9%
14,382 departures · avg +1.6 min
-
Bern, Hirschengraben 88.1%
14,280 departures · avg +1.7 min
-
St. Gallen, Bahnhof 88.2%
13,715 departures · avg +1.5 min
-
Lausanne, Bel-Air 64.9%
13,652 departures · avg +3.2 min
-
Luzern, Bahnhof 81%
13,466 departures · avg +1.9 min
-
Basel, Bankverein 84.2%
13,465 departures · avg +1.9 min
-
Lustmühle 71.1%
702 departures · avg +2.6 min
-
Magliaso Paese 71.3%
766 departures · avg +2.6 min
-
1,026 departures · avg +1.7 min
-
Muhen Nord 73.1%
1,026 departures · avg +1.7 min
-
St. Gallen Riethüsli 74.9%
702 departures · avg +2.2 min
-
Agno 77.2%
766 departures · avg +2.5 min
-
Magliaso 77.3%
766 departures · avg +2.4 min
-
Bioggio Molinazzo 77.9%
766 departures · avg +2.1 min
-
Zug Chollermüli 78.3%
942 departures · avg +2.3 min
-
Grenchen Süd 78.7%
839 departures · avg +2.3 min
-
S. Antonino 78.7%
1,118 departures · avg +2.3 min
-
Bussigny 78.7%
1,129 departures · avg +2.1 min
Largest delays
- Bus 893 Wald ZH, Bahnhof – Wald ZH, Bahnhof Wald ZH, Bahnhofand 2 more trips of this line +292 min
- Bus 892 Wald ZH, Bahnhof – Wald ZH, Rehazentrum Wald ZH, Rehazentrumand 1 more trips of this line +287 min
- Bus 8 Corminboeuf, anc. poste – Marly, piscine Marly, piscine +285 min
- Tram 18 Esslingen – Zürich Stadelhofen, Bahnhof Zürich Stadelhofen, Bahnhofand 3 more trips of this line +282 min
- Bus 885 Rüti ZH, Bahnhofand 4 more trips of this line +242 min
- NJ Zürich HBand 2 more trips of this line +217 min
- Bus 47 Lutry, Landar +176 min
- NJ Feldkirch – Zürich HB Zürich HBand 2 more trips of this line +176 min
- Bus 41 Lausanne, Montolieu – Lausanne, Sallaz Montolieu +172 min
- Bus 1 Gebenstorf, Reuss – Würenlos, Bettlen Würenlos, Bettlenand 1 more trips of this line +170 min
- Bus 61 St-Ursanne, Pont St-Jean/ville +168 min
- Bus 712 Brusio, Posta – Viano, Paese Brusio, Postaand 3 more trips of this line +162 min
- Bus 84 Plan-les-Ouates, ZIPLOand 1 more trips of this line +159 min
- EC Bregenz – Zürich HB Zürich HBand 7 more trips of this line +147 min
- Bus 25 Glycines +141 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 49 Grands Champs +699 min
- Bus 9 Lutry, Cornicheand 6 more trips of this line +573 min