Punctuality of Swiss public transportThursday 1 January 2026
94.3% of 96,057 trips were on time. The share was lowest at 16:00: 87.1%. Of the busy lines, M2 Genève-Pâquis (lac) – Genève-Quai Gustave Ador (lac) had the lowest share on time: 13.5%.
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.
94.3%
+0.9 ptsDay before: 93.4% · 96,057 trips with live data
Average delay
+0.8 min
Canceled trips
114
0.1% 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 31 December
- Lowest points
The disruptions of this day were not recorded, so the chart cannot show its incidents.
By mode
-
Train 96.2%
12,791 trips · avg +0.6 min
-
Tram 91.6%
7,788 trips · avg +1.1 min
-
Bus 94.4%
75,001 trips · avg +0.8 min
-
Metro 99.1%
221 trips · avg +0.6 min
-
Boat 41.8%
256 trips · avg +4.8 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) 13.5%
96 trips · avg +6.7 min
-
96 trips · avg +5.8 min
-
Bus 436 Crans-Montana, gare – Crans-Montana, MarignyCrans-Montana, gare – Crans-Montana, Marigny 31.5%
54 trips · avg +23.2 min
-
Bus 101 Cormondrèche, Grand'Rue – Marin-Epagnier, gareCormondrèche, Grand'Rue – Marin-Epagnier, gare 44.9%
98 trips · avg +3.4 min
-
147 trips · avg +2.7 min
-
61 trips · avg +3.6 min
-
148 trips · avg +3 min
-
74 trips · avg +4.1 min
Show 17 more
-
Bus 301 Davos Glaris, Ortolfi – Davos Laret, LandhausDavos Glaris, Ortolfi – Davos Laret, Landhaus 56.1%
132 trips · avg +3.1 min
-
40 trips · avg +3 min
-
Bus 122 Grindelwald, Gletscherschlucht – Grindelwald, KlusiGrindelwald, Gletscherschlucht – Grindelwald, Klusi 68.2%
44 trips · avg +1.9 min
-
Bus 109 Neuchâtel, Place Pury – Neuchâtel, Trois-ChênesNeuchâtel, Place Pury – Neuchâtel, Trois-Chênes 68.4%
114 trips · avg +2.3 min
-
97 trips · avg +2.7 min
-
40 trips · avg +4.2 min
-
55 trips · avg +5.6 min
-
149 trips · avg +2.5 min
-
175 trips · avg +2.1 min
-
216 trips · avg +2 min
-
74 trips · avg +2.1 min
-
79 trips · avg +6.4 min
-
183 trips · avg +2.2 min
-
66 trips · avg +3.2 min
-
Tram 8 Basel, Neuweilerstrasse – Weil am Rhein, Bahnhof/ZentrumBasel, Neuweilerstrasse – Weil am Rhein, Bahnhof/Zentrum 74.7%
198 trips · avg +2.1 min
-
40 trips · avg +2.1 min
-
Bus 50 Basel EuroAirport, Verwaltung – Basel, Bahnhof SBBBasel EuroAirport, Verwaltung – Basel, Bahnhof SBB 75.5%
229 trips · avg +2.7 min
Most punctual busy lines
-
203 trips · avg +0.4 min
-
202 trips · avg +0.3 min
-
Bus 17 Lausanne, Vigie – Villars-Ste-Croix, Croix-PéageLausanne, Vigie – Villars-Ste-Croix, Croix-Péage 99.5%
193 trips · avg +0.2 min
-
225 trips · avg +0.6 min
-
221 trips · avg +0.6 min
-
217 trips · avg +0.6 min
-
Tram 15 Zürich, Bahnhofstrasse/HB – Zürich Tiefenbrunnen, BahnhofZürich, Bahnhofstrasse/HB – Zürich Tiefenbrunnen, Bahnhof 99.1%
212 trips · avg +0.6 min
-
202 trips · avg +0.6 min
Least punctual busy lines
-
55 trips · avg +5.6 min
-
74 trips · avg +2.1 min
-
R15 Boudry Littorail – Neuchâtel Place Pury LittorailBoudry Littorail – Neuchâtel Place Pury Littorail 89.8%
98 trips · avg +0.8 min
-
53 trips · avg +1 min
-
46 trips · avg +0.8 min
-
40 trips · avg +1 min
-
69 trips · avg +0.5 min
-
75 trips · avg +0.7 min
Show 17 more
-
76 trips · avg +1 min
-
117 trips · avg +0.9 min
-
41 trips · avg +0.6 min
-
92 trips · avg +0.5 min
-
116 trips · avg +0.6 min
-
85 trips · avg +0.9 min
-
114 trips · avg +0.7 min
-
71 trips · avg +0.5 min
-
74 trips · avg +0.3 min
-
115 trips · avg +0.4 min
-
77 trips · avg +0.5 min
-
77 trips · avg +0.8 min
-
78 trips · avg +0.4 min
-
80 trips · avg +0.3 min
-
40 trips · avg +0.3 min
-
82 trips · avg +0.3 min
-
45 trips · avg +0.3 min
Most punctual busy lines
-
116 trips · avg +0 min
-
114 trips · avg +0.2 min
-
111 trips · avg +0.1 min
-
104 trips · avg +0.4 min
-
93 trips · avg +0.1 min
-
92 trips · avg +0.2 min
-
87 trips · avg +0.4 min
-
86 trips · avg +0.2 min
Least punctual busy lines
-
216 trips · avg +2 min
-
Tram 8 Basel, Neuweilerstrasse – Weil am Rhein, Bahnhof/ZentrumBasel, Neuweilerstrasse – Weil am Rhein, Bahnhof/Zentrum 74.7%
198 trips · avg +2.1 min
-
Tram 14 Basel, Dreirosenbrücke – Pratteln, SchlossstrasseBasel, Dreirosenbrücke – Pratteln, Schlossstrasse 81.9%
199 trips · avg +1.9 min
-
Tram 8 Bern, Saali – Bern Brünnen Westside, BahnhofBern, Saali – Bern Brünnen Westside, Bahnhof 84.8%
230 trips · avg +1.7 min
-
227 trips · avg +1.8 min
-
Tram 9 Wabern, Tram-Endstation – Bern Wankdorf, BahnhofWabern, Tram-Endstation – Bern Wankdorf, Bahnhof 86.2%
254 trips · avg +1.7 min
-
217 trips · avg +1 min
-
219 trips · avg +1.3 min
Show 17 more
-
159 trips · avg +1.5 min
-
203 trips · avg +1.1 min
-
195 trips · avg +1.3 min
-
193 trips · avg +1.3 min
-
202 trips · avg +1.2 min
-
222 trips · avg +1 min
-
214 trips · avg +1.2 min
-
194 trips · avg +1.4 min
-
219 trips · avg +1.1 min
-
Tram 12 Stettbach, Bahnhof – Zürich Flughafen, FrachtStettbach, Bahnhof – Zürich Flughafen, Fracht 94.2%
154 trips · avg +1.1 min
-
Tram 51 Zürich Altstetten, Bahnhof N – Zürich, SeebachZürich Altstetten, Bahnhof N – Zürich, Seebach 94.7%
225 trips · avg +1 min
-
223 trips · avg +1.1 min
-
149 trips · avg +0.6 min
-
254 trips · avg +0.8 min
-
Tram 10 Zürich Flughafen, Fracht – Zürich, Bahnhofplatz/HBZürich Flughafen, Fracht – Zürich, Bahnhofplatz/HB 96.2%
159 trips · avg +0.9 min
-
Tram 11 Zürich, Central – Zürich Tiefenbrunnen, BahnhofZürich, Central – Zürich Tiefenbrunnen, Bahnhof 96.3%
214 trips · avg +0.7 min
-
Tram 2 Binningen, Kronenplatz – Basel, Badischer BahnhofBinningen, Kronenplatz – Basel, Badischer Bahnhof 96.4%
197 trips · avg +1.3 min
Most punctual busy lines
-
122 trips · avg +0.1 min
-
225 trips · avg +0.6 min
-
217 trips · avg +0.6 min
-
Tram 15 Zürich, Bahnhofstrasse/HB – Zürich Tiefenbrunnen, BahnhofZürich, Bahnhofstrasse/HB – Zürich Tiefenbrunnen, Bahnhof 99.1%
212 trips · avg +0.6 min
-
Tram 20 Killwangen, Bahnhof – Zürich Altstetten, BahnhofKillwangen, Bahnhof – Zürich Altstetten, Bahnhof 98%
151 trips · avg +0.7 min
-
80 trips · avg +0.3 min
-
Tram 7 Stettbach, Bahnhof – Zürich, WollishoferplatzStettbach, Bahnhof – Zürich, Wollishoferplatz 96.8%
216 trips · avg +0.8 min
-
Tram 2 Binningen, Kronenplatz – Basel, Badischer BahnhofBinningen, Kronenplatz – Basel, Badischer Bahnhof 96.4%
197 trips · avg +1.3 min
Least punctual busy lines
-
Bus 436 Crans-Montana, gare – Crans-Montana, MarignyCrans-Montana, gare – Crans-Montana, Marigny 31.5%
54 trips · avg +23.2 min
-
Bus 101 Cormondrèche, Grand'Rue – Marin-Epagnier, gareCormondrèche, Grand'Rue – Marin-Epagnier, gare 44.9%
98 trips · avg +3.4 min
-
147 trips · avg +2.7 min
-
61 trips · avg +3.6 min
-
148 trips · avg +3 min
-
74 trips · avg +4.1 min
-
Bus 301 Davos Glaris, Ortolfi – Davos Laret, LandhausDavos Glaris, Ortolfi – Davos Laret, Landhaus 56.1%
132 trips · avg +3.1 min
-
40 trips · avg +3 min
Show 17 more
-
Bus 122 Grindelwald, Gletscherschlucht – Grindelwald, KlusiGrindelwald, Gletscherschlucht – Grindelwald, Klusi 68.2%
44 trips · avg +1.9 min
-
Bus 109 Neuchâtel, Place Pury – Neuchâtel, Trois-ChênesNeuchâtel, Place Pury – Neuchâtel, Trois-Chênes 68.4%
114 trips · avg +2.3 min
-
97 trips · avg +2.7 min
-
40 trips · avg +4.2 min
-
149 trips · avg +2.5 min
-
175 trips · avg +2.1 min
-
79 trips · avg +6.4 min
-
183 trips · avg +2.2 min
-
66 trips · avg +3.2 min
-
40 trips · avg +2.1 min
-
Bus 50 Basel EuroAirport, Verwaltung – Basel, Bahnhof SBBBasel EuroAirport, Verwaltung – Basel, Bahnhof SBB 75.5%
229 trips · avg +2.7 min
-
41 trips · avg +5.1 min
-
66 trips · avg +3.3 min
-
Bus 28 Grand-Saconnex, Tunnel Routier – Petit-Lancy, Les EssertsGrand-Saconnex, Tunnel Routier – Petit-Lancy, Les Esserts 75.9%
79 trips · avg +1.7 min
-
Bus 1 Granges-Paccot, P. de-Fribourg – Marly, GérineGranges-Paccot, P. de-Fribourg – Marly, Gérine 76.2%
147 trips · avg +1.8 min
-
70 trips · avg +1.9 min
-
76 trips · avg +1.4 min
Most punctual busy lines
-
203 trips · avg +0.4 min
-
202 trips · avg +0.3 min
-
Bus 17 Lausanne, Vigie – Villars-Ste-Croix, Croix-PéageLausanne, Vigie – Villars-Ste-Croix, Croix-Péage 99.5%
193 trips · avg +0.2 min
-
Bus 89 Unterengstringen, Sennenbüel N – Zürich, SihlcityUnterengstringen, Sennenbüel N – Zürich, Sihlcity 99.4%
163 trips · avg +0.6 min
-
157 trips · avg +0.3 min
-
153 trips · avg +0.3 min
-
202 trips · avg +0.6 min
-
154 trips · avg +0.6 min
Least punctual operators
-
Mouettes genevoises 41.8%
256 trips · avg +4.8 min
-
Sierre-Montana-Crans 65.4%
266 trips · avg +6.5 min
-
Verkehrsbetrieb der Landschaft Davos 70.9%
375 trips · avg +2.3 min
-
AFA Bus 84.2%
240 trips · avg +1.5 min
-
Transports Publics Neuchâtelois 85.2%
976 trips · avg +1.3 min
-
TPL 85.3%
1,186 trips · avg +1.1 min
-
BVB 87%
3,047 trips · avg +1.5 min
-
Matterhorn Gotthard Bahn 87.7%
349 trips · avg +1.2 min
Show 17 more
-
Bus und Service 87.7%
1,026 trips · avg +1.2 min
-
Transports Publics du Chablais 87.7%
816 trips · avg +1.2 min
-
Verkehrsbetrieb LIECHTENSTEINmobil 87.8%
490 trips · avg +1.8 min
-
VBL 88.7%
2,696 trips · avg +1.4 min
-
TPG 89.1%
5,054 trips · avg +1.2 min
-
Montreux-Oberland Bernois 90.8%
130 trips · avg +0.9 min
-
Auto Leuk-Leukerbad 91.4%
221 trips · avg +1.2 min
-
TPF 91.9%
2,513 trips · avg +0.7 min
-
Bernmobil 93.1%
3,123 trips · avg +1.1 min
-
Regionalbus Lenzburg 93.2%
293 trips · avg +1.3 min
-
Regionale Verkehrsbetriebe Baden-Wettingen 93.6%
984 trips · avg +0.9 min
-
Busbetrieb Rapperswil-Eschenbach-Rüti ZH 93.6%
141 trips · avg +1.6 min
-
Stadtbus Frauenfeld 93.8%
194 trips · avg +1.2 min
-
Automobil Rottal 94%
268 trips · avg +0.6 min
-
Busbetrieb Olten-Gösgen-Gäu 94.2%
587 trips · avg +0.7 min
-
Automobiles MBC 94.6%
592 trips · avg +0.7 min
-
VBZ 95%
10,607 trips · avg +0.9 min
Most punctual operators
-
Regionalverkehr Bern-Solothurn 99.8%
424 trips · avg +0.1 min
-
Auto AG Uri 100%
276 trips · avg +0.2 min
-
Automobildienst SZU 99.2%
1,328 trips · avg +0.2 min
-
Schweizerische Südostbahn 99.6%
484 trips · avg +0.3 min
-
BLS 99.1%
1,418 trips · avg +0.3 min
-
Auto AG Schwyz 99.4%
515 trips · avg +0.2 min
-
BLT 98.8%
1,634 trips · avg +0.3 min
-
Verkehrsbetriebe Glattal 98.4%
2,273 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 96.6%
1,678 departures · avg +0.9 min
-
Bern 98.8%
922 departures · avg +0.6 min
-
Zürich Oerlikon 95.9%
882 departures · avg +0.9 min
-
Zürich Stadelhofen 96.4%
744 departures · avg +0.9 min
-
Zürich Hardbrücke 93.3%
718 departures · avg +1.7 min
-
Winterthur 96.2%
704 departures · avg +1 min
-
Olten 95.7%
603 departures · avg +1 min
-
Lausanne 96.9%
543 departures · avg +0.9 min
-
Renens VD 98.2%
514 departures · avg +0.7 min
-
Aarau 97.3%
482 departures · avg +0.8 min
-
St. Gallen 94.8%
465 departures · avg +1.2 min
-
Luzern 98.9%
447 departures · avg +0.6 min
-
Bern, Bahnhof 96.8%
2,094 departures · avg +0.9 min
-
1,783 departures · avg +1.3 min
-
Lausanne, Bel-Air 91.3%
1,760 departures · avg +1.3 min
-
Genève, gare Cornavin 91.4%
1,754 departures · avg +1.1 min
-
Genève, Bel-Air 91.8%
1,704 departures · avg +1.1 min
-
Zürich HB 96.6%
1,678 departures · avg +0.9 min
-
Bern, Hirschengraben 94.1%
1,648 departures · avg +1.2 min
-
Luzern, Bahnhof 96.1%
1,603 departures · avg +1 min
-
Zürich, Central 97.2%
1,540 departures · avg +0.8 min
-
Bern, Zytglogge 94.5%
1,513 departures · avg +1.3 min
-
Basel, Schifflände 91.3%
1,467 departures · avg +1.5 min
-
1,378 departures · avg +0.8 min
-
Como S. Giovanni 82.2%
101 departures · avg +2.1 min
-
Muhen Nord 82.7%
110 departures · avg +1.3 min
-
Oberentfelden Engelplatz 82.7%
110 departures · avg +1.3 min
-
Chiasso 85.9%
156 departures · avg +1.8 min
-
Dietlikon 86.3%
182 departures · avg +2.2 min
-
Kreuzlingen Hafen 87.1%
116 departures · avg +1.2 min
-
Matten b. Interlaken 87.8%
131 departures · avg +1.6 min
-
Andelfingen 87.8%
115 departures · avg +1.5 min
-
Zürich Leimbach 88.1%
126 departures · avg +1.9 min
-
Sood-Oberleimbach 88.9%
126 departures · avg +1.8 min
-
Zürich Manegg 88.9%
126 departures · avg +1.8 min
-
Baar 89%
163 departures · avg +1.5 min
Largest delays
- TGV Zürich HB – Mulhouse Paris Gare de Lyon +140 min
- NJ Feldkirch – Zürich HB Zürich HB +119 min
- Bus 48 Confignon, croisée – Plan-les-Ouates, ZIPLO Confignon, croiséeand 1 more trips of this line +119 min
- Bus 422 Villiers, centre – Neuchâtel, Place Pury Villiers, centre +90 min
- Bus 604 Pontresina, Post – Chiavenna, Stazione Chiavenna, Stazioneand 1 more trips of this line +84 min
- Bus 11 Sargans, Bahnhof – Feldkirch, Bahnhof Feldkirch, Bahnhof +80 min
- Bus 38 Thônex, Sous-Moulin – Hermance, village Hermance, village +78 min
- ICE Basel Bad Bf +78 min
- Bus 405 Ilanz, Bahnhof/Post – Riein, vitg Riein, vitg +71 min
- Bus 8 Le Mont-sur-L., Grand-Mont – Pully, gare Grand-Mont +69 min
- Bus 436 Crans-Montana, gare – Crans-Montana, Marigny Crans-Montana, gareand 1 more trips of this line +67 min
- Bus 10 Luzern, Obergütsch – Luzern, Bahnhof Luzern, Bahnhof +65 min
- Bus 52 Herzogenbuchsee, Bahnhof – Thunstetten, Schloss Thunstetten, Schloss +63 min
- Bus 54 Herzogenbuchsee, Bahnhof – Wynigen, Bahnhof Wynigen, Bahnhofand 1 more trips of this line +60 min
- Bus 395 Lenzburg, Hypiplatz – Teufenthal AG, Bahnhof Boniswil, Bahnhof +59 min