Punctuality of Swiss public transportMonday 9 March 2026
88.8% of 151,535 trips were on time. The share was lowest at 17:30: 68.3%. Of the busy lines, M1 Genève-Pâquis (lac) – Genève-Molard (lac) had the lowest share on time: 26.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.
88.8%
−2.5 ptsDay before: 91.3% · 151,535 trips with live data
Average delay
+1.3 min
Canceled trips
464
0.3% of the trips
Through the day
The share of the trips on their way that are less than 3 minutes late, every 10 minutes.
- ≥ 95%
- Dashed: Sunday 8 March
- Lowest points
The disruptions of this day were not recorded, so the chart cannot show its incidents.
By mode
-
Train 95.4%
14,409 trips · avg +0.7 min
-
Tram 86.2%
11,469 trips · avg +1.4 min
-
Bus 88.4%
124,920 trips · avg +1.3 min
-
Metro 83.3%
341 trips · avg +1.7 min
-
Boat 45.2%
396 trips · avg +4.3 min
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
-
148 trips · avg +5.8 min
-
M2 Genève-Pâquis (lac) – Genève-Quai Gustave Ador (lac)Genève-Pâquis (lac) – Genève-Quai Gustave Ador (lac) 27%
148 trips · avg +5.4 min
-
149 trips · avg +3.6 min
-
Bus 72 Biel/Bienne, Bahnhof/Gare – Meinisberg, RüttiBiel/Bienne, Bahnhof/Gare – Meinisberg, Rütti 42.4%
85 trips · avg +6.2 min
-
Bus 33 Prilly, Mont-Goulin – St-Sulpice VD, Venoge nordPrilly, Mont-Goulin – St-Sulpice VD, Venoge nord 46.8%
154 trips · avg +5.4 min
-
62 trips · avg +3.6 min
-
132 trips · avg +4.9 min
-
Bus 109 Neuchâtel, Place Pury – Neuchâtel, Trois-ChênesNeuchâtel, Place Pury – Neuchâtel, Trois-Chênes 50.7%
215 trips · avg +3.5 min
Show 17 more
-
175 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 61%
141 trips · avg +2.8 min
-
Bus 10 Schliern, Bus-Endstation – Ostermundigen, RütiSchliern, Bus-Endstation – Ostermundigen, Rüti 61%
523 trips · avg +3.5 min
-
64 trips · avg +6.1 min
-
Bus 1 Biel/Bienne, Löhre/Mauchamp – Biel/Bienne, Stadien/StadesBiel/Bienne, Löhre/Mauchamp – Biel/Bienne, Stadien/Stades 63.9%
227 trips · avg +2.7 min
-
109 trips · avg +4.1 min
-
Bus 22 Carouge GE, Rondeau – Genève, Jardin BotaniqueCarouge GE, Rondeau – Genève, Jardin Botanique 64.3%
157 trips · avg +2.7 min
-
172 trips · avg +2.6 min
-
Bus 301 Altstätten SG, Rathaus – Heerbrugg, BahnhofAltstätten SG, Rathaus – Heerbrugg, Bahnhof 65.3%
72 trips · avg +2.4 min
-
49 trips · avg +2.2 min
-
74 trips · avg +2.5 min
-
Bus 4 Chur, Austrasse – Chur, Seniorenzentrum CadonauChur, Austrasse – Chur, Seniorenzentrum Cadonau 66.3%
196 trips · avg +2.3 min
-
333 trips · avg +2.8 min
-
Bus 360 Brugg AG, Bahnhof/Zentrum – Bad Zurzach, BahnhofBrugg AG, Bahnhof/Zentrum – Bad Zurzach, Bahnhof 67.3%
55 trips · avg +1.9 min
-
Bus 107 Schongau, Oberschongau – Hitzkirch, BahnhofSchongau, Oberschongau – Hitzkirch, Bahnhof 67.4%
43 trips · avg +2.3 min
-
74 trips · avg +2.2 min
-
62 trips · avg +2.9 min
Most punctual busy lines
-
306 trips · avg +0.6 min
-
224 trips · avg +0.6 min
-
Bus 1 Winterthur, Oberwinterthur – Winterthur, TössWinterthur, Oberwinterthur – Winterthur, Töss 96.2%
286 trips · avg +0.8 min
-
Bus 101 Bern, Hauptbahnhof – Hinterkappelen, SchlossmattBern, Hauptbahnhof – Hinterkappelen, Schlossmatt 96%
277 trips · avg +0.7 min
-
296 trips · avg +0.8 min
-
Bus 3 Winterthur, Oberseen – Winterthur, RosenbergWinterthur, Oberseen – Winterthur, Rosenberg 95.4%
285 trips · avg +0.6 min
-
293 trips · avg +0.8 min
-
379 trips · avg +0.9 min
Least punctual busy lines
-
132 trips · avg +4.9 min
-
64 trips · avg +6.1 min
-
107 trips · avg +1.5 min
-
76 trips · avg +1.9 min
-
74 trips · avg +1.3 min
-
55 trips · avg +0.9 min
-
40 trips · avg +1.1 min
-
118 trips · avg +1.2 min
Show 17 more
-
50 trips · avg +1.4 min
-
41 trips · avg +1.3 min
-
42 trips · avg +0.6 min
-
82 trips · avg +0.8 min
-
48 trips · avg +1 min
-
77 trips · avg +1.3 min
-
69 trips · avg +1.2 min
-
42 trips · avg +0.8 min
-
77 trips · avg +1.1 min
-
116 trips · avg +0.9 min
-
72 trips · avg +0.7 min
-
75 trips · avg +0.7 min
-
76 trips · avg +0.6 min
-
77 trips · avg +0.8 min
-
78 trips · avg +0.5 min
-
59 trips · avg +0.5 min
-
79 trips · avg +1.2 min
Most punctual busy lines
-
208 trips · avg +0.2 min
-
151 trips · avg +0.1 min
-
124 trips · avg +0.3 min
-
115 trips · avg +0.3 min
-
114 trips · avg +0.2 min
-
100 trips · avg +0.2 min
-
91 trips · avg +0.3 min
-
81 trips · avg +0.2 min
Least punctual busy lines
-
Tram 14 Basel, Dreirosenbrücke – Pratteln, SchlossstrasseBasel, Dreirosenbrücke – Pratteln, Schlossstrasse 71.4%
283 trips · avg +2.5 min
-
292 trips · avg +1.7 min
-
288 trips · avg +2.4 min
-
275 trips · avg +2 min
-
303 trips · avg +1.8 min
-
381 trips · avg +1.8 min
-
276 trips · avg +1.6 min
-
303 trips · avg +1.4 min
Show 12 more
-
300 trips · avg +1.2 min
-
294 trips · avg +1.5 min
-
Tram 9 Wabern, Tram-Endstation – Bern Wankdorf, BahnhofWabern, Tram-Endstation – Bern Wankdorf, Bahnhof 87.6%
347 trips · avg +1.5 min
-
179 trips · avg +1.2 min
-
253 trips · avg +1 min
-
411 trips · avg +1.2 min
-
Tram 51 Zürich Altstetten, Bahnhof N – Zürich, SeebachZürich Altstetten, Bahnhof N – Zürich, Seebach 91.8%
306 trips · avg +1.1 min
-
298 trips · avg +1.5 min
-
293 trips · avg +0.8 min
-
296 trips · avg +0.8 min
-
Tram 20 Killwangen, Bahnhof – Zürich Altstetten, BahnhofKillwangen, Bahnhof – Zürich Altstetten, Bahnhof 99.1%
110 trips · avg +0.6 min
-
142 trips · avg +0.1 min
Most punctual busy lines
-
142 trips · avg +0.1 min
-
Tram 20 Killwangen, Bahnhof – Zürich Altstetten, BahnhofKillwangen, Bahnhof – Zürich Altstetten, Bahnhof 99.1%
110 trips · avg +0.6 min
-
296 trips · avg +0.8 min
-
293 trips · avg +0.8 min
-
298 trips · avg +1.5 min
-
Tram 51 Zürich Altstetten, Bahnhof N – Zürich, SeebachZürich Altstetten, Bahnhof N – Zürich, Seebach 91.8%
306 trips · avg +1.1 min
-
411 trips · avg +1.2 min
-
253 trips · avg +1 min
Least punctual busy lines
-
149 trips · avg +3.6 min
-
Bus 72 Biel/Bienne, Bahnhof/Gare – Meinisberg, RüttiBiel/Bienne, Bahnhof/Gare – Meinisberg, Rütti 42.4%
85 trips · avg +6.2 min
-
Bus 33 Prilly, Mont-Goulin – St-Sulpice VD, Venoge nordPrilly, Mont-Goulin – St-Sulpice VD, Venoge nord 46.8%
154 trips · avg +5.4 min
-
62 trips · avg +3.6 min
-
Bus 109 Neuchâtel, Place Pury – Neuchâtel, Trois-ChênesNeuchâtel, Place Pury – Neuchâtel, Trois-Chênes 50.7%
215 trips · avg +3.5 min
-
175 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 61%
141 trips · avg +2.8 min
-
Bus 10 Schliern, Bus-Endstation – Ostermundigen, RütiSchliern, Bus-Endstation – Ostermundigen, Rüti 61%
523 trips · avg +3.5 min
Show 17 more
-
Bus 1 Biel/Bienne, Löhre/Mauchamp – Biel/Bienne, Stadien/StadesBiel/Bienne, Löhre/Mauchamp – Biel/Bienne, Stadien/Stades 63.9%
227 trips · avg +2.7 min
-
109 trips · avg +4.1 min
-
Bus 22 Carouge GE, Rondeau – Genève, Jardin BotaniqueCarouge GE, Rondeau – Genève, Jardin Botanique 64.3%
157 trips · avg +2.7 min
-
172 trips · avg +2.6 min
-
Bus 301 Altstätten SG, Rathaus – Heerbrugg, BahnhofAltstätten SG, Rathaus – Heerbrugg, Bahnhof 65.3%
72 trips · avg +2.4 min
-
49 trips · avg +2.2 min
-
74 trips · avg +2.5 min
-
Bus 4 Chur, Austrasse – Chur, Seniorenzentrum CadonauChur, Austrasse – Chur, Seniorenzentrum Cadonau 66.3%
196 trips · avg +2.3 min
-
333 trips · avg +2.8 min
-
Bus 360 Brugg AG, Bahnhof/Zentrum – Bad Zurzach, BahnhofBrugg AG, Bahnhof/Zentrum – Bad Zurzach, Bahnhof 67.3%
55 trips · avg +1.9 min
-
Bus 107 Schongau, Oberschongau – Hitzkirch, BahnhofSchongau, Oberschongau – Hitzkirch, Bahnhof 67.4%
43 trips · avg +2.3 min
-
74 trips · avg +2.2 min
-
62 trips · avg +2.9 min
-
171 trips · avg +2.9 min
-
173 trips · avg +2.4 min
-
Bus 66 Thoiry, Centre commercial – Genève-Aéroport, TerminalThoiry, Centre commercial – Genève-Aéroport, Terminal 68.2%
85 trips · avg +2.2 min
-
255 trips · avg +2.6 min
Most punctual busy lines
-
Bus 6 St. Gallen, Bach St. Georgen – St. Gallen, HeiligkreuzSt. Gallen, Bach St. Georgen – St. Gallen, Heiligkreuz 99%
208 trips · avg +0.4 min
-
Bus 5 St. Gallen, Riethüsli – St. Gallen, RotmontenSt. Gallen, Riethüsli – St. Gallen, Rotmonten 97.1%
208 trips · avg +0.7 min
-
224 trips · avg +0.6 min
-
Bus 1 Winterthur, Oberwinterthur – Winterthur, TössWinterthur, Oberwinterthur – Winterthur, Töss 96.2%
286 trips · avg +0.8 min
-
Bus 101 Bern, Hauptbahnhof – Hinterkappelen, SchlossmattBern, Hauptbahnhof – Hinterkappelen, Schlossmatt 96%
277 trips · avg +0.7 min
-
Bus 3 Winterthur, Oberseen – Winterthur, RosenbergWinterthur, Oberseen – Winterthur, Rosenberg 95.4%
285 trips · avg +0.6 min
-
379 trips · avg +0.9 min
-
214 trips · avg +0.7 min
Least punctual busy lines
-
148 trips · avg +5.8 min
-
M2 Genève-Pâquis (lac) – Genève-Quai Gustave Ador (lac)Genève-Pâquis (lac) – Genève-Quai Gustave Ador (lac) 27%
148 trips · avg +5.4 min
-
50 trips · avg +0.4 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%
50 trips · avg +0.4 min
Least punctual operators
-
Mouettes genevoises 45.2%
396 trips · avg +4.3 min
-
Lugano-Ponte Tresa 47.7%
132 trips · avg +4.9 min
-
Busbetrieb Rapperswil-Eschenbach-Rüti ZH 66.7%
303 trips · avg +2.2 min
-
Verkehrsbetriebe Biel 75.4%
1,404 trips · avg +2.2 min
-
Transports Publics Neuchâtelois 75.9%
2,855 trips · avg +2 min
-
VBL 76.1%
3,909 trips · avg +2.3 min
-
BVB 76.3%
4,820 trips · avg +2.1 min
-
Automobil Rottal 77%
465 trips · avg +1.8 min
Show 17 more
-
Autobetrieb Sernftal 77.2%
114 trips · avg +3.3 min
-
Verkehrsbetrieb LIECHTENSTEINmobil 79.9%
896 trips · avg +1.9 min
-
Bus Sierrois 80.5%
338 trips · avg +1.8 min
-
Auto AG Rothenburg 80.9%
770 trips · avg +1.8 min
-
Bus Nyon-Prangins 81.3%
369 trips · avg +1.7 min
-
Bamert Bus 81.4%
177 trips · avg +1.5 min
-
TPL 81.8%
1,613 trips · avg +1.5 min
-
Automobildienste Aare Seeland mobil 82.4%
658 trips · avg +1.9 min
-
Busbetrieb Solothurn und Umgebung 82.4%
749 trips · avg +1.6 min
-
Bus und Service 82.6%
1,537 trips · avg +1.6 min
-
TPG 83%
9,701 trips · avg +1.6 min
-
Regionale Verkehrsbetriebe Baden-Wettingen 83.4%
1,387 trips · avg +1.5 min
-
Matterhorn Gotthard Bahn 84%
338 trips · avg +1.9 min
-
tl 84.2%
6,848 trips · avg +1.6 min
-
TPF 84.5%
4,127 trips · avg +4.2 min
-
Busbetrieb Lichtensteig-Wattwil-Ebnat-Kappel 85%
107 trips · avg +4.1 min
-
Compagnie du chemin de fer Nyon - St-Cergue - Morez 86%
107 trips · avg +1.9 min
Most punctual operators
-
Zentralbahn 100%
361 trips · avg +0.1 min
-
Aare Seeland mobil 100%
338 trips · avg +0.2 min
-
Regionalverkehr Bern-Solothurn 99.7%
602 trips · avg +0.3 min
-
THURBO 98.8%
1,127 trips · avg +0.3 min
-
Appenzeller Bahnen 99.1%
346 trips · avg +0.3 min
-
Sihltal-Zürich-Uetliberg-Bahn 98.7%
313 trips · avg +0.7 min
-
Lausanne-Echallens-Bercher 100%
114 trips · avg +0.2 min
-
Schweizerische Südostbahn 98.1%
514 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 96.1%
1,724 departures · avg +1.1 min
-
Bern 98.5%
1,070 departures · avg +0.8 min
-
Zürich Oerlikon 94.3%
900 departures · avg +1.2 min
-
Zürich Stadelhofen 90.8%
698 departures · avg +1.5 min
-
Winterthur 96.1%
693 departures · avg +1.1 min
-
Zürich Hardbrücke 82.8%
675 departures · avg +2.1 min
-
Olten 96.1%
595 departures · avg +1.2 min
-
St. Gallen 96.8%
530 departures · avg +1 min
-
Aarau 97.1%
514 departures · avg +0.8 min
-
Lausanne 95.2%
496 departures · avg +1.1 min
-
Renens VD 95.1%
488 departures · avg +1.1 min
-
Worblaufen 99.2%
476 departures · avg +0.8 min
-
Genève, gare Cornavin 86.7%
3,139 departures · avg +1.3 min
-
Genève, Bel-Air 87.2%
3,049 departures · avg +1.3 min
-
Bern, Bahnhof 94.2%
2,964 departures · avg +1.2 min
-
2,460 departures · avg +1.9 min
-
Basel, Schifflände 82.6%
2,279 departures · avg +1.9 min
-
Zürich, Central 94.6%
2,270 departures · avg +1 min
-
Bern, Hirschengraben 92.5%
2,247 departures · avg +1.4 min
-
Bern, Zytglogge 89.3%
2,173 departures · avg +1.6 min
-
Zürich, Bellevue 94.4%
2,148 departures · avg +1.1 min
-
Luzern, Bahnhof 88.4%
2,129 departures · avg +1.5 min
-
Basel, Bahnhof SBB 87.4%
2,122 departures · avg +1.6 min
-
Lausanne, Bel-Air 73.8%
2,085 departures · avg +2.1 min
-
Agno 39.4%
132 departures · avg +5.9 min
-
Magliaso 40.9%
132 departures · avg +5.8 min
-
Magliaso Paese 40.9%
132 departures · avg +6 min
-
Bioggio Molinazzo 43.9%
132 departures · avg +5.4 min
-
Caslano 44.7%
132 departures · avg +5.2 min
-
Serocca 45.5%
132 departures · avg +5.4 min
-
Bioggio 45.5%
132 departures · avg +5.1 min
-
Sorengo Laghetto 48.5%
132 departures · avg +4.7 min
-
Sorengo 48.5%
132 departures · avg +4.7 min
-
Cappella-Agnuzzo 49.2%
132 departures · avg +4.8 min
-
100 departures · avg +2.3 min
-
Vevey Vignerons 65%
100 departures · avg +2.5 min
Largest delays
- Bus 121 Wädenswil, Bahnhofand 1 more trips of this line +312 min
- Bus 128 Wädenswil, Bahnhof – Wädenswil, Winterberg Wädenswil, Hintere Rüti West +301 min
- Bus 83 Viry, égliseand 1 more trips of this line +129 min
- Bus 3 Maillefer +112 min
- Bus 25 Chavannes-R., Glycines – Pully, gare Glycines +81 min
- Bus 11 Sargans, Bahnhof – Feldkirch, Bahnhof Feldkirch, Bahnhof +81 min
- Bus 1 Ebikon, Fildern – Obernau, Dorf Obernau, Dorf +73 min
- Bus 8 Le Mont-sur-L., Grand-Mont – Pully, gare Pully, gare +70 min
- Bus 69 Lutry, Landar +67 min
- Bus 68 Vernier, Blandonnetand 1 more trips of this line +65 min
- RJX Zürich HB +60 min
- Bus 513 Rothenbrunnen, Bahnhof +60 min
- Bus 201 Vevey, funiculaire – Rennaz, village Vevey, funiculaire +54 min
- Bus 42 Grand-Lancy, Stade de Genève – Avusy, village Grand-Lancy, Stade de Genève +54 min
- Bus 60 Genève, gare Cornavin +52 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 337 Farvagny-le-Grand, CO Gibloux +5862 min
- Bus 122 Wädenswil, Hintere Rüti West – Wädenswil, Bahnhof Wädenswil, Bahnhof +360 min