Punctuality of Swiss public transportWednesday 24 December 2025
94.3% of 144,157 trips were on time. The share was lowest at 11:30: 87.8%. Of the busy lines, M2 Genève-Pâquis (lac) – Genève-Quai Gustave Ador (lac) had the lowest share on time: 20.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.
94.3%
+2.6 ptsDay before: 91.6% · 144,157 trips with live data
Average delay
+0.8 min
Canceled trips
379
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: Tuesday 23 December
- Lowest points
The disruptions of this day were not recorded, so the chart cannot show its incidents.
By mode
-
Train 96.8%
14,264 trips · avg +0.6 min
-
Tram 87.6%
10,677 trips · avg +1.4 min
-
Bus 94.7%
118,734 trips · avg +0.7 min
-
Metro 97.3%
296 trips · avg +0.9 min
-
Boat 25.3%
186 trips · avg +5.6 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) 20.4%
93 trips · avg +5.9 min
-
93 trips · avg +5.3 min
-
122 trips · avg +3.2 min
-
149 trips · avg +3.1 min
-
Bus 101 Cormondrèche, Grand'Rue – Marin-Epagnier, gareCormondrèche, Grand'Rue – Marin-Epagnier, gare 50.5%
194 trips · avg +3 min
-
175 trips · avg +2.5 min
-
266 trips · avg +1.8 min
-
Bus 436 Crans-Montana, gare – Crans-Montana, MarignyCrans-Montana, gare – Crans-Montana, Marigny 66.7%
54 trips · avg +3.2 min
Show 17 more
-
Bus 898 Büren an der Aare, Bahnhof – Münchenbuchsee, BahnhofBüren an der Aare, Bahnhof – Münchenbuchsee, Bahnhof 66.7%
51 trips · avg +2.6 min
-
74 trips · avg +2.7 min
-
Bus 61 Wallisellen, Glatt (Bus) – Zürich, MühlackerWallisellen, Glatt (Bus) – Zürich, Mühlacker 68.1%
135 trips · avg +2.4 min
-
Bus 66 Thoiry, Centre commercial – Genève-Aéroport, TerminalThoiry, Centre commercial – Genève-Aéroport, Terminal 70.6%
85 trips · avg +7.1 min
-
Bus 11 Chur, Bahnhofplatz – Felsberg, Rjterstutz/AeuliChur, Bahnhofplatz – Felsberg, Rjterstutz/Aeuli 70.6%
143 trips · avg +2.4 min
-
Bus 109 Neuchâtel, Place Pury – Neuchâtel, Trois-ChênesNeuchâtel, Place Pury – Neuchâtel, Trois-Chênes 71.8%
206 trips · avg +2.4 min
-
Bus 206 Montreux, rue de la Gare – Montreux, casinoMontreux, rue de la Gare – Montreux, casino 74.5%
47 trips · avg +1.8 min
-
202 trips · avg +2 min
-
253 trips · avg +2.3 min
-
214 trips · avg +1.8 min
-
41 trips · avg +1.7 min
-
Bus 58 Münchenstein, Schlossmatt – Reinach BL, BruggrainMünchenstein, Schlossmatt – Reinach BL, Bruggrain 78.3%
60 trips · avg +1.7 min
-
Bus 4 Chur, Austrasse – Chur, Seniorenzentrum CadonauChur, Austrasse – Chur, Seniorenzentrum Cadonau 78.6%
196 trips · avg +1.7 min
-
61 trips · avg +1.9 min
-
160 trips · avg +1.6 min
-
71 trips · avg +1.8 min
-
Bus 62 Zürich, Waidhof – Zürich, SchwamendingerplatzZürich, Waidhof – Zürich, Schwamendingerplatz 79.3%
169 trips · avg +1.8 min
Most punctual busy lines
-
Bus 781 Zürich Oerlikon, Bahnhof – Glattbrugg, GiebeleichstrasseZürich Oerlikon, Bahnhof – Glattbrugg, Giebeleichstrasse 100%
243 trips · avg +0.3 min
-
214 trips · avg +0.3 min
-
Bus 30 Basel, Badischer Bahnhof – Basel, Bahnhof SBBBasel, Badischer Bahnhof – Basel, Bahnhof SBB 99.6%
250 trips · avg +0.4 min
-
Bus 101 Bern, Hauptbahnhof – Hinterkappelen, SchlossmattBern, Hauptbahnhof – Hinterkappelen, Schlossmatt 99.2%
246 trips · avg +0.3 min
-
Bus 768 Zürich Oerlikon, Bahnhof – Zürich Flughafen, BahnhofZürich Oerlikon, Bahnhof – Zürich Flughafen, Bahnhof 99.2%
244 trips · avg +0.5 min
-
Bus 701 Lausanne, Bourdonnette – Tolochenaz, La PlantazLausanne, Bourdonnette – Tolochenaz, La Plantaz 99.1%
216 trips · avg +0.3 min
-
306 trips · avg +0.6 min
-
211 trips · avg +0.4 min
Least punctual busy lines
-
122 trips · avg +3.2 min
-
41 trips · avg +1.7 min
-
59 trips · avg +3.5 min
-
74 trips · avg +2.2 min
-
72 trips · avg +1.2 min
-
76 trips · avg +0.9 min
-
40 trips · avg +0.7 min
-
41 trips · avg +1.2 min
Show 17 more
-
84 trips · avg +0.8 min
-
71 trips · avg +0.8 min
-
55 trips · avg +0.7 min
-
77 trips · avg +0.5 min
-
77 trips · avg +0.9 min
-
118 trips · avg +0.9 min
-
80 trips · avg +0.5 min
-
40 trips · avg +0.9 min
-
42 trips · avg +0.7 min
-
42 trips · avg +1.1 min
-
68 trips · avg +0.4 min
-
115 trips · avg +0.6 min
-
75 trips · avg +0.5 min
-
77 trips · avg +0.5 min
-
78 trips · avg +0.8 min
-
78 trips · avg +0.5 min
-
53 trips · avg +0.8 min
Most punctual busy lines
-
207 trips · avg +0.2 min
-
126 trips · avg +0.2 min
-
97 trips · avg +0.3 min
-
91 trips · avg +0.4 min
-
86 trips · avg +0.4 min
-
84 trips · avg +0.3 min
-
80 trips · avg +0.4 min
-
80 trips · avg +0.3 min
Least punctual busy lines
-
266 trips · avg +1.8 min
-
253 trips · avg +2.3 min
-
Tram 14 Basel, Dreirosenbrücke – Pratteln, SchlossstrasseBasel, Dreirosenbrücke – Pratteln, Schlossstrasse 79.9%
259 trips · avg +2.2 min
-
Tram 10 Zürich Flughafen, Fracht – Zürich, Bahnhofplatz/HBZürich Flughafen, Fracht – Zürich, Bahnhofplatz/HB 84.1%
264 trips · avg +1.5 min
-
Tram 51 Zürich Altstetten, Bahnhof N – Zürich, SeebachZürich Altstetten, Bahnhof N – Zürich, Seebach 85%
280 trips · avg +1.5 min
-
312 trips · avg +1.6 min
-
258 trips · avg +1.6 min
-
303 trips · avg +1.6 min
Show 12 more
-
253 trips · avg +1.6 min
-
276 trips · avg +1.3 min
-
275 trips · avg +1.3 min
-
Tram 20 Killwangen, Bahnhof – Zürich Altstetten, BahnhofKillwangen, Bahnhof – Zürich Altstetten, Bahnhof 90.9%
154 trips · avg +1.3 min
-
271 trips · avg +1.1 min
-
265 trips · avg +0.7 min
-
271 trips · avg +1.4 min
-
Tram 11 Zürich, Central – Zürich Tiefenbrunnen, BahnhofZürich, Central – Zürich Tiefenbrunnen, Bahnhof 94.9%
272 trips · avg +1 min
-
Tram 9 Wabern, Tram-Endstation – Bern Wankdorf, BahnhofWabern, Tram-Endstation – Bern Wankdorf, Bahnhof 94.9%
350 trips · avg +1.2 min
-
179 trips · avg +0.6 min
-
265 trips · avg +0.8 min
-
216 trips · avg +0.9 min
Most punctual busy lines
-
216 trips · avg +0.9 min
-
265 trips · avg +0.8 min
-
179 trips · avg +0.6 min
-
Tram 9 Wabern, Tram-Endstation – Bern Wankdorf, BahnhofWabern, Tram-Endstation – Bern Wankdorf, Bahnhof 94.9%
350 trips · avg +1.2 min
-
Tram 11 Zürich, Central – Zürich Tiefenbrunnen, BahnhofZürich, Central – Zürich Tiefenbrunnen, Bahnhof 94.9%
272 trips · avg +1 min
-
271 trips · avg +1.4 min
-
265 trips · avg +0.7 min
-
271 trips · avg +1.1 min
Least punctual busy lines
-
149 trips · avg +3.1 min
-
Bus 101 Cormondrèche, Grand'Rue – Marin-Epagnier, gareCormondrèche, Grand'Rue – Marin-Epagnier, gare 50.5%
194 trips · avg +3 min
-
175 trips · avg +2.5 min
-
Bus 436 Crans-Montana, gare – Crans-Montana, MarignyCrans-Montana, gare – Crans-Montana, Marigny 66.7%
54 trips · avg +3.2 min
-
Bus 898 Büren an der Aare, Bahnhof – Münchenbuchsee, BahnhofBüren an der Aare, Bahnhof – Münchenbuchsee, Bahnhof 66.7%
51 trips · avg +2.6 min
-
74 trips · avg +2.7 min
-
Bus 61 Wallisellen, Glatt (Bus) – Zürich, MühlackerWallisellen, Glatt (Bus) – Zürich, Mühlacker 68.1%
135 trips · avg +2.4 min
-
Bus 66 Thoiry, Centre commercial – Genève-Aéroport, TerminalThoiry, Centre commercial – Genève-Aéroport, Terminal 70.6%
85 trips · avg +7.1 min
Show 17 more
-
Bus 11 Chur, Bahnhofplatz – Felsberg, Rjterstutz/AeuliChur, Bahnhofplatz – Felsberg, Rjterstutz/Aeuli 70.6%
143 trips · avg +2.4 min
-
Bus 109 Neuchâtel, Place Pury – Neuchâtel, Trois-ChênesNeuchâtel, Place Pury – Neuchâtel, Trois-Chênes 71.8%
206 trips · avg +2.4 min
-
Bus 206 Montreux, rue de la Gare – Montreux, casinoMontreux, rue de la Gare – Montreux, casino 74.5%
47 trips · avg +1.8 min
-
202 trips · avg +2 min
-
214 trips · avg +1.8 min
-
Bus 58 Münchenstein, Schlossmatt – Reinach BL, BruggrainMünchenstein, Schlossmatt – Reinach BL, Bruggrain 78.3%
60 trips · avg +1.7 min
-
Bus 4 Chur, Austrasse – Chur, Seniorenzentrum CadonauChur, Austrasse – Chur, Seniorenzentrum Cadonau 78.6%
196 trips · avg +1.7 min
-
61 trips · avg +1.9 min
-
160 trips · avg +1.6 min
-
71 trips · avg +1.8 min
-
Bus 62 Zürich, Waidhof – Zürich, SchwamendingerplatzZürich, Waidhof – Zürich, Schwamendingerplatz 79.3%
169 trips · avg +1.8 min
-
136 trips · avg +1.4 min
-
79 trips · avg +1.7 min
-
Bus 50 Basel EuroAirport, Verwaltung – Basel, Bahnhof SBBBasel EuroAirport, Verwaltung – Basel, Bahnhof SBB 81.5%
249 trips · avg +1.8 min
-
Bus 32 Zürich, Strassenverkehrsamt – Zürich, HolzerhurdZürich, Strassenverkehrsamt – Zürich, Holzerhurd 81.6%
272 trips · avg +1.6 min
-
49 trips · avg +1.8 min
-
Bus 184 Lenzerheide/Lai, Post – Vaz/Obervaz, ZortenLenzerheide/Lai, Post – Vaz/Obervaz, Zorten 81.8%
44 trips · avg +1.4 min
Most punctual busy lines
-
Bus 781 Zürich Oerlikon, Bahnhof – Glattbrugg, GiebeleichstrasseZürich Oerlikon, Bahnhof – Glattbrugg, Giebeleichstrasse 100%
243 trips · avg +0.3 min
-
214 trips · avg +0.3 min
-
194 trips · avg +0.2 min
-
Bus 30 Basel, Badischer Bahnhof – Basel, Bahnhof SBBBasel, Badischer Bahnhof – Basel, Bahnhof SBB 99.6%
250 trips · avg +0.4 min
-
206 trips · avg +0.3 min
-
Bus 101 Bern, Hauptbahnhof – Hinterkappelen, SchlossmattBern, Hauptbahnhof – Hinterkappelen, Schlossmatt 99.2%
246 trips · avg +0.3 min
-
Bus 768 Zürich Oerlikon, Bahnhof – Zürich Flughafen, BahnhofZürich Oerlikon, Bahnhof – Zürich Flughafen, Bahnhof 99.2%
244 trips · avg +0.5 min
-
Bus 701 Lausanne, Bourdonnette – Tolochenaz, La PlantazLausanne, Bourdonnette – Tolochenaz, La Plantaz 99.1%
216 trips · avg +0.3 min
Least punctual operators
-
Mouettes genevoises 25.3%
186 trips · avg +5.6 min
-
Lugano-Ponte Tresa 45.9%
122 trips · avg +3.2 min
-
Bus Sierrois 81.9%
293 trips · avg +1.5 min
-
Sierre-Montana-Crans 83.1%
278 trips · avg +1.7 min
-
Busbetrieb Rapperswil-Eschenbach-Rüti ZH 83.8%
303 trips · avg +1.7 min
-
Busbetrieb Lichtensteig-Wattwil-Ebnat-Kappel 84.1%
107 trips · avg +2.9 min
-
Autolinee Bleniesi 85%
153 trips · avg +2 min
-
Automobil Rottal 85.5%
447 trips · avg +1.3 min
Show 17 more
-
Bus und Service 86.1%
1,544 trips · avg +1.5 min
-
Verkehrsbetrieb LIECHTENSTEINmobil 86.2%
516 trips · avg +1.8 min
-
BVB 86.6%
3,874 trips · avg +1.5 min
-
TPL 87.5%
1,613 trips · avg +1 min
-
VBL 87.6%
3,792 trips · avg +1.3 min
-
Transports Publics Neuchâtelois 89.6%
2,787 trips · avg +1 min
-
TPG 90.3%
8,714 trips · avg +1 min
-
RhB 91.2%
522 trips · avg +1.2 min
-
Busbetrieb Solothurn und Umgebung 91.8%
736 trips · avg +1 min
-
VBZ 92.7%
15,546 trips · avg +1 min
-
Transports publics Vevey-Montreux-Chillon-Villeneuve 92.8%
1,194 trips · avg +0.8 min
-
Stadtbus Frauenfeld 92.9%
574 trips · avg +1.1 min
-
TPF 92.9%
3,999 trips · avg +0.8 min
-
Bernmobil 93%
4,891 trips · avg +1 min
-
Auto AG Rothenburg 93.1%
735 trips · avg +0.9 min
-
Verkehrsbetrieb der Landschaft Davos 93.2%
397 trips · avg +0.7 min
-
tl 93.5%
6,487 trips · avg +0.7 min
Most punctual operators
-
Appenzeller Bahnen 100%
346 trips · avg +0.2 min
-
Sihltal-Zürich-Uetliberg-Bahn 100%
313 trips · avg +0.4 min
-
Schweizerische Südostbahn 99.6%
510 trips · avg +0.3 min
-
Regionalverkehr Bern-Solothurn 99.5%
605 trips · avg +0.3 min
-
Zentralbahn 99.7%
343 trips · avg +0.2 min
-
Automobildienst SZU 98.8%
1,697 trips · avg +0.3 min
-
Auto AG Uri 99.4%
345 trips · avg +0.2 min
-
Verkehrsbetriebe Kreuzlingen 99%
509 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 97.4%
1,722 departures · avg +0.9 min
-
Bern 98.4%
1,069 departures · avg +0.8 min
-
Zürich Oerlikon 98.2%
920 departures · avg +0.8 min
-
Zürich Stadelhofen 98.4%
699 departures · avg +1 min
-
Winterthur 98.6%
691 departures · avg +0.8 min
-
Zürich Hardbrücke 95.1%
676 departures · avg +1.7 min
-
Olten 95.2%
600 departures · avg +1.2 min
-
Lausanne 95.1%
530 departures · avg +1.2 min
-
St. Gallen 98.5%
529 departures · avg +0.8 min
-
Aarau 97.9%
519 departures · avg +0.9 min
-
Renens VD 95.1%
492 departures · avg +1.1 min
-
Worblaufen 99%
480 departures · avg +0.9 min
-
Bern, Bahnhof 96.9%
2,857 departures · avg +0.9 min
-
Genève, gare Cornavin 89.5%
2,674 departures · avg +1.1 min
-
Genève, Bel-Air 88.6%
2,633 departures · avg +1.3 min
-
Luzern, Kantonalbank 90.2%
2,367 departures · avg +1.3 min
-
Bern, Hirschengraben 94.2%
2,196 departures · avg +1.2 min
-
Bern, Zytglogge 93.8%
2,112 departures · avg +1.2 min
-
St. Gallen, Bahnhof 95.5%
2,056 departures · avg +1 min
-
Luzern, Bahnhof 95.2%
2,026 departures · avg +1 min
-
Zürich, Central 94.8%
2,009 departures · avg +1.1 min
-
Lausanne, Bel-Air 85.3%
1,983 departures · avg +1.5 min
-
Basel, Schifflände 86.4%
1,954 departures · avg +1.7 min
-
Luzern, Pilatusplatz 89.8%
1,920 departures · avg +1.3 min
-
Magliaso Paese 27%
122 departures · avg +4.8 min
-
Agno 27%
122 departures · avg +4.7 min
-
Magliaso 27.9%
122 departures · avg +4.6 min
-
Serocca 28.7%
122 departures · avg +4.5 min
-
Caslano 36.1%
122 departures · avg +4.1 min
-
Bioggio Molinazzo 37.7%
122 departures · avg +4.1 min
-
Bioggio 47.5%
122 departures · avg +3.4 min
-
Cappella-Agnuzzo 52.5%
122 departures · avg +3.3 min
-
Sorengo Laghetto 59%
122 departures · avg +3 min
-
Sorengo 60.7%
122 departures · avg +2.9 min
-
St. Gallen Marktplatz 73.6%
110 departures · avg +2.2 min
-
Mulhouse 73.6%
129 departures · avg +4.1 min
Largest delays
- Bus 21 Paudex, Verrière +101 min
- Bus 812 Uster, Bahnhof – Uster, Bahnhof Uster, Bahnhof +97 min
- Bus 100 Aarberg, Post/Bahnhof – Bern, Hauptbahnhof Aarberg, Post/Bahnhofand 1 more trips of this line +92 min
- Bus 102 Säriswil, Wendeplatz – Bern, Hauptbahnhof Bern, Hauptbahnhofand 2 more trips of this line +86 min
- Bus 2 Genève, Plage – Bernex, Cressy Genève, Plage +76 min
- Bus 817 Uster, Bahnhof – Uster, See Uster, Bahnhof +75 min
- Bus 105 Bern, Hauptbahnhof – Lyss, Bahnhof Bern, Hauptbahnhofand 1 more trips of this line +66 min
- Bus 26 Planken, Saroja – Schaan, Bahnhof Schaan, Bahnhofand 1 more trips of this line +62 min
- Bus 66 Thoiry, Centre commercial – Genève-Aéroport, Terminal Genève-Aéroport, Terminaland 7 more trips of this line +59 min
- Bus 74 Russin, villageand 1 more trips of this line +59 min
- Tram 15 Genève, Nations +58 min
- Bus 401 Thalkirch, Turrahus +57 min
- Bus 541 Elm, Sportbahnenand 1 more trips of this line +55 min
- Bus 60 Genève, gare Cornavin – Gex, L'Aiglette Genève, gare Cornavin +55 min
- Bus 343 Geltwil, Isenbergschwil +55 min