Punctuality of Swiss public transportWeek 2011 May – 17 May 2026
89.3% of 897,260 trips were on time. The best day was Saturday 16 May with 92.7%, the worst Tuesday 12 May with 85.1%. Of the busy lines, Bus 2 Brügg BE, Bahnhof – Biel/Bienne, Stadien/Stades had the lowest share on time: 33%.
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.
89.3%
+3 ptsWeek before: 86.3% · 897,260 trips with live data
Average delay
+1.2 min
Canceled trips
2,389
0.3% of the trips
Day by day
The share on time of each day. A day opens its page.
- 95%
- Average: 89.3%
- Best day
- Sat 16 May · 92.7%
- Worst day
- Tue 12 May · 85.1%
- Worst hour
- Tue 17:00–18:00 · 64.4%
By mode
-
Train 96.2%
96,006 trips · avg +0.7 min
-
Tram 86.1%
73,724 trips · avg +1.4 min
-
Bus 88.7%
723,267 trips · avg +1.2 min
-
Metro 94.1%
2,024 trips · avg +1.2 min
-
Boat 61.3%
2,239 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 2 Brügg BE, Bahnhof – Biel/Bienne, Stadien/StadesBrügg BE, Bahnhof – Biel/Bienne, Stadien/Stades 33%
288 trips · avg +5.4 min
-
Bus 101 Cormondrèche, Grand'Rue – Marin-Epagnier, gareCormondrèche, Grand'Rue – Marin-Epagnier, gare 33.5%
382 trips · avg +4.4 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.8%
800 trips · avg +4.6 min
-
Bus 109 Neuchâtel, Place Pury – Neuchâtel, Trois-ChênesNeuchâtel, Place Pury – Neuchâtel, Trois-Chênes 52.2%
1,243 trips · avg +3.1 min
-
847 trips · avg +3.8 min
-
1,144 trips · avg +3.2 min
-
352 trips · avg +3.6 min
-
740 trips · avg +3.9 min
Show 17 more
-
508 trips · avg +3.2 min
-
443 trips · avg +2.7 min
-
Bus 3 Grand-Saconnex, Gardiol – Genève, Crêts-de-ChampelGrand-Saconnex, Gardiol – Genève, Crêts-de-Champel 60.9%
1,564 trips · avg +3.2 min
-
429 trips · avg +2.6 min
-
Tram 8 Basel, Neuweilerstrasse – Weil am Rhein, Bahnhof/ZentrumBasel, Neuweilerstrasse – Weil am Rhein, Bahnhof/Zentrum 63.6%
660 trips · avg +2.7 min
-
Bus 3 Biel/Bienne, Mösliacker/Pt-Mar – Biel/Bienne, Vorhölzli/Bois-DvBiel/Bienne, Mösliacker/Pt-Mar – Biel/Bienne, Vorhölzli/Bois-Dv 64%
894 trips · avg +2.8 min
-
1,810 trips · avg +2.9 min
-
870 trips · avg +2.6 min
-
1,167 trips · avg +3.3 min
-
1,093 trips · avg +2.7 min
-
1,232 trips · avg +2.8 min
-
Bus 66 Thoiry, Centre commercial – Genève-Aéroport, TerminalThoiry, Centre commercial – Genève-Aéroport, Terminal 65.7%
300 trips · avg +2.5 min
-
401 trips · avg +7.2 min
-
284 trips · avg +2.7 min
-
287 trips · avg +2.7 min
-
1,070 trips · avg +2.7 min
-
1,929 trips · avg +2.6 min
Most punctual busy lines
-
1,964 trips · avg +0.6 min
-
1,525 trips · avg +0.4 min
-
1,868 trips · avg +0.8 min
-
1,416 trips · avg +0.7 min
-
1,602 trips · avg +0.9 min
-
1,515 trips · avg +0.9 min
-
Bus 1 Winterthur, Oberwinterthur – Winterthur, TössWinterthur, Oberwinterthur – Winterthur, Töss 95.2%
1,764 trips · avg +0.9 min
-
1,774 trips · avg +0.7 min
Least punctual busy lines
-
401 trips · avg +7.2 min
-
527 trips · avg +1.7 min
-
714 trips · avg +1 min
-
368 trips · avg +1.2 min
-
539 trips · avg +1.1 min
-
287 trips · avg +1 min
-
493 trips · avg +1.1 min
-
R15 Boudry Littorail – Neuchâtel Place Pury LittorailBoudry Littorail – Neuchâtel Place Pury Littorail 93.6%
298 trips · avg +1 min
Show 17 more
-
770 trips · avg +0.9 min
-
341 trips · avg +0.5 min
-
434 trips · avg +0.7 min
-
698 trips · avg +0.9 min
-
574 trips · avg +0.8 min
-
543 trips · avg +0.7 min
-
504 trips · avg +1.2 min
-
496 trips · avg +0.8 min
-
609 trips · avg +0.8 min
-
549 trips · avg +0.7 min
-
314 trips · avg +0.6 min
-
355 trips · avg +0.6 min
-
594 trips · avg +0.7 min
-
559 trips · avg +0.6 min
-
299 trips · avg +0.7 min
-
408 trips · avg +0.6 min
-
457 trips · avg +0.6 min
Most punctual busy lines
-
474 trips · avg +0.1 min
-
502 trips · avg +0.1 min
-
464 trips · avg +0.1 min
-
406 trips · avg +0 min
-
546 trips · avg +0.1 min
-
955 trips · avg +0.2 min
-
685 trips · avg +0.3 min
-
337 trips · avg +0.5 min
Least punctual busy lines
-
Tram 8 Basel, Neuweilerstrasse – Weil am Rhein, Bahnhof/ZentrumBasel, Neuweilerstrasse – Weil am Rhein, Bahnhof/Zentrum 63.6%
660 trips · avg +2.7 min
-
1,835 trips · avg +2.4 min
-
1,850 trips · avg +1.9 min
-
Tram 14 Basel, Dreirosenbrücke – Pratteln, SchlossstrasseBasel, Dreirosenbrücke – Pratteln, Schlossstrasse 72.8%
1,821 trips · avg +2.4 min
-
1,775 trips · avg +1.9 min
-
Tram 8 Bern, Saali – Bern Brünnen Westside, BahnhofBern, Saali – Bern Brünnen Westside, Bahnhof 82.3%
769 trips · avg +1.7 min
-
802 trips · avg +1.5 min
-
1,977 trips · avg +1.8 min
Show 17 more
-
1,862 trips · avg +1.6 min
-
402 trips · avg +1.6 min
-
1,754 trips · avg +1.4 min
-
Tram 9 Wabern, Tram-Endstation – Bern Wankdorf, BahnhofWabern, Tram-Endstation – Bern Wankdorf, Bahnhof 85.9%
2,204 trips · avg +1.6 min
-
2,212 trips · avg +1.6 min
-
1,780 trips · avg +1.6 min
-
1,960 trips · avg +1.4 min
-
446 trips · avg +1.3 min
-
1,906 trips · avg +1.6 min
-
350 trips · avg +1 min
-
Tram 7 Stettbach, Bahnhof – Zürich, WollishoferplatzStettbach, Bahnhof – Zürich, Wollishoferplatz 90.9%
704 trips · avg +1.3 min
-
Tram 10 Zürich Flughafen, Fracht – Zürich, Bahnhofplatz/HBZürich Flughafen, Fracht – Zürich, Bahnhofplatz/HB 91.9%
570 trips · avg +1.2 min
-
1,874 trips · avg +0.9 min
-
1,932 trips · avg +1.1 min
-
Tram 51 Zürich Altstetten, Bahnhof N – Zürich, SeebachZürich Altstetten, Bahnhof N – Zürich, Seebach 92.9%
1,969 trips · avg +1.1 min
-
Tram 11 Zürich, Central – Zürich Tiefenbrunnen, BahnhofZürich, Central – Zürich Tiefenbrunnen, Bahnhof 94%
702 trips · avg +1 min
-
324 trips · avg +0.9 min
Most punctual busy lines
-
813 trips · avg +0.4 min
-
Tram 15 Zürich, Bahnhofstrasse/HB – Zürich Tiefenbrunnen, BahnhofZürich, Bahnhofstrasse/HB – Zürich Tiefenbrunnen, Bahnhof 97.4%
420 trips · avg +0.7 min
-
1,026 trips · avg +0.6 min
-
1,868 trips · avg +0.8 min
-
Tram 12 Stettbach, Bahnhof – Zürich Flughafen, FrachtStettbach, Bahnhof – Zürich Flughafen, Fracht 95.8%
308 trips · avg +1.2 min
-
Tram 20 Killwangen, Bahnhof – Zürich Altstetten, BahnhofKillwangen, Bahnhof – Zürich Altstetten, Bahnhof 95.8%
1,083 trips · avg +0.8 min
-
1,515 trips · avg +0.9 min
-
324 trips · avg +0.9 min
Least punctual busy lines
-
Bus 2 Brügg BE, Bahnhof – Biel/Bienne, Stadien/StadesBrügg BE, Bahnhof – Biel/Bienne, Stadien/Stades 33%
288 trips · avg +5.4 min
-
Bus 101 Cormondrèche, Grand'Rue – Marin-Epagnier, gareCormondrèche, Grand'Rue – Marin-Epagnier, gare 33.5%
382 trips · avg +4.4 min
-
Bus 109 Neuchâtel, Place Pury – Neuchâtel, Trois-ChênesNeuchâtel, Place Pury – Neuchâtel, Trois-Chênes 52.2%
1,243 trips · avg +3.1 min
-
1,144 trips · avg +3.2 min
-
352 trips · avg +3.6 min
-
740 trips · avg +3.9 min
-
508 trips · avg +3.2 min
-
443 trips · avg +2.7 min
Show 17 more
-
Bus 3 Grand-Saconnex, Gardiol – Genève, Crêts-de-ChampelGrand-Saconnex, Gardiol – Genève, Crêts-de-Champel 60.9%
1,564 trips · avg +3.2 min
-
429 trips · avg +2.6 min
-
Bus 3 Biel/Bienne, Mösliacker/Pt-Mar – Biel/Bienne, Vorhölzli/Bois-DvBiel/Bienne, Mösliacker/Pt-Mar – Biel/Bienne, Vorhölzli/Bois-Dv 64%
894 trips · avg +2.8 min
-
1,810 trips · avg +2.9 min
-
870 trips · avg +2.6 min
-
1,167 trips · avg +3.3 min
-
1,093 trips · avg +2.7 min
-
1,232 trips · avg +2.8 min
-
Bus 66 Thoiry, Centre commercial – Genève-Aéroport, TerminalThoiry, Centre commercial – Genève-Aéroport, Terminal 65.7%
300 trips · avg +2.5 min
-
284 trips · avg +2.7 min
-
287 trips · avg +2.7 min
-
1,070 trips · avg +2.7 min
-
1,929 trips · avg +2.6 min
-
1,865 trips · avg +2.6 min
-
1,252 trips · avg +2.6 min
-
Bus 61 Wallisellen, Glatt (Bus) – Zürich, MühlackerWallisellen, Glatt (Bus) – Zürich, Mühlacker 69.6%
1,035 trips · avg +2.3 min
-
1,258 trips · avg +2.9 min
Most punctual busy lines
-
1,198 trips · avg +0.6 min
-
1,525 trips · avg +0.4 min
-
1,208 trips · avg +0.6 min
-
1,225 trips · avg +0.5 min
-
1,416 trips · avg +0.7 min
-
1,602 trips · avg +0.9 min
-
Bus 1 Winterthur, Oberwinterthur – Winterthur, TössWinterthur, Oberwinterthur – Winterthur, Töss 95.2%
1,764 trips · avg +0.9 min
-
1,774 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) 42.8%
800 trips · avg +4.6 min
-
847 trips · avg +3.8 min
-
296 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) 99.7%
296 trips · avg +0.6 min
Least punctual operators
-
Mouettes genevoises 61.3%
2,239 trips · avg +3.2 min
-
VBL 74.2%
24,422 trips · avg +2.3 min
-
TPL 75.9%
10,045 trips · avg +2.1 min
-
Verkehrsbetrieb LIECHTENSTEINmobil 77.4%
4,548 trips · avg +2.2 min
-
Automobil Rottal 78.3%
2,766 trips · avg +2 min
-
Transports Publics Neuchâtelois 78.6%
15,414 trips · avg +1.8 min
-
BVB 79.1%
30,404 trips · avg +1.9 min
-
Verkehrsbetriebe Biel 79.1%
8,814 trips · avg +2 min
Show 17 more
-
TPG 79.7%
55,882 trips · avg +1.8 min
-
Busbetrieb Aarau 80.9%
6,198 trips · avg +1.8 min
-
Auto AG Rothenburg 82.2%
4,670 trips · avg +1.7 min
-
Busbetrieb Rapperswil-Eschenbach-Rüti ZH 84.3%
1,538 trips · avg +1.6 min
-
Bus und Service 84.5%
9,375 trips · avg +1.6 min
-
Bus Sierrois 84.7%
1,461 trips · avg +1.5 min
-
Regionale Verkehrsbetriebe Baden-Wettingen 84.9%
8,672 trips · avg +1.5 min
-
Regiobus Gossau SG 85.3%
3,835 trips · avg +1.6 min
-
Autobetrieb Sernftal 85.3%
716 trips · avg +1.7 min
-
Stadtbus Frauenfeld 85.8%
2,846 trips · avg +1.5 min
-
Busbetrieb Solothurn und Umgebung 86.3%
4,305 trips · avg +1.3 min
-
Sierre-Montana-Crans 86.8%
1,288 trips · avg +1.4 min
-
VBZ 86.8%
104,186 trips · avg +1.4 min
-
Bus Nyon-Prangins 86.9%
1,922 trips · avg +1.3 min
-
tl 87.2%
45,217 trips · avg +1.3 min
-
Automobiles MBC 87.4%
7,085 trips · avg +1.4 min
-
Automobildienste Aare Seeland mobil 88.5%
3,719 trips · avg +1.7 min
Most punctual operators
-
Sihltal-Zürich-Uetliberg-Bahn 99.6%
1,780 trips · avg +0.3 min
-
Regionalverkehr Bern-Solothurn 99.2%
3,765 trips · avg +0.2 min
-
Aare Seeland mobil 99%
2,128 trips · avg +0.3 min
-
THURBO 98.6%
7,801 trips · avg +0.3 min
-
Appenzeller Bahnen 98.6%
2,211 trips · avg +0.4 min
-
Zentralbahn 98.5%
2,450 trips · avg +0.3 min
-
Verkehrsbetrieb der Landschaft Davos 98.4%
2,433 trips · avg +0.3 min
-
Wengernalpbahn 98.7%
990 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 94.5%
10,406 departures · avg +1.2 min
-
Bern 97.2%
6,945 departures · avg +0.9 min
-
Zürich Oerlikon 94.9%
6,027 departures · avg +1.1 min
-
Zürich Stadelhofen 92.2%
4,728 departures · avg +1.3 min
-
Winterthur 96.8%
4,497 departures · avg +1 min
-
4,459 departures · avg +2.1 min
-
Olten 93.2%
4,298 departures · avg +1.3 min
-
Lausanne 93.6%
3,555 departures · avg +1.2 min
-
Renens VD 93.6%
3,504 departures · avg +1.1 min
-
St. Gallen 95.8%
3,457 departures · avg +1.1 min
-
Aarau 95.2%
3,274 departures · avg +0.9 min
-
Luzern 98%
3,227 departures · avg +0.8 min
-
Bern, Bahnhof 95.3%
19,069 departures · avg +1.1 min
-
Genève, gare Cornavin 79.2%
18,159 departures · avg +1.8 min
-
Genève, Bel-Air 81.9%
17,837 departures · avg +1.7 min
-
Luzern, Kantonalbank 78.4%
15,560 departures · avg +2.1 min
-
Zürich, Central 93.5%
14,759 departures · avg +1.1 min
-
Bern, Hirschengraben 91.1%
14,566 departures · avg +1.5 min
-
Basel, Schifflände 82.5%
14,252 departures · avg +1.9 min
-
Bern, Zytglogge 91.8%
13,855 departures · avg +1.4 min
-
Luzern, Bahnhof 87.1%
13,629 departures · avg +1.5 min
-
Basel, Bahnhof SBB 87.6%
13,420 departures · avg +1.6 min
-
Lausanne, Bel-Air 77.2%
13,298 departures · avg +2 min
-
Zürich, Bellevue 93.1%
13,203 departures · avg +1.2 min
-
Magliaso Paese 67.6%
714 departures · avg +2.5 min
-
Agno 72.4%
714 departures · avg +2.4 min
-
Magliaso 73.9%
714 departures · avg +2.2 min
-
Serocca 74.8%
714 departures · avg +2.1 min
-
Oberentfelden Engelplatz 75.9%
983 departures · avg +1.5 min
-
Muhen Nord 76%
983 departures · avg +1.5 min
-
Como S. Giovanni 76.7%
799 departures · avg +3 min
-
Bioggio Molinazzo 77.5%
714 departures · avg +2 min
-
Chiasso 78.5%
1,273 departures · avg +2.6 min
-
Zug Chollermüli 78.8%
868 departures · avg +2.2 min
-
Zug Schutzengel 80.4%
850 departures · avg +2.1 min
-
Killwangen-Spreitenbach 80.5%
1,141 departures · avg +2 min
Largest delays
- Bus 74 Russin, village +200 min
- Bus 970 Hombrechtikon, Post – Feldbach, Bahnhof Hombrechtikon, Post +182 min
- ICE Basel Bad Bfand 5 more trips of this line +165 min
- Bus 611 Zug, St. Johannes – Oberwil b. Zug,Klinik Zugersee Oberwil b. Zug,Klinik Zugersee +164 min
- Bus 5 Schaffhausen, Bahnhof – Schaffhausen, Schlossweiher Schaffhausen, Schlossweiherand 1 more trips of this line +153 min
- Bus 111 Waldibrücke, Bahnhof – Ebikon, Bahnhof Ebikon, Bahnhofand 5 more trips of this line +138 min
- Bus 1 Ebikon, Fildern – Obernau, Dorf Obernau, Dorf +121 min
- Bus 70 Satigny, gare – Confignon, croisée Confignon, croisée +119 min
- Bus 321 Hohenems, Bahnhofand 3 more trips of this line +116 min
- S64 Erzingen (Baden) – Schaffhausen Schaffhausen +114 min
- N5 Lausanne, St-François – St-Sulpice VD, Venoge sud Venoge sudand 1 more trips of this line +114 min
- Bus 24 Meggen, Tschädigenand 1 more trips of this line +108 min
- Bus 54 Vernier, Parfumerie +108 min
- ICE Basel Bad Bfand 7 more trips of this line +108 min
- TGV Bellegarde-sur-Valserine – Genève Lausanne +106 min
›Probably errors in the feed (1)
Delays of more than 6 hours. The real-time feed sent them, but they are probably not real.
- Bus 1 Biel/Bienne, Löhre/Mauchamp – Biel/Bienne, Stadien/Stades Biel/Bienne, Stadien/Stadesand 2 more trips of this line +560 min