Punctuality of Swiss public transportWeek 1216 Mar – 22 Mar 2026
88.3% of 970,576 trips were on time. The best day was Sunday 22 March with 93%, the worst Wednesday 18 March with 86.6%. Of the busy lines, Bus 101 Marin-Epagnier, gare – Cormondrèche, Grand'Rue had the lowest share on time: 22.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.
88.3%
±0 ptsWeek before: 88.2% · 970,576 trips with live data
Average delay
+1.2 min
Canceled trips
2,720
0.3% 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 22 Mar · 93%
- Worst day
- Wed 18 Mar · 86.6%
- Worst hour
- Wed 17:00–18:00 · 67.2%
By mode
-
Train 95.8%
97,424 trips · avg +0.7 min
-
Tram 85.5%
75,262 trips · avg +1.5 min
-
Bus 87.7%
793,281 trips · avg +1.3 min
-
Metro 92.3%
2,179 trips · avg +1.2 min
-
Boat 51.9%
2,430 trips · avg +3.9 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 Marin-Epagnier, gare – Cormondrèche, Grand'RueMarin-Epagnier, gare – Cormondrèche, Grand'Rue 22.8%
1,368 trips · avg +6.2 min
-
M2 Genève-Pâquis (lac) – Genève-Quai Gustave Ador (lac)Genève-Pâquis (lac) – Genève-Quai Gustave Ador (lac) 29.2%
932 trips · avg +5.5 min
-
1,043 trips · avg +3.8 min
-
Bus 50 Basel, Bahnhof SBB – Basel EuroAirport, VerwaltungBasel, Bahnhof SBB – Basel EuroAirport, Verwaltung 40.4%
1,336 trips · avg +4.2 min
-
Bus 311 La Chaux-de-Fonds, Cerisier – La Chaux-de-Fonds, gareLa Chaux-de-Fonds, Cerisier – La Chaux-de-Fonds, gare 41.9%
503 trips · avg +5.2 min
-
Bus 107 Marin-Epagnier, gare – Neuchâtel, Place PuryMarin-Epagnier, gare – Neuchâtel, Place Pury 42.7%
1,049 trips · avg +4.5 min
-
425 trips · avg +4.5 min
-
932 trips · avg +4.2 min
Show 17 more
-
1,144 trips · avg +3.5 min
-
Bus 106 Neuchâtel, Place Pury – Neuchâtel,Vallon de l'ErmitageNeuchâtel, Place Pury – Neuchâtel,Vallon de l'Ermitage 49.6%
411 trips · avg +3.5 min
-
Bus 109 Neuchâtel, Place Pury – Neuchâtel, Trois-ChênesNeuchâtel, Place Pury – Neuchâtel, Trois-Chênes 50%
1,363 trips · avg +3.3 min
-
Bus 54 Versoix, Centre sportif – Vernier, ParfumerieVersoix, Centre sportif – Vernier, Parfumerie 54.7%
422 trips · avg +3.6 min
-
401 trips · avg +3.1 min
-
660 trips · avg +3 min
-
Bus 9 Vernier, Lignon Tours – Thônex, Belle-Terre Pl. AraireVernier, Lignon Tours – Thônex, Belle-Terre Pl. Araire 57.2%
1,328 trips · avg +3.1 min
-
Bus 68 Saint-Genis, Jean Monnet – Vernier, BlandonnetSaint-Genis, Jean Monnet – Vernier, Blandonnet 57.6%
767 trips · avg +3.7 min
-
Bus 2 Brügg BE, Bahnhof – Biel/Bienne, OrpundplatzBrügg BE, Bahnhof – Biel/Bienne, Orpundplatz 57.7%
1,024 trips · avg +3.1 min
-
578 trips · avg +2.9 min
-
1,459 trips · avg +3.1 min
-
Bus 5 Kriens, Busschleife – Emmenbrücke, Bahnhof SüdKriens, Busschleife – Emmenbrücke, Bahnhof Süd 61.6%
1,004 trips · avg +3.5 min
-
314 trips · avg +2.9 min
-
Bus 310 La Chaux-de-Fonds, Sombaille – La Chaux-de-Fonds, gareLa Chaux-de-Fonds, Sombaille – La Chaux-de-Fonds, gare 61.9%
318 trips · avg +2.5 min
-
1,140 trips · avg +2.8 min
-
462 trips · avg +2.7 min
-
Bus 3 Givisiez, Mont Carmel – Fribourg, CharmettesGivisiez, Mont Carmel – Fribourg, Charmettes 62.6%
730 trips · avg +2.8 min
Most punctual busy lines
-
2,050 trips · avg +0.7 min
-
1,546 trips · avg +0.5 min
-
1,966 trips · avg +0.8 min
-
1,538 trips · avg +0.7 min
-
Bus 1 Winterthur, Oberwinterthur – Winterthur, TössWinterthur, Oberwinterthur – Winterthur, Töss 95.4%
1,853 trips · avg +0.9 min
-
1,628 trips · avg +1 min
-
Bus 3 Winterthur, Oberseen – Winterthur, RosenbergWinterthur, Oberseen – Winterthur, Rosenberg 94.5%
1,847 trips · avg +0.8 min
-
Tram 15 Zürich Tiefenbrunnen, Bahnhof – Zürich, CentralZürich Tiefenbrunnen, Bahnhof – Zürich, Central 93.8%
1,710 trips · avg +1.1 min
Least punctual busy lines
-
660 trips · avg +3 min
-
434 trips · avg +6.3 min
-
776 trips · avg +1.5 min
-
376 trips · avg +1.1 min
-
749 trips · avg +0.8 min
-
506 trips · avg +1.1 min
-
540 trips · avg +0.9 min
-
516 trips · avg +1.2 min
Show 17 more
-
287 trips · avg +1 min
-
560 trips · avg +0.9 min
-
480 trips · avg +0.8 min
-
286 trips · avg +0.7 min
-
370 trips · avg +0.5 min
-
379 trips · avg +0.6 min
-
587 trips · avg +0.9 min
-
693 trips · avg +0.9 min
-
442 trips · avg +0.9 min
-
339 trips · avg +0.6 min
-
348 trips · avg +0.7 min
-
814 trips · avg +0.7 min
-
310 trips · avg +0.8 min
-
588 trips · avg +0.5 min
-
397 trips · avg +0.4 min
-
R15 Neuchâtel Place Pury Littorail – Boudry LittorailNeuchâtel Place Pury Littorail – Boudry Littorail 96.5%
578 trips · avg +0.9 min
-
325 trips · avg +0.7 min
Most punctual busy lines
-
727 trips · avg +0.3 min
-
474 trips · avg +0 min
-
834 trips · avg +0.3 min
-
406 trips · avg +0 min
-
706 trips · avg +0.3 min
-
483 trips · avg +0.3 min
-
458 trips · avg +0.3 min
-
456 trips · avg +0.1 min
Least punctual busy lines
-
Tram 8 Weil am Rhein, Bahnhof/Zentrum – Basel, NeuweilerstrasseWeil am Rhein, Bahnhof/Zentrum – Basel, Neuweilerstrasse 65.2%
1,549 trips · avg +2.7 min
-
1,943 trips · avg +1.9 min
-
Tram 8 Bern Brünnen Westside, Bahnhof – Bern, SaaliBern Brünnen Westside, Bahnhof – Bern, Saali 71.9%
1,561 trips · avg +2.3 min
-
1,920 trips · avg +2.2 min
-
Tram 3 St-Louis, Gare de Saint-Louis – Birsfelden, HardSt-Louis, Gare de Saint-Louis – Birsfelden, Hard 74.2%
569 trips · avg +2.3 min
-
Tram 14 Basel, Dreirosenbrücke – Pratteln, SchlossstrasseBasel, Dreirosenbrücke – Pratteln, Schlossstrasse 74.4%
1,904 trips · avg +2.2 min
-
1,868 trips · avg +1.8 min
-
1,846 trips · avg +2 min
Show 17 more
-
954 trips · avg +1.8 min
-
1,480 trips · avg +1.7 min
-
1,783 trips · avg +1.9 min
-
1,851 trips · avg +1.7 min
-
2,043 trips · avg +1.7 min
-
2,012 trips · avg +1.5 min
-
Tram 10 Zürich, Bahnhofstrasse/HB – Zürich Flughafen, FrachtZürich, Bahnhofstrasse/HB – Zürich Flughafen, Fracht 85%
1,403 trips · avg +1.6 min
-
1,352 trips · avg +1.5 min
-
2,018 trips · avg +1.5 min
-
Tram 7 Zürich, Wollishoferplatz – Stettbach, BahnhofZürich, Wollishoferplatz – Stettbach, Bahnhof 86.3%
1,457 trips · avg +1.6 min
-
2,667 trips · avg +1.4 min
-
2,441 trips · avg +1.3 min
-
1,995 trips · avg +1.3 min
-
Tram 9 Wabern, Tram-Endstation – Bern Wankdorf, BahnhofWabern, Tram-Endstation – Bern Wankdorf, Bahnhof 87.8%
2,290 trips · avg +1.5 min
-
1,975 trips · avg +1.7 min
-
Tram 51 Zürich Altstetten, Bahnhof N – Zürich, SeebachZürich Altstetten, Bahnhof N – Zürich, Seebach 88.1%
2,020 trips · avg +1.4 min
-
2,392 trips · avg +1.5 min
Most punctual busy lines
-
976 trips · avg +0.1 min
-
1,966 trips · avg +0.8 min
-
Tram 20 Killwangen, Bahnhof – Zürich Altstetten, BahnhofKillwangen, Bahnhof – Zürich Altstetten, Bahnhof 96.2%
1,083 trips · avg +1 min
-
Tram 12 Zürich Flughafen, Fracht – Stettbach, BahnhofZürich Flughafen, Fracht – Stettbach, Bahnhof 94.5%
922 trips · avg +1.1 min
-
Tram 5 Zürich Stadelhofen, Bahnhof – Zürich, LaubeggZürich Stadelhofen, Bahnhof – Zürich, Laubegg 93.9%
1,190 trips · avg +1 min
-
Tram 15 Zürich Tiefenbrunnen, Bahnhof – Zürich, CentralZürich Tiefenbrunnen, Bahnhof – Zürich, Central 93.8%
1,710 trips · avg +1.1 min
-
1,091 trips · avg +0.9 min
-
1,968 trips · avg +0.9 min
Least punctual busy lines
-
Bus 101 Marin-Epagnier, gare – Cormondrèche, Grand'RueMarin-Epagnier, gare – Cormondrèche, Grand'Rue 22.8%
1,368 trips · avg +6.2 min
-
1,043 trips · avg +3.8 min
-
Bus 50 Basel, Bahnhof SBB – Basel EuroAirport, VerwaltungBasel, Bahnhof SBB – Basel EuroAirport, Verwaltung 40.4%
1,336 trips · avg +4.2 min
-
Bus 311 La Chaux-de-Fonds, Cerisier – La Chaux-de-Fonds, gareLa Chaux-de-Fonds, Cerisier – La Chaux-de-Fonds, gare 41.9%
503 trips · avg +5.2 min
-
Bus 107 Marin-Epagnier, gare – Neuchâtel, Place PuryMarin-Epagnier, gare – Neuchâtel, Place Pury 42.7%
1,049 trips · avg +4.5 min
-
425 trips · avg +4.5 min
-
1,144 trips · avg +3.5 min
-
Bus 106 Neuchâtel, Place Pury – Neuchâtel,Vallon de l'ErmitageNeuchâtel, Place Pury – Neuchâtel,Vallon de l'Ermitage 49.6%
411 trips · avg +3.5 min
Show 17 more
-
Bus 109 Neuchâtel, Place Pury – Neuchâtel, Trois-ChênesNeuchâtel, Place Pury – Neuchâtel, Trois-Chênes 50%
1,363 trips · avg +3.3 min
-
Bus 54 Versoix, Centre sportif – Vernier, ParfumerieVersoix, Centre sportif – Vernier, Parfumerie 54.7%
422 trips · avg +3.6 min
-
401 trips · avg +3.1 min
-
Bus 9 Vernier, Lignon Tours – Thônex, Belle-Terre Pl. AraireVernier, Lignon Tours – Thônex, Belle-Terre Pl. Araire 57.2%
1,328 trips · avg +3.1 min
-
Bus 68 Saint-Genis, Jean Monnet – Vernier, BlandonnetSaint-Genis, Jean Monnet – Vernier, Blandonnet 57.6%
767 trips · avg +3.7 min
-
Bus 2 Brügg BE, Bahnhof – Biel/Bienne, OrpundplatzBrügg BE, Bahnhof – Biel/Bienne, Orpundplatz 57.7%
1,024 trips · avg +3.1 min
-
578 trips · avg +2.9 min
-
1,459 trips · avg +3.1 min
-
Bus 5 Kriens, Busschleife – Emmenbrücke, Bahnhof SüdKriens, Busschleife – Emmenbrücke, Bahnhof Süd 61.6%
1,004 trips · avg +3.5 min
-
314 trips · avg +2.9 min
-
Bus 310 La Chaux-de-Fonds, Sombaille – La Chaux-de-Fonds, gareLa Chaux-de-Fonds, Sombaille – La Chaux-de-Fonds, gare 61.9%
318 trips · avg +2.5 min
-
1,140 trips · avg +2.8 min
-
462 trips · avg +2.7 min
-
Bus 3 Givisiez, Mont Carmel – Fribourg, CharmettesGivisiez, Mont Carmel – Fribourg, Charmettes 62.6%
730 trips · avg +2.8 min
-
1,023 trips · avg +2.8 min
-
713 trips · avg +3.3 min
-
906 trips · avg +2.8 min
Most punctual busy lines
-
1,546 trips · avg +0.5 min
-
1,538 trips · avg +0.7 min
-
Bus 1 Winterthur, Oberwinterthur – Winterthur, TössWinterthur, Oberwinterthur – Winterthur, Töss 95.4%
1,853 trips · avg +0.9 min
-
1,329 trips · avg +0.9 min
-
1,628 trips · avg +1 min
-
Bus 3 Winterthur, Oberseen – Winterthur, RosenbergWinterthur, Oberseen – Winterthur, Rosenberg 94.5%
1,847 trips · avg +0.8 min
-
Bus 5 St. Gallen, Riethüsli – St. Gallen, RotmontenSt. Gallen, Riethüsli – St. Gallen, Rotmonten 94.3%
1,306 trips · avg +1 min
-
Bus 30 Basel, Badischer Bahnhof – Basel, Bahnhof SBBBasel, Badischer Bahnhof – Basel, Bahnhof SBB 93.5%
2,416 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) 29.2%
932 trips · avg +5.5 min
-
932 trips · avg +4.2 min
-
302 trips · avg +0.9 min
Least punctual operators
-
Mouettes genevoises 51.9%
2,430 trips · avg +3.9 min
-
VBL 72.6%
25,731 trips · avg +2.5 min
-
Transports Publics Neuchâtelois 74.1%
17,344 trips · avg +2.3 min
-
BVB 75.8%
31,822 trips · avg +2.1 min
-
TPL 77%
10,045 trips · avg +2 min
-
Automobil Rottal 77.3%
2,842 trips · avg +1.9 min
-
Bus und Service 79%
10,069 trips · avg +1.9 min
-
TPG 79.4%
60,838 trips · avg +1.8 min
Show 17 more
-
Busbetrieb Rapperswil-Eschenbach-Rüti ZH 80.1%
1,884 trips · avg +1.8 min
-
Bus Nyon-Prangins 80.7%
2,155 trips · avg +1.6 min
-
Auto AG Rothenburg 81.7%
5,018 trips · avg +1.6 min
-
Verkehrsbetrieb LIECHTENSTEINmobil 82.3%
5,091 trips · avg +1.8 min
-
Verkehrsbetriebe Biel 82.6%
9,457 trips · avg +1.6 min
-
Regionale Verkehrsbetriebe Baden-Wettingen 82.7%
9,091 trips · avg +1.6 min
-
Busbetrieb Solothurn und Umgebung 83%
4,669 trips · avg +1.5 min
-
Stadtbus Frauenfeld 85%
3,522 trips · avg +1.7 min
-
VBZ 85.2%
108,833 trips · avg +1.5 min
-
TPF 85.4%
26,049 trips · avg +1.3 min
-
Sierre-Montana-Crans 85.6%
1,937 trips · avg +1.6 min
-
Bernmobil 86.3%
32,719 trips · avg +1.5 min
-
tl 86.3%
45,761 trips · avg +1.4 min
-
Bus Sierrois 86.4%
1,503 trips · avg +1.3 min
-
Automobildienste Aare Seeland mobil 86.9%
4,075 trips · avg +1.3 min
-
Transports publics Vevey-Montreux-Chillon-Villeneuve 87%
7,613 trips · avg +1.2 min
-
Automobiles MBC 87.5%
7,492 trips · avg +1.2 min
Most punctual operators
-
Aare Seeland mobil 99.5%
2,230 trips · avg +0.3 min
-
Zentralbahn 99.4%
2,439 trips · avg +0.2 min
-
Regionalverkehr Bern-Solothurn 99.3%
3,739 trips · avg +0.3 min
-
Schweizerische Südostbahn 98.8%
3,540 trips · avg +0.4 min
-
THURBO 98.3%
7,556 trips · avg +0.3 min
-
Sihltal-Zürich-Uetliberg-Bahn 98.2%
2,033 trips · avg +0.6 min
-
BLS 97.5%
10,656 trips · avg +0.5 min
-
Lausanne-Echallens-Bercher 98.2%
710 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 96.6%
11,941 departures · avg +1 min
-
Bern 97.9%
7,032 departures · avg +0.8 min
-
Zürich Oerlikon 96.9%
6,318 departures · avg +0.9 min
-
Zürich Stadelhofen 94.8%
4,928 departures · avg +1.1 min
-
Zürich Hardbrücke 88.9%
4,764 departures · avg +1.9 min
-
Winterthur 97%
4,675 departures · avg +1 min
-
Olten 93.2%
4,155 departures · avg +1.3 min
-
Aarau 96.1%
3,566 departures · avg +0.8 min
-
Lausanne 93%
3,450 departures · avg +1.3 min
-
St. Gallen 94.6%
3,443 departures · avg +1.3 min
-
Renens VD 92.7%
3,394 departures · avg +1.2 min
-
Luzern 97.9%
3,247 departures · avg +0.7 min
-
Genève, gare Cornavin 81.5%
19,954 departures · avg +1.7 min
-
Bern, Bahnhof 93.9%
19,710 departures · avg +1.2 min
-
Genève, Bel-Air 83.2%
19,205 departures · avg +1.7 min
-
Luzern, Kantonalbank 79.2%
16,290 departures · avg +2.1 min
-
Bern, Hirschengraben 91.1%
15,041 departures · avg +1.5 min
-
Zürich, Central 92.5%
14,935 departures · avg +1.2 min
-
Basel, Schifflände 83.5%
14,882 departures · avg +1.8 min
-
Bern, Zytglogge 89.9%
14,435 departures · avg +1.5 min
-
Luzern, Bahnhof 87.2%
14,191 departures · avg +1.5 min
-
Lausanne, Bel-Air 76.7%
14,187 departures · avg +2.1 min
-
Zürich, Bellevue 93.3%
13,992 departures · avg +1.2 min
-
Basel, Bahnhof SBB 86.7%
13,896 departures · avg +1.6 min
-
Muhen Nord 74.7%
1,026 departures · avg +1.6 min
-
Oberentfelden Engelplatz 74.7%
1,026 departures · avg +1.6 min
-
Magliaso Paese 76.8%
749 departures · avg +2.2 min
-
Agno 79.4%
749 departures · avg +2.1 min
-
Magliaso 81.2%
749 departures · avg +2 min
-
Bioggio Molinazzo 81.3%
749 departures · avg +1.9 min
-
Serocca 81.7%
749 departures · avg +1.9 min
-
Como S. Giovanni 82.9%
803 departures · avg +1.9 min
-
Bendlehn 83.5%
728 departures · avg +2 min
-
Cham Alpenblick 83.6%
944 departures · avg +2 min
-
Zug Chollermüli 83.7%
942 departures · avg +2.1 min
-
Niederteufen 84.3%
705 departures · avg +2.1 min
Largest delays
- NJ Zürich HBand 8 more trips of this line +126 min
- Bus 631 Brig, Bahnhof – Gondo, Kirche Brig, Bahnhof +125 min
- Tram 10 Rodersdorf, Station – Dornach, Bahnhof Dornach, Bahnhofand 3 more trips of this line +123 min
- Bus 92 Genève, Place de Neuve – Genève, Place de Neuve Genève, Place de Neuveand 1 more trips of this line +122 min
- EC Bregenz – Zürich HB Zürich HBand 13 more trips of this line +114 min
- ICE Basel Bad Bfand 3 more trips of this line +113 min
- RJX Zürich HBand 3 more trips of this line +111 min
- Tram 50 Zürich, Frankental – Zürich, Auzelg Zürich, Frankentaland 1 more trips of this line +102 min
- Bus 768 Zürich Oerlikon, Bahnhof – Zürich Flughafen, Bahnhof Zürich Oerlikon, Bahnhofand 6 more trips of this line +95 min
- Bus 759 Zürich Flughafen, Bahnhof – Wangen b D'dorf, Dorfplatz Zürich Flughafen, Bahnhofand 5 more trips of this line +93 min
- Bus 787 Zürich Oerlikon, Bahnhof – Brüttisellen, Ob. Wangenstr. Zürich Oerlikon, Bahnhofand 3 more trips of this line +91 min
- Bus 8 Le Mont-sur-L., Grand-Mont – Pully, gare Pully, gare +84 min
- Bus 40 Pougny, gare (F) – Grand-Lancy, Stade de Genève Grand-Lancy, Stade de Genève +84 min
- Bus 3 Grand-Saconnex, Gardiol – Genève, Crêts-de-Champel Genève, Crêts-de-Champeland 6 more trips of this line +83 min
- Bus 102 Neuchâtel, Serrières (bus) – Neuchâtel, Place Pury Neuchâtel, Place Puryand 3 more trips of this line +78 min