Punctuality of Swiss public transportMonday 22 December 2025
91.5% of 146,977 trips were on time. The share was lowest at 15:30: 79%. Of the busy lines, S60 Lugano FLP – Ponte Tresa had the lowest share on time: 40.9%.
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.5%
−0.8 ptsDay before: 92.3% · 146,977 trips with live data
Average delay
+1 min
Canceled trips
316
0.2% of the trips
The day in numbers
From the timetable of the day, and its trips with live data.
Through the day
The share of the trips on their way that are less than 3 minutes late, every 10 minutes.
- ≥ 95%
- Dashed: Sunday 21 December
- Lowest points
The disruptions of this day were not recorded, so the chart cannot show its incidents.
By mode
-
Train 96.8%
14,203 trips · avg +0.6 min
-
Tram 85.2%
11,528 trips · avg +1.6 min
-
Bus 91.5%
120,554 trips · avg +1 min
-
Metro 99%
296 trips · avg +1 min
-
Boat 59.3%
396 trips · avg +3.2 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
-
132 trips · avg +3.7 min
-
175 trips · avg +3.9 min
-
149 trips · avg +6.3 min
-
148 trips · avg +4.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) 45.9%
148 trips · avg +3.9 min
-
Bus 106 Neuchâtel, Place Pury – Neuchâtel,Vallon de l'ErmitageNeuchâtel, Place Pury – Neuchâtel,Vallon de l'Ermitage 51.5%
66 trips · avg +3.2 min
-
74 trips · avg +2.7 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.7 min
Show 17 more
-
Tram 8 Weil am Rhein, Bahnhof/Zentrum – Basel, NeuweilerstrasseWeil am Rhein, Bahnhof/Zentrum – Basel, Neuweilerstrasse 55.8%
301 trips · avg +5.3 min
-
205 trips · avg +8 min
-
47 trips · avg +5.5 min
-
Bus 11 Chur, Bahnhofplatz – Felsberg, Rjterstutz/AeuliChur, Bahnhofplatz – Felsberg, Rjterstutz/Aeuli 57.9%
140 trips · avg +3.5 min
-
Bus 109 Neuchâtel, Place Pury – Neuchâtel, Trois-ChênesNeuchâtel, Place Pury – Neuchâtel, Trois-Chênes 58.4%
173 trips · avg +2.8 min
-
Bus 307 Zürich Altstetten, Bahnhof N – Schlieren, Zentrum/BahnhofZürich Altstetten, Bahnhof N – Schlieren, Zentrum/Bahnhof 60.3%
58 trips · avg +5.5 min
-
61 trips · avg +2.5 min
-
75 trips · avg +3.6 min
-
104 trips · avg +2.8 min
-
59 trips · avg +2.7 min
-
54 trips · avg +3.2 min
-
68 trips · avg +2.8 min
-
Bus 16 Lausanne, Grand Vennes – Lausanne, Provence nordLausanne, Grand Vennes – Lausanne, Provence nord 63.6%
151 trips · avg +3.2 min
-
Bus 2 Fribourg, Schönberg Dunant – Villars-sur-Glâne, Les DaillesFribourg, Schönberg Dunant – Villars-sur-Glâne, Les Dailles 64%
272 trips · avg +5.2 min
-
202 trips · avg +4.6 min
-
94 trips · avg +5.5 min
-
193 trips · avg +6.4 min
Most punctual busy lines
-
303 trips · avg +0.5 min
-
296 trips · avg +1 min
-
Bus 101 Bern, Hauptbahnhof – Hinterkappelen, SchlossmattBern, Hauptbahnhof – Hinterkappelen, Schlossmatt 98.8%
254 trips · avg +0.4 min
-
277 trips · avg +0.9 min
-
263 trips · avg +0.3 min
-
Bus 752 Stettbach, Bahnhof – Dübendorf, KunsteisbahnStettbach, Bahnhof – Dübendorf, Kunsteisbahn 98.1%
265 trips · avg +0.7 min
-
Bus 3 Winterthur, Oberseen – Winterthur, RosenbergWinterthur, Oberseen – Winterthur, Rosenberg 97.6%
286 trips · avg +0.5 min
-
279 trips · avg +0.9 min
Least punctual busy lines
-
132 trips · avg +3.7 min
-
103 trips · avg +4 min
-
62 trips · avg +5.6 min
-
69 trips · avg +2 min
-
74 trips · avg +1.3 min
-
40 trips · avg +0.9 min
-
57 trips · avg +0.5 min
-
43 trips · avg +0.6 min
Show 17 more
-
72 trips · avg +1.2 min
-
46 trips · avg +0.5 min
-
78 trips · avg +0.8 min
-
48 trips · avg +0.9 min
-
53 trips · avg +1 min
-
76 trips · avg +0.9 min
-
61 trips · avg +0.8 min
-
41 trips · avg +0.2 min
-
42 trips · avg +0.5 min
-
68 trips · avg +0.5 min
-
46 trips · avg +0.5 min
-
119 trips · avg +0.6 min
-
56 trips · avg +0.4 min
-
86 trips · avg +0.4 min
-
116 trips · avg +0.6 min
-
91 trips · avg +0.5 min
-
77 trips · avg +0.3 min
Most punctual busy lines
-
119 trips · avg +0.3 min
-
118 trips · avg +0.6 min
-
98 trips · avg +0.3 min
-
96 trips · avg +0.2 min
-
91 trips · avg +0.1 min
-
91 trips · avg +0.3 min
-
80 trips · avg +0.4 min
-
80 trips · avg +0.5 min
Least punctual busy lines
-
Tram 8 Weil am Rhein, Bahnhof/Zentrum – Basel, NeuweilerstrasseWeil am Rhein, Bahnhof/Zentrum – Basel, Neuweilerstrasse 55.8%
301 trips · avg +5.3 min
-
104 trips · avg +2.8 min
-
Tram 14 Basel, Dreirosenbrücke – Pratteln, SchlossstrasseBasel, Dreirosenbrücke – Pratteln, Schlossstrasse 66.2%
284 trips · avg +2.9 min
-
294 trips · avg +1.8 min
-
308 trips · avg +2.2 min
-
275 trips · avg +2.4 min
-
287 trips · avg +2.5 min
-
Tram 3 St-Louis, Gare de Saint-Louis – Birsfelden, HardSt-Louis, Gare de Saint-Louis – Birsfelden, Hard 75%
288 trips · avg +2.7 min
Show 17 more
-
275 trips · avg +2.1 min
-
Tram 8 Bern Brünnen Westside, Bahnhof – Bern, SaaliBern Brünnen Westside, Bahnhof – Bern, Saali 79.1%
311 trips · avg +1.8 min
-
222 trips · avg +1.7 min
-
Tram 5 Zürich Stadelhofen, Bahnhof – Zürich, LaubeggZürich Stadelhofen, Bahnhof – Zürich, Laubegg 83.6%
238 trips · avg +1.6 min
-
403 trips · avg +1.4 min
-
301 trips · avg +1.5 min
-
289 trips · avg +1.2 min
-
384 trips · avg +1.5 min
-
Tram 11 Zürich Tiefenbrunnen, Bahnhof – Zürich, Bahnhofstrasse/HBZürich Tiefenbrunnen, Bahnhof – Zürich, Bahnhofstrasse/HB 89%
291 trips · avg +1.3 min
-
Tram 7 Zürich, Wollishoferplatz – Stettbach, BahnhofZürich, Wollishoferplatz – Stettbach, Bahnhof 90.4%
293 trips · avg +1.4 min
-
Tram 51 Zürich Altstetten, Bahnhof N – Zürich, SeebachZürich Altstetten, Bahnhof N – Zürich, Seebach 90.6%
308 trips · avg +1.1 min
-
291 trips · avg +1.5 min
-
222 trips · avg +1.1 min
-
Tram 13 Zürich, Bahnhofstrasse/HB – Zürich, AlbisgütliZürich, Bahnhofstrasse/HB – Zürich, Albisgütli 91.6%
395 trips · avg +1.2 min
-
303 trips · avg +1.1 min
-
290 trips · avg +1.2 min
-
Tram 15 Zürich Tiefenbrunnen, Bahnhof – Zürich, CentralZürich Tiefenbrunnen, Bahnhof – Zürich, Central 93.1%
289 trips · avg +1.1 min
Most punctual busy lines
-
216 trips · avg +0.7 min
-
312 trips · avg +0.6 min
-
Tram 20 Killwangen, Bahnhof – Zürich Altstetten, BahnhofKillwangen, Bahnhof – Zürich Altstetten, Bahnhof 96.1%
154 trips · avg +1 min
-
178 trips · avg +0.7 min
-
Tram 12 Zürich Flughafen, Fracht – Stettbach, BahnhofZürich Flughafen, Fracht – Stettbach, Bahnhof 95.5%
154 trips · avg +0.9 min
-
Tram 9 Wabern, Tram-Endstation – Bern Wankdorf, BahnhofWabern, Tram-Endstation – Bern Wankdorf, Bahnhof 94.9%
350 trips · avg +1.1 min
-
304 trips · avg +1 min
-
Tram 10 Zürich, Bahnhofstrasse/HB – Zürich Flughafen, FrachtZürich, Bahnhofstrasse/HB – Zürich Flughafen, Fracht 94.7%
282 trips · avg +0.9 min
Least punctual busy lines
-
175 trips · avg +3.9 min
-
149 trips · avg +6.3 min
-
Bus 106 Neuchâtel, Place Pury – Neuchâtel,Vallon de l'ErmitageNeuchâtel, Place Pury – Neuchâtel,Vallon de l'Ermitage 51.5%
66 trips · avg +3.2 min
-
74 trips · avg +2.7 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.7 min
-
205 trips · avg +8 min
-
47 trips · avg +5.5 min
-
Bus 11 Chur, Bahnhofplatz – Felsberg, Rjterstutz/AeuliChur, Bahnhofplatz – Felsberg, Rjterstutz/Aeuli 57.9%
140 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 58.4%
173 trips · avg +2.8 min
-
Bus 307 Zürich Altstetten, Bahnhof N – Schlieren, Zentrum/BahnhofZürich Altstetten, Bahnhof N – Schlieren, Zentrum/Bahnhof 60.3%
58 trips · avg +5.5 min
-
61 trips · avg +2.5 min
-
75 trips · avg +3.6 min
-
59 trips · avg +2.7 min
-
54 trips · avg +3.2 min
-
68 trips · avg +2.8 min
-
Bus 16 Lausanne, Grand Vennes – Lausanne, Provence nordLausanne, Grand Vennes – Lausanne, Provence nord 63.6%
151 trips · avg +3.2 min
-
Bus 2 Fribourg, Schönberg Dunant – Villars-sur-Glâne, Les DaillesFribourg, Schönberg Dunant – Villars-sur-Glâne, Les Dailles 64%
272 trips · avg +5.2 min
-
202 trips · avg +4.6 min
-
94 trips · avg +5.5 min
-
193 trips · avg +6.4 min
-
Bus 50 Basel, Bahnhof SBB – Basel EuroAirport, VerwaltungBasel, Bahnhof SBB – Basel EuroAirport, Verwaltung 65.5%
267 trips · avg +4.6 min
-
178 trips · avg +2.6 min
-
Bus 6 Lausanne, Praz-Séchaud – Lausanne, MaladièreLausanne, Praz-Séchaud – Lausanne, Maladière 66.3%
199 trips · avg +2.6 min
-
66 trips · avg +2.8 min
-
Bus 58 Münchenstein, Schlossmatt – Reinach BL, BruggrainMünchenstein, Schlossmatt – Reinach BL, Bruggrain 66.7%
60 trips · avg +2.4 min
Most punctual busy lines
-
208 trips · avg +0.2 min
-
Bus 781 Zürich Oerlikon, Bahnhof – Glattbrugg, GiebeleichstrasseZürich Oerlikon, Bahnhof – Glattbrugg, Giebeleichstrasse 99.6%
243 trips · avg +0.5 min
-
214 trips · avg +0.5 min
-
Bus 1 Schaffhausen, Waldfriedhof – Neuhausen, HerbstäckerSchaffhausen, Waldfriedhof – Neuhausen, Herbstäcker 99.5%
207 trips · avg +0.7 min
-
240 trips · avg +0.7 min
-
Bus 101 Bern, Hauptbahnhof – Hinterkappelen, SchlossmattBern, Hauptbahnhof – Hinterkappelen, Schlossmatt 98.8%
254 trips · avg +0.4 min
-
277 trips · avg +0.9 min
-
263 trips · avg +0.3 min
Least punctual busy lines
-
148 trips · avg +4.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) 45.9%
148 trips · avg +3.9 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.6 min
Least punctual operators
-
Lugano-Ponte Tresa 40.9%
132 trips · avg +3.7 min
-
Mouettes genevoises 59.3%
396 trips · avg +3.2 min
-
TPL 76.4%
1,613 trips · avg +2 min
-
Transports publics Vevey-Montreux-Chillon-Villeneuve 77.4%
1,166 trips · avg +3.6 min
-
Bus und Service 77.5%
1,554 trips · avg +2.1 min
-
BVB 77.5%
4,395 trips · avg +2.3 min
-
Automobil Rottal 77.5%
436 trips · avg +2 min
-
Verkehrsbetrieb der Landschaft Davos 79.3%
397 trips · avg +1.9 min
Show 17 more
-
VBL 81.1%
3,788 trips · avg +1.8 min
-
Busbetrieb Rapperswil-Eschenbach-Rüti ZH 81.8%
285 trips · avg +1.6 min
-
Verkehrsbetrieb LIECHTENSTEINmobil 81.9%
868 trips · avg +1.8 min
-
Matterhorn Gotthard Bahn 82%
334 trips · avg +2.7 min
-
TPG 83.2%
8,636 trips · avg +1.5 min
-
Auto AG Rothenburg 84.5%
767 trips · avg +1.5 min
-
Transports Publics Neuchâtelois 84.9%
2,356 trips · avg +1.4 min
-
Sierre-Montana-Crans 84.9%
278 trips · avg +1.5 min
-
Autobetrieb Sernftal 85%
100 trips · avg +1.9 min
-
Autolinee Regionali Luganesi 86.1%
230 trips · avg +1.2 min
-
Verkehrsbetriebe Biel 86.3%
1,386 trips · avg +1.9 min
-
Stadtbus Frauenfeld 86.8%
574 trips · avg +1.4 min
-
Busbetrieb Lichtensteig-Wattwil-Ebnat-Kappel 86.9%
107 trips · avg +2.8 min
-
TPF 87.2%
3,998 trips · avg +1.5 min
-
tl 87.4%
6,429 trips · avg +1.2 min
-
Busbetrieb Solothurn und Umgebung 87.9%
736 trips · avg +1.2 min
-
Regiobus Gossau SG 88%
548 trips · avg +1.2 min
Most punctual operators
-
Appenzeller Bahnen 100%
346 trips · avg +0.3 min
-
Sihltal-Zürich-Uetliberg-Bahn 100%
307 trips · avg +0.4 min
-
THURBO 99.4%
1,114 trips · avg +0.2 min
-
Zentralbahn 99.4%
343 trips · avg +0.2 min
-
BLS 98.4%
1,561 trips · avg +0.4 min
-
Automobildienst SZU 98.3%
1,706 trips · avg +0.4 min
-
Aare Seeland mobil 98.8%
338 trips · avg +0.3 min
-
Regionalverkehr Bern-Solothurn 98.3%
606 trips · avg +0.3 min
Stations
The share of the departures less than 3 minutes late. A train station has departures of trains.
-
Zürich HB 97.9%
1,722 departures · avg +0.9 min
-
Bern 99.1%
1,075 departures · avg +0.7 min
-
Zürich Oerlikon 98.6%
920 departures · avg +0.8 min
-
Zürich Stadelhofen 97.3%
698 departures · avg +1.1 min
-
Winterthur 98.7%
693 departures · avg +0.8 min
-
Zürich Hardbrücke 94.1%
675 departures · avg +1.7 min
-
Olten 96.7%
604 departures · avg +1 min
-
St. Gallen 96.6%
532 departures · avg +1 min
-
Lausanne 94.5%
529 departures · avg +1.1 min
-
Aarau 98.3%
522 departures · avg +0.7 min
-
Renens VD 95.1%
488 departures · avg +1 min
-
Worblaufen 98.8%
480 departures · avg +0.8 min
-
Bern, Bahnhof 97.2%
2,857 departures · avg +0.9 min
-
Genève, gare Cornavin 83.5%
2,672 departures · avg +1.6 min
-
Genève, Bel-Air 84.3%
2,619 departures · avg +1.6 min
-
Luzern, Kantonalbank 84.1%
2,364 departures · avg +1.8 min
-
Basel, Schifflände 81.8%
2,262 departures · avg +2.1 min
-
Zürich, Central 92%
2,247 departures · avg +1.4 min
-
Bern, Hirschengraben 94.6%
2,194 departures · avg +1.2 min
-
Zürich, Bellevue 87.3%
2,126 departures · avg +1.6 min
-
Bern, Zytglogge 95.3%
2,113 departures · avg +1.1 min
-
Basel, Bankverein 78.8%
2,043 departures · avg +2.4 min
-
St. Gallen, Bahnhof 93.6%
2,032 departures · avg +1.1 min
-
Luzern, Bahnhof 90.5%
2,026 departures · avg +1.4 min
-
Agno 25.8%
132 departures · avg +5 min
-
Magliaso Paese 27.3%
132 departures · avg +4.7 min
-
Magliaso 28%
132 departures · avg +4.7 min
-
Serocca 29.5%
132 departures · avg +4.6 min
-
Bioggio Molinazzo 40.2%
132 departures · avg +4.3 min
-
Bioggio 41.7%
132 departures · avg +3.9 min
-
Caslano 42.4%
132 departures · avg +4 min
-
Cappella-Agnuzzo 43.2%
132 departures · avg +3.7 min
-
Sorengo Laghetto 50%
132 departures · avg +3.5 min
-
Sorengo 51.5%
132 departures · avg +3.4 min
-
Muhen Nord 75.2%
153 departures · avg +1.6 min
-
Oberentfelden Engelplatz 75.2%
153 departures · avg +1.5 min
Largest delays
- S17 Dietikon – Wohlen AG Dietikon +171 min
- Bus 1 Ebikon, Fildern – Obernau, Dorf Obernau, Dorf +155 min
- Bus 204 Blonay, gare – Montreux, casino Chailly-Montreux, P+Rand 4 more trips of this line +64 min
- Bus 201 Vevey, funiculaire – Rennaz, village Rennaz, villageand 7 more trips of this line +62 min
- EC Bregenz – Zürich HB Zürich HBand 1 more trips of this line +62 min
- Bus 885 Rüti ZH, Bahnhofand 2 more trips of this line +61 min
- Bus 16 Lausanne, Grand Vennes – Lausanne, Provence nord Provence nord +57 min
- Tram 8 Zürich, Kirche Fluntern – Zürich, Hardturm Zürich, Hardturmand 1 more trips of this line +54 min
- Bus 47 Pully, port – Grandvaux, Pra Grana Pully, port +53 min
- Bus 61 Genève, gare Cornavin – Gex, L'Aiglette Genève, gare Cornavin +52 min
- ICE Basel SBBand 1 more trips of this line +52 min
- Bus 321 Hohenems, Schlossplatz – Altstätten SG, Bahnhof Hohenems, Schlossplatz +50 min
- Bus 611 Bitsch, Eiche – Bitsch, Bahnhof Bitsch, Eiche +49 min
- Bus 80 Basel, Aeschenplatz – Liestal, Bahnhof Basel, Aeschenplatz +48 min
- Bus 19 Onex, cité – Vernier, village Onex, cité +47 min