Punctuality of Swiss public transportTuesday 23 December 2025
91.6% of 147,570 trips were on time. The share was lowest at 15:30: 79.2%. Of the busy lines, Bus 6 Fribourg, Musy 24 – Fribourg, Guintzet had the lowest share on time: 43.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.
91.6%
+0.2 ptsDay before: 91.5% · 147,570 trips with live data
Average delay
+1 min
Canceled trips
279
0.2% 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: Monday 22 December
- Lowest points
The disruptions of this day were not recorded, so the chart cannot show its incidents.
By mode
-
Train 96.8%
14,240 trips · avg +0.5 min
-
Tram 86%
11,575 trips · avg +1.5 min
-
Bus 91.6%
121,063 trips · avg +1 min
-
Metro 99%
296 trips · avg +1.1 min
-
Boat 67.9%
396 trips · avg +2.7 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
-
149 trips · avg +4.1 min
-
62 trips · avg +3.3 min
-
124 trips · avg +3.7 min
-
175 trips · avg +3 min
-
Bus 898 Büren an der Aare, Bahnhof – Münchenbuchsee, BahnhofBüren an der Aare, Bahnhof – Münchenbuchsee, Bahnhof 54.9%
51 trips · avg +2.6 min
-
66 trips · avg +3.5 min
-
49 trips · avg +2.7 min
-
148 trips · avg +3.2 min
Show 17 more
-
M2 Genève-Pâquis (lac) – Genève-Quai Gustave Ador (lac)Genève-Pâquis (lac) – Genève-Quai Gustave Ador (lac) 58.1%
148 trips · avg +3.4 min
-
202 trips · avg +5.9 min
-
Bus 106 Neuchâtel, Place Pury – Neuchâtel,Vallon de l'ErmitageNeuchâtel, Place Pury – Neuchâtel,Vallon de l'Ermitage 60%
70 trips · avg +2.4 min
-
Bus 11 Chur, Bahnhofplatz – Felsberg, Rjterstutz/AeuliChur, Bahnhofplatz – Felsberg, Rjterstutz/Aeuli 60.8%
143 trips · avg +3.1 min
-
Tram 8 Weil am Rhein, Bahnhof/Zentrum – Basel, NeuweilerstrasseWeil am Rhein, Bahnhof/Zentrum – Basel, Neuweilerstrasse 61%
305 trips · avg +3.1 min
-
54 trips · avg +2.7 min
-
57 trips · avg +2.4 min
-
Bus 109 Neuchâtel, Place Pury – Neuchâtel, Trois-ChênesNeuchâtel, Place Pury – Neuchâtel, Trois-Chênes 61.7%
206 trips · avg +2.7 min
-
214 trips · avg +3.7 min
-
146 trips · avg +3.1 min
-
62 trips · avg +3 min
-
Bus 50 Basel, Bahnhof SBB – Basel EuroAirport, VerwaltungBasel, Bahnhof SBB – Basel EuroAirport, Verwaltung 64.6%
268 trips · avg +2.6 min
-
Bus 151 Gossau SG, Bahnhof – St. Gallen, Spisertor (Bus)Gossau SG, Bahnhof – St. Gallen, Spisertor (Bus) 65.1%
172 trips · avg +2.5 min
-
Bus 903 Kreuzlingen, Ribistrasse – Kreuzlingen, KonstanzerstrasseKreuzlingen, Ribistrasse – Kreuzlingen, Konstanzerstrasse 65.4%
104 trips · avg +3 min
-
137 trips · avg +2.4 min
-
75 trips · avg +2.9 min
-
179 trips · avg +2.7 min
Most punctual busy lines
-
257 trips · avg +0.3 min
-
Bus 101 Bern, Hauptbahnhof – Hinterkappelen, SchlossmattBern, Hauptbahnhof – Hinterkappelen, Schlossmatt 99.2%
254 trips · avg +0.3 min
-
296 trips · avg +1.1 min
-
Bus 752 Stettbach, Bahnhof – Dübendorf, KunsteisbahnStettbach, Bahnhof – Dübendorf, Kunsteisbahn 98.9%
265 trips · avg +0.7 min
-
Bus 768 Zürich Oerlikon, Bahnhof – Zürich Flughafen, BahnhofZürich Oerlikon, Bahnhof – Zürich Flughafen, Bahnhof 98.4%
244 trips · avg +0.8 min
-
293 trips · avg +0.9 min
-
Bus 1 Winterthur, Oberwinterthur – Winterthur, TössWinterthur, Oberwinterthur – Winterthur, Töss 97.2%
286 trips · avg +0.7 min
-
338 trips · avg +1 min
Least punctual busy lines
-
124 trips · avg +3.7 min
-
62 trips · avg +2.9 min
-
77 trips · avg +1.6 min
-
41 trips · avg +1.2 min
-
56 trips · avg +1.2 min
-
40 trips · avg +1 min
-
40 trips · avg +1 min
-
61 trips · avg +1.3 min
Show 17 more
-
74 trips · avg +1.3 min
-
106 trips · avg +1.2 min
-
80 trips · avg +0.9 min
-
41 trips · avg +1 min
-
41 trips · avg +0.8 min
-
56 trips · avg +0.9 min
-
72 trips · avg +1 min
-
76 trips · avg +0.7 min
-
58 trips · avg +0.6 min
-
42 trips · avg +0.5 min
-
107 trips · avg +1.1 min
-
306 trips · avg +1 min
-
46 trips · avg +0.5 min
-
47 trips · avg +0.4 min
-
118 trips · avg +0.8 min
-
48 trips · avg +0.7 min
-
73 trips · avg +0.4 min
Most punctual busy lines
-
208 trips · avg +0.1 min
-
160 trips · avg +0.3 min
-
147 trips · avg +0.2 min
-
126 trips · avg +0.1 min
-
119 trips · avg +0.3 min
-
116 trips · avg +0.3 min
-
98 trips · avg +0.3 min
-
91 trips · avg +0.3 min
Least punctual busy lines
-
Tram 8 Weil am Rhein, Bahnhof/Zentrum – Basel, NeuweilerstrasseWeil am Rhein, Bahnhof/Zentrum – Basel, Neuweilerstrasse 61%
305 trips · avg +3.1 min
-
294 trips · avg +1.5 min
-
Tram 14 Basel, Dreirosenbrücke – Pratteln, SchlossstrasseBasel, Dreirosenbrücke – Pratteln, Schlossstrasse 74.3%
284 trips · avg +2.4 min
-
275 trips · avg +2.3 min
-
288 trips · avg +1.9 min
-
Tram 8 Bern Brünnen Westside, Bahnhof – Bern, SaaliBern Brünnen Westside, Bahnhof – Bern, Saali 78.5%
311 trips · avg +1.9 min
-
Tram 3 St-Louis, Gare de Saint-Louis – Birsfelden, HardSt-Louis, Gare de Saint-Louis – Birsfelden, Hard 81.1%
285 trips · avg +1.8 min
-
276 trips · avg +2.1 min
Show 17 more
-
303 trips · avg +1.9 min
-
222 trips · avg +1.7 min
-
310 trips · avg +1.7 min
-
303 trips · avg +1.7 min
-
384 trips · avg +1.7 min
-
402 trips · avg +1.4 min
-
222 trips · avg +1.3 min
-
Tram 13 Zürich, Bahnhofstrasse/HB – Zürich, AlbisgütliZürich, Bahnhofstrasse/HB – Zürich, Albisgütli 87.1%
396 trips · avg +1.3 min
-
87 trips · avg +1.2 min
-
Tram 9 Wabern, Tram-Endstation – Bern Wankdorf, BahnhofWabern, Tram-Endstation – Bern Wankdorf, Bahnhof 88.6%
350 trips · avg +1.5 min
-
Tram 5 Zürich Stadelhofen, Bahnhof – Zürich, LaubeggZürich Stadelhofen, Bahnhof – Zürich, Laubegg 88.7%
238 trips · avg +1.2 min
-
306 trips · avg +1.3 min
-
Tram 51 Zürich Altstetten, Bahnhof N – Zürich, SeebachZürich Altstetten, Bahnhof N – Zürich, Seebach 89.9%
308 trips · avg +1.2 min
-
179 trips · avg +0.9 min
-
304 trips · avg +1.2 min
-
Tram 7 Zürich, Wollishoferplatz – Stettbach, BahnhofZürich, Wollishoferplatz – Stettbach, Bahnhof 90.8%
294 trips · avg +1.4 min
-
Tram 11 Zürich Tiefenbrunnen, Bahnhof – Zürich, Bahnhofstrasse/HBZürich Tiefenbrunnen, Bahnhof – Zürich, Bahnhofstrasse/HB 91.8%
292 trips · avg +1.1 min
Most punctual busy lines
-
293 trips · avg +0.9 min
-
216 trips · avg +0.8 min
-
309 trips · avg +0.7 min
-
Tram 12 Zürich Flughafen, Fracht – Stettbach, BahnhofZürich Flughafen, Fracht – Stettbach, Bahnhof 95.5%
154 trips · avg +1 min
-
Tram 20 Killwangen, Bahnhof – Zürich Altstetten, BahnhofKillwangen, Bahnhof – Zürich Altstetten, Bahnhof 94.8%
155 trips · avg +1.2 min
-
Tram 15 Zürich Tiefenbrunnen, Bahnhof – Zürich, CentralZürich Tiefenbrunnen, Bahnhof – Zürich, Central 94.5%
290 trips · avg +1.1 min
-
294 trips · avg +0.8 min
-
298 trips · avg +1.5 min
Least punctual busy lines
-
149 trips · avg +4.1 min
-
62 trips · avg +3.3 min
-
175 trips · avg +3 min
-
Bus 898 Büren an der Aare, Bahnhof – Münchenbuchsee, BahnhofBüren an der Aare, Bahnhof – Münchenbuchsee, Bahnhof 54.9%
51 trips · avg +2.6 min
-
66 trips · avg +3.5 min
-
49 trips · avg +2.7 min
-
202 trips · avg +5.9 min
-
Bus 106 Neuchâtel, Place Pury – Neuchâtel,Vallon de l'ErmitageNeuchâtel, Place Pury – Neuchâtel,Vallon de l'Ermitage 60%
70 trips · avg +2.4 min
Show 17 more
-
Bus 11 Chur, Bahnhofplatz – Felsberg, Rjterstutz/AeuliChur, Bahnhofplatz – Felsberg, Rjterstutz/Aeuli 60.8%
143 trips · avg +3.1 min
-
54 trips · avg +2.7 min
-
57 trips · avg +2.4 min
-
Bus 109 Neuchâtel, Place Pury – Neuchâtel, Trois-ChênesNeuchâtel, Place Pury – Neuchâtel, Trois-Chênes 61.7%
206 trips · avg +2.7 min
-
214 trips · avg +3.7 min
-
146 trips · avg +3.1 min
-
62 trips · avg +3 min
-
Bus 50 Basel, Bahnhof SBB – Basel EuroAirport, VerwaltungBasel, Bahnhof SBB – Basel EuroAirport, Verwaltung 64.6%
268 trips · avg +2.6 min
-
Bus 151 Gossau SG, Bahnhof – St. Gallen, Spisertor (Bus)Gossau SG, Bahnhof – St. Gallen, Spisertor (Bus) 65.1%
172 trips · avg +2.5 min
-
Bus 903 Kreuzlingen, Ribistrasse – Kreuzlingen, KonstanzerstrasseKreuzlingen, Ribistrasse – Kreuzlingen, Konstanzerstrasse 65.4%
104 trips · avg +3 min
-
137 trips · avg +2.4 min
-
75 trips · avg +2.9 min
-
179 trips · avg +2.7 min
-
197 trips · avg +3.8 min
-
Bus 7 Vernier, Lignon Tours – Vessy, Grands-EssertsVernier, Lignon Tours – Vessy, Grands-Esserts 68.8%
189 trips · avg +2.1 min
-
Bus 445 Lamone-Cadempino, Stazione – Lugano, Autosilo BalestraLamone-Cadempino, Stazione – Lugano, Autosilo Balestra 68.9%
61 trips · avg +2.5 min
-
58 trips · avg +1.8 min
Most punctual busy lines
-
257 trips · avg +0.3 min
-
Bus 101 Bern, Hauptbahnhof – Hinterkappelen, SchlossmattBern, Hauptbahnhof – Hinterkappelen, Schlossmatt 99.2%
254 trips · avg +0.3 min
-
Bus 781 Zürich Oerlikon, Bahnhof – Glattbrugg, GiebeleichstrasseZürich Oerlikon, Bahnhof – Glattbrugg, Giebeleichstrasse 99.2%
243 trips · avg +0.5 min
-
214 trips · avg +0.4 min
-
208 trips · avg +0.3 min
-
Bus 752 Stettbach, Bahnhof – Dübendorf, KunsteisbahnStettbach, Bahnhof – Dübendorf, Kunsteisbahn 98.9%
265 trips · avg +0.7 min
-
240 trips · avg +0.7 min
-
Bus 768 Zürich Oerlikon, Bahnhof – Zürich Flughafen, BahnhofZürich Oerlikon, Bahnhof – Zürich Flughafen, Bahnhof 98.4%
244 trips · avg +0.8 min
Least punctual busy lines
-
148 trips · avg +3.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) 58.1%
148 trips · avg +3.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) 96%
50 trips · avg +1.3 min
-
50 trips · avg +0.8 min
Least punctual operators
-
Lugano-Ponte Tresa 50%
124 trips · avg +3.7 min
-
Mouettes genevoises 67.9%
396 trips · avg +2.7 min
-
Busbetrieb Rapperswil-Eschenbach-Rüti ZH 74.5%
298 trips · avg +2 min
-
TPL 74.5%
1,613 trips · avg +2.3 min
-
Bus und Service 75.2%
1,550 trips · avg +2.1 min
-
Automobil Rottal 75.7%
456 trips · avg +1.9 min
-
BVB 80.7%
4,399 trips · avg +1.8 min
-
Transports publics Vevey-Montreux-Chillon-Villeneuve 80.9%
1,173 trips · avg +2 min
Show 17 more
-
VBL 81.7%
3,795 trips · avg +1.7 min
-
Autolinee Bleniesi 81.9%
171 trips · avg +2 min
-
Verkehrsbetrieb LIECHTENSTEINmobil 84.2%
865 trips · avg +1.7 min
-
Sierre-Montana-Crans 84.2%
278 trips · avg +1.5 min
-
Berner Oberland-Bahnen 84.2%
133 trips · avg +1.4 min
-
TPG 84.5%
8,627 trips · avg +1.5 min
-
Regiobus Gossau SG 84.7%
537 trips · avg +1.4 min
-
Verkehrsbetrieb der Landschaft Davos 85.4%
397 trips · avg +1.3 min
-
Transports Publics Neuchâtelois 86.1%
2,786 trips · avg +1.4 min
-
Stadtbus Frauenfeld 86.2%
574 trips · avg +1.4 min
-
Auto AG Rothenburg 86.7%
767 trips · avg +1.3 min
-
Bus Sierrois 87.9%
338 trips · avg +1.3 min
-
Busbetrieb Solothurn und Umgebung 88.7%
733 trips · avg +1.2 min
-
TPF 88.7%
3,999 trips · avg +1.1 min
-
Autolinea Mendrisiense 88.8%
374 trips · avg +1.1 min
-
Verkehrsbetriebe Kreuzlingen 89%
509 trips · avg +1.4 min
-
Busbetrieb Aarau 89.1%
932 trips · avg +1.3 min
Most punctual operators
-
Sihltal-Zürich-Uetliberg-Bahn 100%
310 trips · avg +0.4 min
-
THURBO 99.4%
1,113 trips · avg +0.2 min
-
Regionalverkehr Bern-Solothurn 99.5%
607 trips · avg +0.2 min
-
Automobildienst SZU 98.9%
1,700 trips · avg +0.4 min
-
Zentralbahn 99.4%
343 trips · avg +0.2 min
-
Schweizerische Südostbahn 99%
515 trips · avg +0.3 min
-
Automobiles MBC 98.1%
1,042 trips · avg +0.4 min
-
Regionalps 99.5%
188 trips · avg +0.4 min
Stations
The share of the departures less than 3 minutes late. A train station has departures of trains.
-
Zürich HB 98.1%
1,724 departures · avg +0.9 min
-
Bern 98.6%
1,076 departures · avg +0.7 min
-
Zürich Oerlikon 98.6%
920 departures · avg +0.8 min
-
Zürich Stadelhofen 97.7%
699 departures · avg +1 min
-
Winterthur 98.4%
694 departures · avg +0.7 min
-
Zürich Hardbrücke 92.9%
676 departures · avg +1.7 min
-
Olten 95.1%
594 departures · avg +1.1 min
-
St. Gallen 97.4%
530 departures · avg +0.7 min
-
Lausanne 95.3%
529 departures · avg +1 min
-
Aarau 97.1%
521 departures · avg +0.8 min
-
Renens VD 98%
489 departures · avg +0.8 min
-
Worblaufen 99.8%
481 departures · avg +0.7 min
-
Bern, Bahnhof 95.7%
2,857 departures · avg +1.1 min
-
Genève, gare Cornavin 84.4%
2,669 departures · avg +1.5 min
-
Genève, Bel-Air 81.6%
2,625 departures · avg +1.7 min
-
Luzern, Kantonalbank 85.9%
2,369 departures · avg +1.6 min
-
Zürich, Central 94.3%
2,272 departures · avg +1.1 min
-
Basel, Schifflände 83.7%
2,253 departures · avg +1.8 min
-
Bern, Hirschengraben 92.5%
2,197 departures · avg +1.3 min
-
Zürich, Bellevue 92.4%
2,151 departures · avg +1.3 min
-
Bern, Zytglogge 93.7%
2,112 departures · avg +1.3 min
-
Basel, Bankverein 83.4%
2,047 departures · avg +1.9 min
-
Luzern, Bahnhof 92.4%
2,031 departures · avg +1.1 min
-
2,028 departures · avg +1.2 min
-
Agno 33.9%
124 departures · avg +4.9 min
-
Magliaso 34.7%
124 departures · avg +4.8 min
-
Magliaso Paese 36.3%
124 departures · avg +4.8 min
-
Serocca 36.3%
124 departures · avg +4.7 min
-
Bioggio Molinazzo 40.3%
124 departures · avg +4.3 min
-
Caslano 46%
124 departures · avg +4.2 min
-
Bioggio 46.8%
124 departures · avg +3.9 min
-
Cappella-Agnuzzo 49.2%
124 departures · avg +3.7 min
-
Sorengo Laghetto 54.8%
124 departures · avg +3.7 min
-
Sorengo 58.9%
124 departures · avg +3.5 min
-
100 departures · avg +2.1 min
-
St. Gallen Marktplatz 70.6%
109 departures · avg +2.7 min
Largest delays
- Bus 141 Stechelberg, Hotel – Lauterbrunnen, Bahnhof Stechelberg, Hotel +79 min
- Bus 134 Twann, Bahnhof – La Neuveville, poste La Neuveville, posteand 1 more trips of this line +66 min
- ICE Chur +58 min
- Bus 14 Schaan, Bahnhof – Feldkirch, Bahnhof Schaan, Bahnhof +57 min
- Bus 931 Ramosch, Fermada – Vnà, Jalmèr Vnà, Jalmèr +51 min
- Bus 10 Genève-Aéroport, Terminal – Genève, Rive Genève, Rive +51 min
- G Genève, Rive – Veigy, douane (F) Genève, Rive +51 min
- Bus 3 Genève, Crêts-de-Champeland 2 more trips of this line +50 min
- Bus 522 Visp, Bahnhof Süd – Ausserberg, Dorf Ausserberg, Dorf +48 min
- Tram 12 Thônex, Moillesulaz +48 min
- Bus 683 Vaulion, poste – Orbe, poste Vaulion, poste +47 min
- Bus 451 Ilanz, Bahnhof/Post – Obersaxen, St. Martin Obersaxen, St. Martin +47 min
- Bus 24 Grenchen, Flurstrasse Süd – Lengnau BE, Sportplatz Biel/Bienne, Stadien/Stades +46 min
- Bus 50 Genève-Aéroport, Terminal – Versoix, Centre sportif Genève-Aéroport, Terminal +45 min
- Bus 670 Froideville, Laiterie – Yverdon-les-Bains, gare Yverdon-les-Bains, gare +44 min