Punctuality of Swiss public transportWednesday 30 September 2026
86.9% of 151,207 trips were on time. The share was lowest at 17:30: 69%. Of the busy lines, M2 Genève-Pâquis (lac) – Genève-Quai Gustave Ador (lac) had the lowest share on time: 25.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.
86.9%
−0.5 ptsDay before: 87.4% · 151,207 trips with live data
Average delay
+1.3 min
Canceled trips
783
0.5% 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 29 September
- Lowest points
The disruptions of this day were not recorded, so the chart cannot show its incidents.
By mode
-
Train 94.4%
14,039 trips · avg +0.8 min
-
Tram 84.8%
11,725 trips · avg +1.5 min
-
Bus 86.4%
124,721 trips · avg +1.4 min
-
Metro 80.7%
336 trips · avg +2.3 min
-
Boat 50%
386 trips · avg +4 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) 25.9%
166 trips · avg +5.5 min
-
Bus 109 Neuchâtel, Place Pury – Neuchâtel, Trois-ChênesNeuchâtel, Place Pury – Neuchâtel, Trois-Chênes 28.7%
209 trips · avg +4.8 min
-
56 trips · avg +4 min
-
99 trips · avg +5.3 min
-
108 trips · avg +4.8 min
-
76 trips · avg +3.5 min
-
Bus 108 Neuchâtel, Temple Valangines – Neuchâtel, Place PuryNeuchâtel, Temple Valangines – Neuchâtel, Place Pury 51.1%
190 trips · avg +3.7 min
-
94 trips · avg +3.7 min
Show 17 more
-
175 trips · avg +3.3 min
-
Bus 184 Zürich Wollishofen, Bahnhof – Adliswil, BahnhofZürich Wollishofen, Bahnhof – Adliswil, Bahnhof 53.8%
93 trips · avg +3.2 min
-
Bus 83 Zürich Altstetten, Bahnhof – Zürich, MilchbuckZürich Altstetten, Bahnhof – Zürich, Milchbuck 54.3%
186 trips · avg +4 min
-
151 trips · avg +3.3 min
-
302 trips · avg +3.5 min
-
156 trips · avg +3.2 min
-
Bus 91 Genève, Beau-Séjour – Genève, Pointe de la JonctionGenève, Beau-Séjour – Genève, Pointe de la Jonction 56.7%
150 trips · avg +3.1 min
-
Bus 32 Zürich, Strassenverkehrsamt – Zürich, HolzerhurdZürich, Strassenverkehrsamt – Zürich, Holzerhurd 57.2%
320 trips · avg +3.2 min
-
Bus 9 Vernier, Lignon Tours – Thônex, Belle-Terre Pl. AraireVernier, Lignon Tours – Thônex, Belle-Terre Pl. Araire 57.2%
215 trips · avg +3.2 min
-
233 trips · avg +3.4 min
-
180 trips · avg +3.8 min
-
Bus 62 Zürich, Waidhof – Zürich, SchwamendingerplatzZürich, Waidhof – Zürich, Schwamendingerplatz 59.2%
179 trips · avg +2.7 min
-
187 trips · avg +3.3 min
-
219 trips · avg +3 min
-
Bus 31 Zürich, Hermetschloo – Zürich, KienastenwiesZürich, Hermetschloo – Zürich, Kienastenwies 59.9%
307 trips · avg +3.2 min
-
Bus 33 Zürich, Triemli – Zürich Tiefenbrunnen, BahnhofZürich, Triemli – Zürich Tiefenbrunnen, Bahnhof 60%
280 trips · avg +2.9 min
-
Bus 765 Dietlikon, Schwimmbad – Zürich Flughafen, BahnhofDietlikon, Schwimmbad – Zürich Flughafen, Bahnhof 60.8%
153 trips · avg +2.6 min
Most punctual busy lines
-
228 trips · avg +0.3 min
-
306 trips · avg +0.6 min
-
240 trips · avg +0.7 min
-
Bus 101 Bern, Hauptbahnhof – Hinterkappelen, SchlossmattBern, Hauptbahnhof – Hinterkappelen, Schlossmatt 97.1%
277 trips · avg +0.6 min
-
Bus 1 Biel/Bienne, Löhre/Mauchamp – Biel/Bienne, Stadien/StadesBiel/Bienne, Löhre/Mauchamp – Biel/Bienne, Stadien/Stades 96.5%
227 trips · avg +0.7 min
-
Bus 781 Zürich Oerlikon, Bahnhof – Glattbrugg, GiebeleichstrasseZürich Oerlikon, Bahnhof – Glattbrugg, Giebeleichstrasse 95.1%
243 trips · avg +1.1 min
-
Bus 1 Winterthur, Oberwinterthur – Winterthur, TössWinterthur, Oberwinterthur – Winterthur, Töss 94.7%
285 trips · avg +1 min
-
Bus 3 Winterthur, Oberseen – Winterthur, RosenbergWinterthur, Oberseen – Winterthur, Rosenberg 94.4%
284 trips · avg +0.8 min
Least punctual busy lines
-
94 trips · avg +3.7 min
-
67 trips · avg +3 min
-
67 trips · avg +6 min
-
53 trips · avg +1.4 min
-
70 trips · avg +1.7 min
-
72 trips · avg +1.5 min
-
76 trips · avg +1.3 min
-
41 trips · avg +1 min
Show 17 more
-
59 trips · avg +0.8 min
-
40 trips · avg +1 min
-
82 trips · avg +1.2 min
-
84 trips · avg +0.9 min
-
43 trips · avg +1.2 min
-
68 trips · avg +1.2 min
-
46 trips · avg +1.4 min
-
46 trips · avg +0.6 min
-
74 trips · avg +1.6 min
-
62 trips · avg +0.8 min
-
116 trips · avg +0.7 min
-
40 trips · avg +1 min
-
40 trips · avg +0.9 min
-
81 trips · avg +0.6 min
-
41 trips · avg +0.7 min
-
44 trips · avg +0.6 min
-
44 trips · avg +0.8 min
Most punctual busy lines
-
126 trips · avg +0.3 min
-
115 trips · avg +0.4 min
-
91 trips · avg +0.4 min
-
76 trips · avg +0.4 min
-
73 trips · avg +0.3 min
-
71 trips · avg +0.3 min
-
59 trips · avg +0.1 min
-
58 trips · avg +0 min
Least punctual busy lines
-
287 trips · avg +1.8 min
-
288 trips · avg +2.1 min
-
Tram 14 Basel, Dreirosenbrücke – Pratteln, SchlossstrasseBasel, Dreirosenbrücke – Pratteln, Schlossstrasse 75%
284 trips · avg +2.1 min
-
287 trips · avg +1.8 min
-
293 trips · avg +1.7 min
-
273 trips · avg +1.9 min
-
363 trips · avg +1.8 min
-
287 trips · avg +2.2 min
Show 12 more
-
285 trips · avg +1.5 min
-
277 trips · avg +1.6 min
-
288 trips · avg +1.4 min
-
Tram 20 Killwangen, Bahnhof – Zürich Altstetten, BahnhofKillwangen, Bahnhof – Zürich Altstetten, Bahnhof 85.2%
155 trips · avg +1.5 min
-
Tram 51 Zürich Altstetten, Bahnhof N – Zürich, SeebachZürich Altstetten, Bahnhof N – Zürich, Seebach 86.8%
296 trips · avg +1.4 min
-
274 trips · avg +1.5 min
-
293 trips · avg +1.9 min
-
269 trips · avg +1.6 min
-
Tram 9 Wabern, Tram-Endstation – Bern Wankdorf, BahnhofWabern, Tram-Endstation – Bern Wankdorf, Bahnhof 88.8%
348 trips · avg +1.5 min
-
411 trips · avg +1 min
-
175 trips · avg +0.9 min
-
216 trips · avg +0.8 min
Most punctual busy lines
-
216 trips · avg +0.8 min
-
175 trips · avg +0.9 min
-
411 trips · avg +1 min
-
Tram 9 Wabern, Tram-Endstation – Bern Wankdorf, BahnhofWabern, Tram-Endstation – Bern Wankdorf, Bahnhof 88.8%
348 trips · avg +1.5 min
-
269 trips · avg +1.6 min
-
293 trips · avg +1.9 min
-
274 trips · avg +1.5 min
-
Tram 51 Zürich Altstetten, Bahnhof N – Zürich, SeebachZürich Altstetten, Bahnhof N – Zürich, Seebach 86.8%
296 trips · avg +1.4 min
Least punctual busy lines
-
Bus 109 Neuchâtel, Place Pury – Neuchâtel, Trois-ChênesNeuchâtel, Place Pury – Neuchâtel, Trois-Chênes 28.7%
209 trips · avg +4.8 min
-
56 trips · avg +4 min
-
99 trips · avg +5.3 min
-
76 trips · avg +3.5 min
-
Bus 108 Neuchâtel, Temple Valangines – Neuchâtel, Place PuryNeuchâtel, Temple Valangines – Neuchâtel, Place Pury 51.1%
190 trips · avg +3.7 min
-
175 trips · avg +3.3 min
-
Bus 184 Zürich Wollishofen, Bahnhof – Adliswil, BahnhofZürich Wollishofen, Bahnhof – Adliswil, Bahnhof 53.8%
93 trips · avg +3.2 min
-
Bus 83 Zürich Altstetten, Bahnhof – Zürich, MilchbuckZürich Altstetten, Bahnhof – Zürich, Milchbuck 54.3%
186 trips · avg +4 min
Show 17 more
-
151 trips · avg +3.3 min
-
302 trips · avg +3.5 min
-
156 trips · avg +3.2 min
-
Bus 91 Genève, Beau-Séjour – Genève, Pointe de la JonctionGenève, Beau-Séjour – Genève, Pointe de la Jonction 56.7%
150 trips · avg +3.1 min
-
Bus 32 Zürich, Strassenverkehrsamt – Zürich, HolzerhurdZürich, Strassenverkehrsamt – Zürich, Holzerhurd 57.2%
320 trips · avg +3.2 min
-
Bus 9 Vernier, Lignon Tours – Thônex, Belle-Terre Pl. AraireVernier, Lignon Tours – Thônex, Belle-Terre Pl. Araire 57.2%
215 trips · avg +3.2 min
-
233 trips · avg +3.4 min
-
180 trips · avg +3.8 min
-
Bus 62 Zürich, Waidhof – Zürich, SchwamendingerplatzZürich, Waidhof – Zürich, Schwamendingerplatz 59.2%
179 trips · avg +2.7 min
-
187 trips · avg +3.3 min
-
219 trips · avg +3 min
-
Bus 31 Zürich, Hermetschloo – Zürich, KienastenwiesZürich, Hermetschloo – Zürich, Kienastenwies 59.9%
307 trips · avg +3.2 min
-
Bus 33 Zürich, Triemli – Zürich Tiefenbrunnen, BahnhofZürich, Triemli – Zürich Tiefenbrunnen, Bahnhof 60%
280 trips · avg +2.9 min
-
Bus 765 Dietlikon, Schwimmbad – Zürich Flughafen, BahnhofDietlikon, Schwimmbad – Zürich Flughafen, Bahnhof 60.8%
153 trips · avg +2.6 min
-
97 trips · avg +3.2 min
-
Bus 165 Rüschlikon, Park im Grüene – Zürich, BürkliplatzRüschlikon, Park im Grüene – Zürich, Bürkliplatz 60.9%
110 trips · avg +3.4 min
-
49 trips · avg +2.8 min
Most punctual busy lines
-
228 trips · avg +0.3 min
-
Bus 6 St. Gallen, Bach St. Georgen – St. Gallen, HeiligkreuzSt. Gallen, Bach St. Georgen – St. Gallen, Heiligkreuz 99%
208 trips · avg +0.6 min
-
240 trips · avg +0.7 min
-
Bus 101 Bern, Hauptbahnhof – Hinterkappelen, SchlossmattBern, Hauptbahnhof – Hinterkappelen, Schlossmatt 97.1%
277 trips · avg +0.6 min
-
Bus 5 St. Gallen, Riethüsli – St. Gallen, RotmontenSt. Gallen, Riethüsli – St. Gallen, Rotmonten 97.1%
206 trips · avg +0.7 min
-
199 trips · avg +0.6 min
-
Bus 1 Biel/Bienne, Löhre/Mauchamp – Biel/Bienne, Stadien/StadesBiel/Bienne, Löhre/Mauchamp – Biel/Bienne, Stadien/Stades 96.5%
227 trips · avg +0.7 min
-
Bus 781 Zürich Oerlikon, Bahnhof – Glattbrugg, GiebeleichstrasseZürich Oerlikon, Bahnhof – Glattbrugg, Giebeleichstrasse 95.1%
243 trips · avg +1.1 min
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) 25.9%
166 trips · avg +5.5 min
-
108 trips · avg +4.8 min
-
56 trips · avg +1 min
-
M4 Genève-Port Noir (lac) – Genève-De-Châteaubriand (lac)Genève-Port Noir (lac) – Genève-De-Châteaubriand (lac) 94.6%
56 trips · avg +0.7 min
Least punctual operators
-
Mouettes genevoises 50%
386 trips · avg +4 min
-
Compagnie du chemin de fer Nyon - St-Cergue - Morez 60.2%
108 trips · avg +2.9 min
-
TPL 66.4%
1,596 trips · avg +3.1 min
-
Transports Publics Neuchâtelois 68.2%
2,931 trips · avg +2.5 min
-
Autobetrieb Sernftal 69.7%
122 trips · avg +3.3 min
-
TPG 72.8%
9,780 trips · avg +2.3 min
-
VBL 74.5%
3,902 trips · avg +2.1 min
-
Matterhorn Gotthard Bahn 75.3%
304 trips · avg +2.1 min
Show 17 more
-
Verkehrsbetrieb LIECHTENSTEINmobil 77%
897 trips · avg +1.9 min
-
Bus und Service 77.1%
1,543 trips · avg +2 min
-
Bus Nyon-Prangins 79.1%
388 trips · avg +1.9 min
-
BVB 79.8%
4,479 trips · avg +1.9 min
-
VBZ 79.9%
16,632 trips · avg +1.9 min
-
tl 79.9%
7,040 trips · avg +1.8 min
-
Autolinee Regionali Luganesi 80.9%
225 trips · avg +1.6 min
-
Automobil Rottal 81.2%
447 trips · avg +1.7 min
-
Auto AG Rothenburg 82.3%
685 trips · avg +1.4 min
-
Transports publics Vevey-Montreux-Chillon-Villeneuve 83.5%
1,190 trips · avg +1.4 min
-
Service d'automobiles TRN 84.5%
207 trips · avg +1.7 min
-
Stadtbus Frauenfeld 85.5%
574 trips · avg +1.9 min
-
Regiobus Gossau SG 85.7%
531 trips · avg +1.4 min
-
Bus Sierrois 85.8%
338 trips · avg +1.4 min
-
Chemins de fer du Jura 87.1%
101 trips · avg +1 min
-
Regionale Verkehrsbetriebe Baden-Wettingen 87.2%
1,277 trips · avg +1.3 min
-
TPF 87.8%
4,086 trips · avg +1.1 min
Most punctual operators
-
Zentralbahn 99.7%
367 trips · avg +0.3 min
-
THURBO 98.3%
1,076 trips · avg +0.4 min
-
Aare Seeland mobil 98.8%
338 trips · avg +0.4 min
-
Regionalverkehr Bern-Solothurn 98.2%
606 trips · avg +0.3 min
-
Autobusbetrieb RBS 96.8%
1,487 trips · avg +0.8 min
-
Lausanne-Echallens-Bercher 99.2%
124 trips · avg +0.2 min
-
STI Bus 96.2%
2,111 trips · avg +0.7 min
-
Sihltal-Zürich-Uetliberg-Bahn 97.7%
266 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 93.2%
1,564 departures · avg +1.2 min
-
Bern 97.4%
1,072 departures · avg +0.9 min
-
Zürich Oerlikon 93.6%
909 departures · avg +1.3 min
-
Zürich Stadelhofen 91.9%
692 departures · avg +1.4 min
-
Winterthur 95.9%
677 departures · avg +1.2 min
-
Zürich Hardbrücke 84.4%
667 departures · avg +2.2 min
-
Olten 91.7%
600 departures · avg +1.3 min
-
St. Gallen 93.5%
538 departures · avg +1.4 min
-
Lausanne 88.9%
531 departures · avg +1.5 min
-
Aarau 93.5%
523 departures · avg +0.9 min
-
Renens VD 84.6%
487 departures · avg +1.6 min
-
Worblaufen 98.5%
480 departures · avg +0.8 min
-
Genève, gare Cornavin 74.2%
3,187 departures · avg +2.2 min
-
Genève, Bel-Air 75.3%
3,075 departures · avg +2.1 min
-
Bern, Bahnhof 95.6%
2,803 departures · avg +1 min
-
Zürich, Central 89%
2,237 departures · avg +1.5 min
-
Luzern, Kantonalbank 81.5%
2,235 departures · avg +1.8 min
-
Basel, Schifflände 83.2%
2,231 departures · avg +1.8 min
-
Lausanne, Bel-Air 66.7%
2,138 departures · avg +2.7 min
-
Zürich, Bellevue 91.3%
2,076 departures · avg +1.3 min
-
St. Gallen, Bahnhof 88.7%
2,069 departures · avg +1.3 min
-
Basel, Bankverein 86.8%
2,044 departures · avg +1.7 min
-
Luzern, Bahnhof 90%
2,011 departures · avg +1.3 min
-
Bern, Zytglogge 95.9%
1,948 departures · avg +1.1 min
-
Payerne 68.5%
130 departures · avg +2.8 min
-
Zug Chollermüli 71.9%
146 departures · avg +2.4 min
-
Hünenberg Zythus 72.6%
146 departures · avg +2.4 min
-
Cham Alpenblick 72.6%
146 departures · avg +2.4 min
-
Magliaso Paese 73.5%
132 departures · avg +2 min
-
St. Gallen Marktplatz 73.6%
110 departures · avg +2.3 min
-
Lustmühle 74.1%
108 departures · avg +2.5 min
-
Zug Schutzengel 74.3%
140 departures · avg +2.4 min
-
Muhen Nord 74.5%
153 departures · avg +1.5 min
-
Oberentfelden Engelplatz 74.5%
153 departures · avg +1.5 min
-
Como S. Giovanni 75.4%
118 departures · avg +2.2 min
-
Cham 76.7%
150 departures · avg +2.2 min
Largest delays
- Bus 28 Petit-Lancy, Les Essertsand 1 more trips of this line +272 min
- ICE Basel Bad Bfand 3 more trips of this line +182 min
- Bus 801 Frauenfeld, Sonnmattand 1 more trips of this line +117 min
- Bus 41 Peist, Schulhaus +96 min
- Bus 8 Veyrier, douaneand 1 more trips of this line +96 min
- Bus 48 Pully, Daillettes – Pully, gare Pully, gare +89 min
- Bus 493 Luzern, Bahnhof – Altdorf UR, Bahnhof West Luzern, Bahnhofand 1 more trips of this line +76 min
- Bus 821 Müstair, Clostra Son Jon – Tirano, Stazione Müstair, Clostra Son Jon +74 min
- EV Basel, Dreispitz – Aesch BL, Dorf Aesch BL, Dorf +63 min
- EC Bregenz – Zürich HB Zürich HB +63 min
- Bus 9 Place Centrale +62 min
- Bus 631 Brig, Bahnhof – Gondo, Kirche Gondo, Kirche +61 min
- Bus 21 Beggingen, Dorf +57 min