Punctuality of Swiss public transportThursday 25 December 2025
95.7% of 95,631 trips were on time. The share was lowest at 17:00: 90%. Of the busy lines, M2 Genève-Pâquis (lac) – Genève-Quai Gustave Ador (lac) had the lowest share on time: 38.3%.
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.
95.7%
+1.4 ptsDay before: 94.3% · 95,631 trips with live data
Average delay
+0.6 min
Canceled trips
189
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: Wednesday 24 December
- Lowest points
The disruptions of this day were not recorded, so the chart cannot show its incidents.
By mode
-
Train 98.3%
12,443 trips · avg +0.4 min
-
Tram 92.2%
7,793 trips · avg +1 min
-
Bus 95.8%
74,986 trips · avg +0.6 min
-
Metro 100%
221 trips · avg +0.6 min
-
Boat 45.7%
188 trips · avg +4.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
-
M2 Genève-Pâquis (lac) – Genève-Quai Gustave Ador (lac)Genève-Pâquis (lac) – Genève-Quai Gustave Ador (lac) 38.3%
94 trips · avg +4.8 min
-
Bus 101 Cormondrèche, Grand'Rue – Marin-Epagnier, gareCormondrèche, Grand'Rue – Marin-Epagnier, gare 43.9%
98 trips · avg +3.1 min
-
148 trips · avg +3 min
-
149 trips · avg +2.6 min
-
94 trips · avg +3.6 min
-
175 trips · avg +2.5 min
-
Bus 109 Neuchâtel, Place Pury – Neuchâtel, Trois-ChênesNeuchâtel, Place Pury – Neuchâtel, Trois-Chênes 66.7%
114 trips · avg +2.4 min
-
89 trips · avg +2 min
Show 17 more
-
209 trips · avg +1.9 min
-
60 trips · avg +8 min
-
76 trips · avg +1.9 min
-
74 trips · avg +2.1 min
-
Tram 8 Basel, Neuweilerstrasse – Weil am Rhein, Bahnhof/ZentrumBasel, Neuweilerstrasse – Weil am Rhein, Bahnhof/Zentrum 74.7%
198 trips · avg +1.8 min
-
227 trips · avg +2.1 min
-
66 trips · avg +3.2 min
-
40 trips · avg +2 min
-
Bus 59 Chambésy, Plage du Vengeron – Genève-Aéroport, TerminalChambésy, Plage du Vengeron – Genève-Aéroport, Terminal 78%
41 trips · avg +1.8 min
-
136 trips · avg +1.7 min
-
221 trips · avg +1.8 min
-
Bus 301 Davos Glaris, Ortolfi – Davos Laret, LandhausDavos Glaris, Ortolfi – Davos Laret, Landhaus 79.5%
132 trips · avg +1.5 min
-
Bus 519 Stüsslingen, Jura – Niedergösgen, JurastrasseStüsslingen, Jura – Niedergösgen, Jurastrasse 79.7%
74 trips · avg +1.8 min
-
80 trips · avg +2.2 min
-
Bus 61 Wallisellen, Glatt (Bus) – Zürich, MühlackerWallisellen, Glatt (Bus) – Zürich, Mühlacker 80.2%
126 trips · avg +1.7 min
-
61 trips · avg +1.9 min
-
67 trips · avg +1.5 min
Most punctual busy lines
-
221 trips · avg +0.6 min
-
217 trips · avg +0.5 min
-
203 trips · avg +0.4 min
-
202 trips · avg +0.2 min
-
Bus 1 Winterthur, Oberwinterthur – Winterthur, TössWinterthur, Oberwinterthur – Winterthur, Töss 99%
206 trips · avg +0.7 min
-
204 trips · avg +0.9 min
-
202 trips · avg +0.3 min
-
Bus 70 Zürich Wollishofen, Bahnhof – Zürich, MittelleimbachZürich Wollishofen, Bahnhof – Zürich, Mittelleimbach 98.7%
236 trips · avg +0.7 min
Least punctual busy lines
-
60 trips · avg +8 min
-
67 trips · avg +1.5 min
-
51 trips · avg +1.5 min
-
40 trips · avg +0.7 min
-
81 trips · avg +0.4 min
-
81 trips · avg +0.5 min
-
75 trips · avg +0.5 min
-
53 trips · avg +0.6 min
Show 17 more
-
85 trips · avg +0.8 min
-
219 trips · avg +0.7 min
-
74 trips · avg +1 min
-
40 trips · avg +0.5 min
-
82 trips · avg +0.3 min
-
41 trips · avg +0.5 min
-
83 trips · avg +0.3 min
-
42 trips · avg +0.3 min
-
42 trips · avg +0.2 min
-
43 trips · avg +0.3 min
-
46 trips · avg +0.3 min
-
56 trips · avg +0.1 min
-
63 trips · avg +0.2 min
-
70 trips · avg +0.2 min
-
76 trips · avg +1 min
-
78 trips · avg +0.2 min
-
80 trips · avg +0.3 min
Most punctual busy lines
-
117 trips · avg +0.5 min
-
116 trips · avg +0.1 min
-
111 trips · avg +0.2 min
-
104 trips · avg +0.3 min
-
R15 Boudry Littorail – Neuchâtel Place Pury LittorailBoudry Littorail – Neuchâtel Place Pury Littorail 100%
98 trips · avg +0.2 min
-
93 trips · avg +0.1 min
-
92 trips · avg +0.2 min
-
86 trips · avg +0.1 min
Least punctual busy lines
-
209 trips · avg +1.9 min
-
Tram 8 Basel, Neuweilerstrasse – Weil am Rhein, Bahnhof/ZentrumBasel, Neuweilerstrasse – Weil am Rhein, Bahnhof/Zentrum 74.7%
198 trips · avg +1.8 min
-
227 trips · avg +2.1 min
-
221 trips · avg +1.8 min
-
Tram 8 Bern, Saali – Bern Brünnen Westside, BahnhofBern, Saali – Bern Brünnen Westside, Bahnhof 85.2%
230 trips · avg +1.9 min
-
Tram 14 Basel, Dreirosenbrücke – Pratteln, SchlossstrasseBasel, Dreirosenbrücke – Pratteln, Schlossstrasse 86.4%
199 trips · avg +1.7 min
-
217 trips · avg +1 min
-
Tram 9 Wabern, Tram-Endstation – Bern Wankdorf, BahnhofWabern, Tram-Endstation – Bern Wankdorf, Bahnhof 87.4%
253 trips · avg +1.8 min
Show 17 more
-
194 trips · avg +1.3 min
-
193 trips · avg +1.1 min
-
251 trips · avg +1 min
-
148 trips · avg +0.6 min
-
223 trips · avg +0.9 min
-
206 trips · avg +1 min
-
Tram 2 Binningen, Kronenplatz – Basel, Badischer BahnhofBinningen, Kronenplatz – Basel, Badischer Bahnhof 94.4%
196 trips · avg +1.3 min
-
193 trips · avg +1.3 min
-
159 trips · avg +1.2 min
-
223 trips · avg +0.9 min
-
203 trips · avg +1 min
-
Tram 11 Zürich, Central – Zürich Tiefenbrunnen, BahnhofZürich, Central – Zürich Tiefenbrunnen, Bahnhof 96.7%
214 trips · avg +0.6 min
-
217 trips · avg +1.1 min
-
Tram 10 Zürich Flughafen, Fracht – Zürich, Bahnhofplatz/HBZürich Flughafen, Fracht – Zürich, Bahnhofplatz/HB 96.9%
159 trips · avg +0.9 min
-
225 trips · avg +0.6 min
-
Tram 51 Zürich Altstetten, Bahnhof N – Zürich, SeebachZürich Altstetten, Bahnhof N – Zürich, Seebach 97.3%
225 trips · avg +0.8 min
-
Tram 20 Killwangen, Bahnhof – Zürich Altstetten, BahnhofKillwangen, Bahnhof – Zürich Altstetten, Bahnhof 98.1%
155 trips · avg +0.4 min
Most punctual busy lines
-
122 trips · avg +0.1 min
-
81 trips · avg +0.1 min
-
217 trips · avg +0.5 min
-
Tram 12 Stettbach, Bahnhof – Zürich Flughafen, FrachtStettbach, Bahnhof – Zürich Flughafen, Fracht 98.7%
154 trips · avg +1.1 min
-
Tram 7 Stettbach, Bahnhof – Zürich, WollishoferplatzStettbach, Bahnhof – Zürich, Wollishoferplatz 98.6%
216 trips · avg +0.8 min
-
214 trips · avg +0.8 min
-
Tram 15 Zürich, Bahnhofstrasse/HB – Zürich Tiefenbrunnen, BahnhofZürich, Bahnhofstrasse/HB – Zürich Tiefenbrunnen, Bahnhof 98.6%
212 trips · avg +0.5 min
-
Tram 20 Killwangen, Bahnhof – Zürich Altstetten, BahnhofKillwangen, Bahnhof – Zürich Altstetten, Bahnhof 98.1%
155 trips · avg +0.4 min
Least punctual busy lines
-
Bus 101 Cormondrèche, Grand'Rue – Marin-Epagnier, gareCormondrèche, Grand'Rue – Marin-Epagnier, gare 43.9%
98 trips · avg +3.1 min
-
148 trips · avg +3 min
-
149 trips · avg +2.6 min
-
175 trips · avg +2.5 min
-
Bus 109 Neuchâtel, Place Pury – Neuchâtel, Trois-ChênesNeuchâtel, Place Pury – Neuchâtel, Trois-Chênes 66.7%
114 trips · avg +2.4 min
-
89 trips · avg +2 min
-
76 trips · avg +1.9 min
-
74 trips · avg +2.1 min
Show 17 more
-
66 trips · avg +3.2 min
-
40 trips · avg +2 min
-
Bus 59 Chambésy, Plage du Vengeron – Genève-Aéroport, TerminalChambésy, Plage du Vengeron – Genève-Aéroport, Terminal 78%
41 trips · avg +1.8 min
-
136 trips · avg +1.7 min
-
Bus 301 Davos Glaris, Ortolfi – Davos Laret, LandhausDavos Glaris, Ortolfi – Davos Laret, Landhaus 79.5%
132 trips · avg +1.5 min
-
Bus 519 Stüsslingen, Jura – Niedergösgen, JurastrasseStüsslingen, Jura – Niedergösgen, Jurastrasse 79.7%
74 trips · avg +1.8 min
-
80 trips · avg +2.2 min
-
Bus 61 Wallisellen, Glatt (Bus) – Zürich, MühlackerWallisellen, Glatt (Bus) – Zürich, Mühlacker 80.2%
126 trips · avg +1.7 min
-
61 trips · avg +1.9 min
-
183 trips · avg +1.8 min
-
150 trips · avg +1.3 min
-
70 trips · avg +1.4 min
-
100 trips · avg +1.7 min
-
Bus 9 Villars-sur-Glâne, Coulat – Corminboeuf, Jo-SiffertVillars-sur-Glâne, Coulat – Corminboeuf, Jo-Siffert 83.1%
148 trips · avg +1.8 min
-
73 trips · avg +2.8 min
-
Bus 1 Granges-Paccot, P. de-Fribourg – Marly, GérineGranges-Paccot, P. de-Fribourg – Marly, Gérine 84.1%
151 trips · avg +1.4 min
-
Bus 50 Basel EuroAirport, Verwaltung – Basel, Bahnhof SBBBasel EuroAirport, Verwaltung – Basel, Bahnhof SBB 84.8%
230 trips · avg +1.6 min
Most punctual busy lines
-
188 trips · avg +0.4 min
-
157 trips · avg +0.1 min
-
152 trips · avg +0.2 min
-
203 trips · avg +0.4 min
-
202 trips · avg +0.2 min
-
154 trips · avg +0.7 min
-
Bus 33 Prilly, Mont-Goulin – St-Sulpice VD, Venoge nordPrilly, Mont-Goulin – St-Sulpice VD, Venoge nord 99.3%
153 trips · avg +0.4 min
-
Bus 45 Epalinges, Bois-Murat – Lausanne, Chalet-à-GobetEpalinges, Bois-Murat – Lausanne, Chalet-à-Gobet 99.3%
153 trips · avg +0.3 min
Least punctual operators
-
Mouettes genevoises 45.7%
188 trips · avg +4.2 min
-
Transports Publics Neuchâtelois 85.5%
976 trips · avg +1.2 min
-
BVB 88.6%
3,047 trips · avg +1.4 min
-
Stadtbus Frauenfeld 88.7%
194 trips · avg +1.7 min
-
TPL 89.6%
1,186 trips · avg +0.8 min
-
Regionalps 89.8%
147 trips · avg +1.1 min
-
Verkehrsbetrieb LIECHTENSTEINmobil 90.2%
480 trips · avg +1.5 min
-
Verkehrsbetrieb der Landschaft Davos 91.2%
375 trips · avg +0.8 min
Show 17 more
-
Montreux-Oberland Bernois 91.3%
127 trips · avg +1.1 min
-
Sierre-Montana-Crans 91.4%
266 trips · avg +1.1 min
-
Bus und Service 91.4%
992 trips · avg +1 min
-
TPG 91.5%
5,049 trips · avg +1 min
-
AFA Bus 91.5%
188 trips · avg +0.8 min
-
Bernmobil 92%
3,117 trips · avg +1.2 min
-
TPF 93%
2,534 trips · avg +0.7 min
-
Busbetrieb Olten-Gösgen-Gäu 93%
587 trips · avg +0.8 min
-
Busbetrieb Solothurn und Umgebung 93.6%
377 trips · avg +0.8 min
-
VBL 93.9%
2,700 trips · avg +1 min
-
Auto Leuk-Leukerbad 94.6%
222 trips · avg +0.9 min
-
Auto AG Rothenburg 94.9%
472 trips · avg +0.6 min
-
Regionale Verkehrsbetriebe Baden-Wettingen 94.9%
984 trips · avg +0.7 min
-
RhB 95.4%
500 trips · avg +0.7 min
-
tl 95.6%
5,433 trips · avg +0.6 min
-
VBZ 95.6%
10,642 trips · avg +0.8 min
-
Busbetrieb Rapperswil-Eschenbach-Rüti ZH 95.7%
141 trips · avg +0.8 min
Most punctual operators
-
THURBO 99.7%
1,049 trips · avg +0.2 min
-
Schweizerische Südostbahn 99.8%
475 trips · avg +0.2 min
-
Zentralbahn 100%
313 trips · avg +0.2 min
-
Automobildienst SZU 99.2%
1,328 trips · avg +0.2 min
-
Regionalverkehr Bern-Solothurn 99.5%
424 trips · avg +0.1 min
-
Verkehrsbetriebe Kreuzlingen 100%
196 trips · avg +0.5 min
-
BLT 98.7%
1,643 trips · avg +0.4 min
-
Verkehrsbetriebe Glattal 98.4%
2,280 trips · avg +0.6 min
Stations
The share of the departures less than 3 minutes late. A train station has departures of trains.
-
Zürich HB 98.4%
1,577 departures · avg +0.7 min
-
Bern 98.8%
919 departures · avg +0.6 min
-
Zürich Oerlikon 99.4%
826 departures · avg +0.6 min
-
Zürich Stadelhofen 99.9%
678 departures · avg +0.6 min
-
Winterthur 99%
675 departures · avg +0.9 min
-
Zürich Hardbrücke 98.9%
648 departures · avg +1.3 min
-
Olten 98.3%
596 departures · avg +0.7 min
-
Lausanne 98.3%
544 departures · avg +0.8 min
-
Renens VD 97.8%
505 departures · avg +0.7 min
-
Aarau 98.5%
474 departures · avg +0.6 min
-
St. Gallen 97.6%
452 departures · avg +1.2 min
-
Luzern 97.7%
437 departures · avg +0.6 min
-
Bern, Bahnhof 97.2%
2,086 departures · avg +1 min
-
Luzern, Kantonalbank 95.6%
1,785 departures · avg +1.1 min
-
Lausanne, Bel-Air 89.7%
1,760 departures · avg +1.3 min
-
Genève, gare Cornavin 90.3%
1,759 departures · avg +1.2 min
-
Genève, Bel-Air 90.4%
1,690 departures · avg +1.2 min
-
1,644 departures · avg +1.4 min
-
Luzern, Bahnhof 98.7%
1,606 departures · avg +0.7 min
-
Zürich HB 98.4%
1,577 departures · avg +0.7 min
-
Zürich, Central 98.5%
1,538 departures · avg +0.8 min
-
Bern, Zytglogge 93.4%
1,508 departures · avg +1.5 min
-
Basel, Schifflände 92.9%
1,469 departures · avg +1.4 min
-
1,378 departures · avg +0.8 min
-
Wolhusen 79.4%
107 departures · avg +1.7 min
-
Muhen Nord 81.8%
110 departures · avg +1.5 min
-
Oberentfelden Engelplatz 81.8%
110 departures · avg +1.4 min
-
Martigny 84.4%
179 departures · avg +1.6 min
-
Como S. Giovanni 86.1%
101 departures · avg +1.8 min
-
Chiasso 87.1%
155 departures · avg +1.9 min
-
Palézieux 91.9%
236 departures · avg +0.9 min
-
Reichenau-Tamins 92%
125 departures · avg +1.3 min
-
Melide 92.5%
120 departures · avg +1.3 min
-
Payerne 92.7%
137 departures · avg +1.3 min
-
Montreux 92.9%
280 departures · avg +1.2 min
-
Buchs SG 92.9%
127 departures · avg +1.3 min
Largest delays
- EC Bregenz – Zürich HB Zürich HBand 5 more trips of this line +117 min
- Bus 12 Bern, Zentrum Paul Klee – Bern, Holligen Bern, Holligen +68 min
- Bus 893 Wald ZH, Bahnhof – Wald ZH, Bahnhof Wald ZH, Bahnhof +63 min
- Bus 885 Rapperswil SG, Bahnhof – Laupen ZH, Schulhaus Rüti ZH, Bahnhofand 3 more trips of this line +61 min
- Bus 405 Ilanz, Bahnhof/Post – Riein, vitg Riein, vitg +58 min
- Bus 68 Thoiry, Centre commercial – Vernier, Blandonnet Vernier, Blandonnet +57 min
- Bus 66 Thoiry, Centre commercial – Genève-Aéroport, Terminal Genève-Aéroport, Terminaland 4 more trips of this line +55 min
- Bus 2 Genève, Plage – Bernex, Cressy Bernex, Cressy +52 min
- Bus 2 Fribourg, Schönberg Dunant – Villars-sur-Glâne, Les Dailles Fribourg, Schönberg Dunant +50 min
- R20 Bercher – Lausanne-Flon Bercher +41 min
- RJX Zürich HBand 1 more trips of this line +39 min
- R43 Fieschand 1 more trips of this line +39 min
- Bus 81 Basel, Aeschenplatz – Liestal, Bahnhof Basel, Aeschenplatz +37 min
- Bus 572 Filisur, Bahnhof – Churwalden, Furnerschhus Filisur, Bahnhof +36 min
- Bus 432 Sargans, Bahnhof – Weisstannen, Oberdorf Sargans, Bahnhof +36 min