Punctuality of Swiss public transportSaturday 24 January 2026
90.7% of 121,689 trips were on time. The share was lowest at 17:50: 80.8%. Of the busy lines, Bus 6 Lugano, Stazione – Lugano, Cornaredo had the lowest share on time: 39.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.
90.7%
+3.3 ptsDay before: 87.4% · 121,689 trips with live data
Average delay
+1.1 min
Canceled trips
490
0.4% 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: Friday 23 January
- Lowest points
The disruptions of this day were not recorded, so the chart cannot show its incidents.
By mode
-
Train 96.7%
13,597 trips · avg +0.6 min
-
Tram 83.2%
10,315 trips · avg +1.9 min
-
Bus 90.7%
97,339 trips · avg +1.1 min
-
Metro 74.1%
278 trips · avg +3.2 min
-
Boat 64.4%
160 trips · avg +3 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
-
148 trips · avg +3.8 min
-
M2 Genève-Pâquis (lac) – Genève-Quai Gustave Ador (lac)Genève-Pâquis (lac) – Genève-Quai Gustave Ador (lac) 40.6%
96 trips · avg +4.7 min
-
76 trips · avg +2.5 min
-
149 trips · avg +2.8 min
-
70 trips · avg +3 min
-
Bus 107 Neuchâtel, Place Pury – Hauterive NE, posteNeuchâtel, Place Pury – Hauterive NE, poste 58.2%
184 trips · avg +2.6 min
-
65 trips · avg +6.8 min
-
51 trips · avg +3.7 min
Show 17 more
-
56 trips · avg +2.6 min
-
61 trips · avg +2.5 min
-
Bus 109 Neuchâtel, Place Pury – Neuchâtel, Trois-ChênesNeuchâtel, Place Pury – Neuchâtel, Trois-Chênes 59.8%
184 trips · avg +2.8 min
-
Bus 16 Lausanne, Grand Vennes – Lausanne, Provence nordLausanne, Grand Vennes – Lausanne, Provence nord 60.9%
151 trips · avg +3.4 min
-
267 trips · avg +3 min
-
Bus 7 Vessy, Grands-Esserts – Vernier, Lignon ToursVessy, Grands-Esserts – Vernier, Lignon Tours 62.1%
169 trips · avg +2.9 min
-
Bus 6 Lausanne, Maladière – Lausanne, Praz-SéchaudLausanne, Maladière – Lausanne, Praz-Séchaud 63.6%
198 trips · avg +2.9 min
-
336 trips · avg +4.6 min
-
130 trips · avg +2.6 min
-
138 trips · avg +2.5 min
-
Bus 3 Grand-Saconnex, Gardiol – Genève, Crêts-de-ChampelGrand-Saconnex, Gardiol – Genève, Crêts-de-Champel 65.8%
234 trips · avg +3.9 min
-
45 trips · avg +2 min
-
Bus 67 Zürich, Dunkelhölzli – Zürich Wiedikon, BahnhofZürich, Dunkelhölzli – Zürich Wiedikon, Bahnhof 67.1%
158 trips · avg +2.2 min
-
76 trips · avg +2.6 min
-
49 trips · avg +2 min
-
Bus 32 Zürich, Strassenverkehrsamt – Zürich, HolzerhurdZürich, Strassenverkehrsamt – Zürich, Holzerhurd 67.5%
283 trips · avg +2.5 min
-
216 trips · avg +2.4 min
Most punctual busy lines
-
300 trips · avg +0.5 min
-
210 trips · avg +0.4 min
-
Bus 2 Aarau Rohr, Unterdorf – Erlinsbach, OberdorfAarau Rohr, Unterdorf – Erlinsbach, Oberdorf 97.2%
211 trips · avg +0.9 min
-
Bus 3 Winterthur, Oberseen – Winterthur, RosenbergWinterthur, Oberseen – Winterthur, Rosenberg 96.9%
224 trips · avg +0.6 min
-
220 trips · avg +0.8 min
-
268 trips · avg +0.9 min
-
Bus 30 Basel, Badischer Bahnhof – Basel, Bahnhof SBBBasel, Badischer Bahnhof – Basel, Bahnhof SBB 96%
278 trips · avg +0.8 min
-
226 trips · avg +1 min
Least punctual busy lines
-
65 trips · avg +6.8 min
-
48 trips · avg +1.8 min
-
40 trips · avg +0.8 min
-
41 trips · avg +1.1 min
-
R15 Boudry Littorail – Neuchâtel Place Pury LittorailBoudry Littorail – Neuchâtel Place Pury Littorail 92.5%
106 trips · avg +1 min
-
121 trips · avg +0.9 min
-
81 trips · avg +0.7 min
-
68 trips · avg +1.1 min
Show 17 more
-
77 trips · avg +0.9 min
-
69 trips · avg +0.6 min
-
107 trips · avg +0.6 min
-
56 trips · avg +0.7 min
-
134 trips · avg +0.6 min
-
41 trips · avg +0.7 min
-
42 trips · avg +0.4 min
-
88 trips · avg +0.9 min
-
68 trips · avg +0.4 min
-
46 trips · avg +0.7 min
-
71 trips · avg +0.6 min
-
85 trips · avg +0.6 min
-
74 trips · avg +1.1 min
-
74 trips · avg +0.3 min
-
75 trips · avg +0.7 min
-
76 trips · avg +0.4 min
-
77 trips · avg +0.4 min
Most punctual busy lines
-
126 trips · avg +0.1 min
-
114 trips · avg +0.2 min
-
93 trips · avg +0.3 min
-
86 trips · avg +0.3 min
-
82 trips · avg +0.1 min
-
80 trips · avg +0.3 min
-
79 trips · avg +0.4 min
-
79 trips · avg +0.7 min
Least punctual busy lines
-
336 trips · avg +4.6 min
-
346 trips · avg +4.2 min
-
Tram 8 Bern, Saali – Bern Brünnen Westside, BahnhofBern, Saali – Bern Brünnen Westside, Bahnhof 72.3%
303 trips · avg +2.2 min
-
254 trips · avg +1.6 min
-
Tram 14 Basel, Dreirosenbrücke – Pratteln, SchlossstrasseBasel, Dreirosenbrücke – Pratteln, Schlossstrasse 73.9%
276 trips · avg +2.2 min
-
Tram 7 Stettbach, Bahnhof – Zürich, WollishoferplatzStettbach, Bahnhof – Zürich, Wollishoferplatz 79%
276 trips · avg +2.2 min
-
277 trips · avg +1.8 min
-
Tram 9 Wabern, Tram-Endstation – Bern Wankdorf, BahnhofWabern, Tram-Endstation – Bern Wankdorf, Bahnhof 86.2%
289 trips · avg +1.8 min
Show 17 more
-
Tram 10 Zürich Flughafen, Fracht – Zürich, Bahnhofplatz/HBZürich Flughafen, Fracht – Zürich, Bahnhofplatz/HB 86.4%
250 trips · avg +1.4 min
-
280 trips · avg +1.5 min
-
Tram 51 Zürich Altstetten, Bahnhof N – Zürich, SeebachZürich Altstetten, Bahnhof N – Zürich, Seebach 87%
284 trips · avg +1.5 min
-
298 trips · avg +1.6 min
-
238 trips · avg +1.3 min
-
268 trips · avg +1.6 min
-
255 trips · avg +1.5 min
-
262 trips · avg +1.5 min
-
246 trips · avg +1.5 min
-
Tram 2 Binningen, Kronenplatz – Basel, Badischer BahnhofBinningen, Kronenplatz – Basel, Badischer Bahnhof 90.3%
267 trips · avg +1.6 min
-
Tram 20 Killwangen, Bahnhof – Zürich Altstetten, BahnhofKillwangen, Bahnhof – Zürich Altstetten, Bahnhof 90.3%
155 trips · avg +1.3 min
-
Tram 11 Zürich, Central – Zürich Tiefenbrunnen, BahnhofZürich, Central – Zürich Tiefenbrunnen, Bahnhof 90.5%
273 trips · avg +1.3 min
-
269 trips · avg +1.3 min
-
259 trips · avg +0.9 min
-
224 trips · avg +1.1 min
-
250 trips · avg +0.9 min
-
133 trips · avg +0.9 min
Most punctual busy lines
-
137 trips · avg +0.1 min
-
133 trips · avg +0.9 min
-
250 trips · avg +0.9 min
-
224 trips · avg +1.1 min
-
259 trips · avg +0.9 min
-
269 trips · avg +1.3 min
-
Tram 11 Zürich, Central – Zürich Tiefenbrunnen, BahnhofZürich, Central – Zürich Tiefenbrunnen, Bahnhof 90.5%
273 trips · avg +1.3 min
-
Tram 20 Killwangen, Bahnhof – Zürich Altstetten, BahnhofKillwangen, Bahnhof – Zürich Altstetten, Bahnhof 90.3%
155 trips · avg +1.3 min
Least punctual busy lines
-
148 trips · avg +3.8 min
-
76 trips · avg +2.5 min
-
149 trips · avg +2.8 min
-
70 trips · avg +3 min
-
Bus 107 Neuchâtel, Place Pury – Hauterive NE, posteNeuchâtel, Place Pury – Hauterive NE, poste 58.2%
184 trips · avg +2.6 min
-
51 trips · avg +3.7 min
-
56 trips · avg +2.6 min
-
61 trips · avg +2.5 min
Show 17 more
-
Bus 109 Neuchâtel, Place Pury – Neuchâtel, Trois-ChênesNeuchâtel, Place Pury – Neuchâtel, Trois-Chênes 59.8%
184 trips · avg +2.8 min
-
Bus 16 Lausanne, Grand Vennes – Lausanne, Provence nordLausanne, Grand Vennes – Lausanne, Provence nord 60.9%
151 trips · avg +3.4 min
-
267 trips · avg +3 min
-
Bus 7 Vessy, Grands-Esserts – Vernier, Lignon ToursVessy, Grands-Esserts – Vernier, Lignon Tours 62.1%
169 trips · avg +2.9 min
-
Bus 6 Lausanne, Maladière – Lausanne, Praz-SéchaudLausanne, Maladière – Lausanne, Praz-Séchaud 63.6%
198 trips · avg +2.9 min
-
130 trips · avg +2.6 min
-
138 trips · avg +2.5 min
-
Bus 3 Grand-Saconnex, Gardiol – Genève, Crêts-de-ChampelGrand-Saconnex, Gardiol – Genève, Crêts-de-Champel 65.8%
234 trips · avg +3.9 min
-
45 trips · avg +2 min
-
Bus 67 Zürich, Dunkelhölzli – Zürich Wiedikon, BahnhofZürich, Dunkelhölzli – Zürich Wiedikon, Bahnhof 67.1%
158 trips · avg +2.2 min
-
76 trips · avg +2.6 min
-
49 trips · avg +2 min
-
Bus 32 Zürich, Strassenverkehrsamt – Zürich, HolzerhurdZürich, Strassenverkehrsamt – Zürich, Holzerhurd 67.5%
283 trips · avg +2.5 min
-
216 trips · avg +2.4 min
-
71 trips · avg +3.2 min
-
277 trips · avg +2.2 min
-
Bus 9 Vernier, Lignon Tours – Thônex, Belle-Terre Pl. AraireVernier, Lignon Tours – Thônex, Belle-Terre Pl. Araire 68.4%
152 trips · avg +3 min
Most punctual busy lines
-
Bus 1 Schaffhausen, Waldfriedhof – Neuhausen, HerbstäckerSchaffhausen, Waldfriedhof – Neuhausen, Herbstäcker 100%
181 trips · avg +0.5 min
-
180 trips · avg +0.3 min
-
167 trips · avg +0.4 min
-
210 trips · avg +0.4 min
-
180 trips · avg +0.6 min
-
Bus 3 Schaffhausen, Sommerwies – Schaffhausen, KrummackerSchaffhausen, Sommerwies – Schaffhausen, Krummacker 98.9%
175 trips · avg +0.6 min
-
Bus 6 Schaffhausen, Falkeneck – Schaffhausen, BuchthalenSchaffhausen, Falkeneck – Schaffhausen, Buchthalen 98.8%
171 trips · avg +0.6 min
-
167 trips · avg +0.4 min
Least punctual operators
-
AFA Bus 61.5%
244 trips · avg +2.6 min
-
Mouettes genevoises 64.4%
160 trips · avg +3 min
-
TPG 76.7%
7,110 trips · avg +2.5 min
-
VBL 77%
3,378 trips · avg +2 min
-
Verkehrsbetrieb LIECHTENSTEINmobil 78.7%
559 trips · avg +2.2 min
-
Busbetrieb Rapperswil-Eschenbach-Rüti ZH 79.8%
242 trips · avg +1.8 min
-
Transports Publics Neuchâtelois 80.8%
2,152 trips · avg +1.7 min
-
Verkehrsbetrieb der Landschaft Davos 81.9%
397 trips · avg +1.5 min
Show 17 more
-
BVB 82.1%
4,237 trips · avg +1.7 min
-
Bus und Service 82.4%
1,385 trips · avg +1.7 min
-
TPL 83.2%
1,218 trips · avg +1.3 min
-
Auto AG Rothenburg 83.6%
654 trips · avg +1.6 min
-
Automobil Rottal 84.7%
354 trips · avg +1.5 min
-
tl 85.2%
5,908 trips · avg +1.6 min
-
Transports Publics du Chablais 85.7%
1,046 trips · avg +1.4 min
-
Sierre-Montana-Crans 86.6%
276 trips · avg +1.4 min
-
Busbetrieb Solothurn und Umgebung 86.9%
533 trips · avg +1.4 min
-
Regionale Verkehrsbetriebe Baden-Wettingen 87%
1,170 trips · avg +1.3 min
-
Automobiles MBC 87.1%
762 trips · avg +1.3 min
-
Montreux-Oberland Bernois 87.6%
129 trips · avg +1.3 min
-
VBZ 87.7%
14,061 trips · avg +1.4 min
-
Bus Nyon-Prangins 89.2%
204 trips · avg +1.2 min
-
Bernmobil 90.5%
4,337 trips · avg +1.3 min
-
TPF 91.2%
2,951 trips · avg +0.9 min
-
Transports publics Vevey-Montreux-Chillon-Villeneuve 91.2%
1,030 trips · avg +0.9 min
Most punctual operators
-
THURBO 99.2%
1,142 trips · avg +0.3 min
-
Schweizerische Südostbahn 99.4%
479 trips · avg +0.3 min
-
Verkehrsbetriebe Kreuzlingen 99.3%
426 trips · avg +0.7 min
-
Regionalverkehr Bern-Solothurn 99%
493 trips · avg +0.2 min
-
BLS 98.3%
1,432 trips · avg +0.5 min
-
Appenzeller Bahnen 99.3%
286 trips · avg +0.2 min
-
BLT 97.9%
2,034 trips · avg +0.6 min
-
Verkehrsbetriebe Herisau 99%
288 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.8%
1,600 departures · avg +0.8 min
-
Bern 97.6%
963 departures · avg +0.8 min
-
Zürich Oerlikon 98.6%
785 departures · avg +0.8 min
-
Zürich Stadelhofen 98.3%
707 departures · avg +0.8 min
-
Winterthur 97.1%
692 departures · avg +1 min
-
Olten 97.6%
615 departures · avg +0.9 min
-
Zürich Hardbrücke 95.1%
615 departures · avg +1.6 min
-
Aarau 97.9%
529 departures · avg +0.7 min
-
Lausanne 91.4%
526 departures · avg +1.2 min
-
Renens VD 95.4%
517 departures · avg +1 min
-
St. Gallen 94.9%
489 departures · avg +1.3 min
-
Luzern 99.6%
449 departures · avg +0.6 min
-
Bern, Bahnhof 96.3%
2,671 departures · avg +1 min
-
2,324 departures · avg +3 min
-
Genève, Bel-Air 73.4%
2,282 departures · avg +3.2 min
-
Luzern, Kantonalbank 79.6%
2,155 departures · avg +2 min
-
Bern, Hirschengraben 92.9%
2,081 departures · avg +1.4 min
-
Basel, Schifflände 86.2%
2,078 departures · avg +1.7 min
-
Zürich, Central 90.6%
1,984 departures · avg +1.2 min
-
Bern, Zytglogge 93.7%
1,966 departures · avg +1.4 min
-
Lausanne, Bel-Air 72.8%
1,920 departures · avg +2.5 min
-
Luzern, Bahnhof 89.2%
1,886 departures · avg +1.4 min
-
Basel, Bahnhof SBB 92.8%
1,837 departures · avg +1.4 min
-
Zürich, Bellevue 90%
1,830 departures · avg +1.3 min
-
Muhen Nord 75.5%
151 departures · avg +1.5 min
-
Oberentfelden Engelplatz 75.5%
151 departures · avg +1.5 min
-
Zufikon 79.5%
151 departures · avg +2.2 min
-
Zug Chollermüli 82.7%
133 departures · avg +1.9 min
-
Zug Schutzengel 82.7%
133 departures · avg +1.9 min
-
Assens 83.2%
131 departures · avg +1.8 min
-
Dietikon Stoffelbach 83.3%
150 departures · avg +2.4 min
-
Cham Alpenblick 83.6%
140 departures · avg +1.7 min
-
Widen Heinrüti 84.1%
151 departures · avg +1.8 min
-
Chiasso 84.3%
185 departures · avg +1.8 min
-
S. Antonino 84.5%
161 departures · avg +2.1 min
-
Zufikon Belvédère 84.8%
151 departures · avg +1.9 min
Largest delays
- TGV Zürich HB – Mulhouse Zürich HBand 1 more trips of this line +125 min
- Bus 521 Uznach, Bahnhof – Pfäffikon SZ, Bahnhof Pfäffikon SZ, Bahnhof +89 min
- Tram 17 Annemasse, Parc Montessuitand 1 more trips of this line +78 min
- Bus 23 Carouge GE, Tours – Genève-Aéroport, Terminal Genève-Aéroport, Terminal +74 min
- Tram 14 Bernex, Vaillyand 4 more trips of this line +68 min
- Tram 12 Lancy-Bachet, gare – Thônex, Moillesulaz Lancy-Bachet, gareand 8 more trips of this line +67 min
- Bus 847 Diessenhofen, Bahnhof – Marthalen, Bahnhof Diessenhofen, Bahnhofand 1 more trips of this line +64 min
- Bus 18 Lausanne, Clochatte – Crissier, Timonet Crissier Timonet +60 min
- EC Bregenz – Zürich HB Zürich HB +60 min
- Bus 25 Genève, Jardin Botanique +59 min
- Bus 311 La Chaux-de-Fonds, gare +59 min
- Bus 312 La Chaux-de-F, La Joux-Perretand 1 more trips of this line +59 min
- Bus 60 Lausanne, Riponne-M. Béjart – Froideville, Laiterie Lausanne-Gare +57 min
- ICE Basel Bad Bf +57 min
- Bus 310 La Chaux-de-Fonds, Sombailleand 1 more trips of this line +56 min