Punctuality of Swiss public transportSaturday 20 June 2026
87.9% of 123,634 trips were on time. The share was lowest at 22:30: 77.7%. Of the busy lines, M2 Genève-Pâquis (lac) – Genève-Quai Gustave Ador (lac) had the lowest share on time: 16.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.
87.9%
+3 ptsDay before: 84.9% · 123,634 trips with live data
Average delay
+1.2 min
Canceled trips
587
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: Friday 19 June
- Lowest points
The disruptions of this day were not recorded, so the chart cannot show its incidents.
By mode
-
Train 95%
13,414 trips · avg +0.7 min
-
Tram 80.4%
11,445 trips · avg +1.9 min
-
Bus 87.9%
98,137 trips · avg +1.2 min
-
Metro 97.8%
278 trips · avg +1.2 min
-
Boat 40.6%
360 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) 16.4%
134 trips · avg +6.4 min
-
134 trips · avg +6.2 min
-
Bus 3 Grand-Saconnex, Gardiol – Genève, Crêts-de-ChampelGrand-Saconnex, Gardiol – Genève, Crêts-de-Champel 28%
232 trips · avg +5.8 min
-
Bus 9 Vernier, Lignon Tours – Thônex, Belle-Terre Pl. AraireVernier, Lignon Tours – Thônex, Belle-Terre Pl. Araire 34.5%
148 trips · avg +4.6 min
-
74 trips · avg +5.2 min
-
Bus 24 Lausanne, Bourdonnette – Lausanne, Ouchy-OlympiqueLausanne, Bourdonnette – Lausanne, Ouchy-Olympique 37.4%
139 trips · avg +9.2 min
-
Bus 165 Rüschlikon, Park im Grüene – Zürich, BürkliplatzRüschlikon, Park im Grüene – Zürich, Bürkliplatz 38%
108 trips · avg +5.2 min
-
Bus 109 Neuchâtel, Place Pury – Neuchâtel, Trois-ChênesNeuchâtel, Place Pury – Neuchâtel, Trois-Chênes 38.6%
184 trips · avg +4 min
Show 17 more
-
72 trips · avg +3.7 min
-
148 trips · avg +3.5 min
-
97 trips · avg +5.2 min
-
71 trips · avg +3.8 min
-
130 trips · avg +4.2 min
-
70 trips · avg +3.9 min
-
138 trips · avg +3.2 min
-
Tram 8 Basel, Neuweilerstrasse – Weil am Rhein, Bahnhof/ZentrumBasel, Neuweilerstrasse – Weil am Rhein, Bahnhof/Zentrum 49.8%
265 trips · avg +4 min
-
71 trips · avg +3.7 min
-
Bus 10 Schliern, Bus-Endstation – Ostermundigen, RütiSchliern, Bus-Endstation – Ostermundigen, Rüti 51.5%
379 trips · avg +3.5 min
-
69 trips · avg +3.4 min
-
Bus 107 Neuchâtel, Place Pury – Hauterive NE, posteNeuchâtel, Place Pury – Hauterive NE, poste 52.5%
183 trips · avg +3.2 min
-
Bus 161 Zürich, Bürkliplatz – Kilchberg ZH, NeuweidZürich, Bürkliplatz – Kilchberg ZH, Neuweid 52.7%
74 trips · avg +3.6 min
-
Bus 32 Zürich, Strassenverkehrsamt – Zürich, HolzerhurdZürich, Strassenverkehrsamt – Zürich, Holzerhurd 53.4%
277 trips · avg +3.2 min
-
143 trips · avg +3 min
-
Bus 33 Zürich, Triemli – Zürich Tiefenbrunnen, BahnhofZürich, Triemli – Zürich Tiefenbrunnen, Bahnhof 54.2%
271 trips · avg +3.2 min
-
44 trips · avg +3.3 min
Most punctual busy lines
-
302 trips · avg +0.4 min
-
Bus 1 Winterthur, Oberwinterthur – Winterthur, TössWinterthur, Oberwinterthur – Winterthur, Töss 99.1%
219 trips · avg +0.8 min
-
212 trips · avg +0.3 min
-
223 trips · avg +1 min
-
Bus 30 Basel, Badischer Bahnhof – Basel, Bahnhof SBBBasel, Badischer Bahnhof – Basel, Bahnhof SBB 95%
278 trips · avg +1 min
-
213 trips · avg +0.8 min
-
Bus 3 Winterthur, Oberseen – Winterthur, RosenbergWinterthur, Oberseen – Winterthur, Rosenberg 94.5%
220 trips · avg +0.7 min
-
270 trips · avg +0.8 min
Least punctual busy lines
-
116 trips · avg +1.9 min
-
64 trips · avg +9.8 min
-
82 trips · avg +1.7 min
-
R15 Boudry Littorail – Neuchâtel Place Pury LittorailBoudry Littorail – Neuchâtel Place Pury Littorail 80.8%
104 trips · avg +2.1 min
-
42 trips · avg +1.5 min
-
64 trips · avg +1.6 min
-
41 trips · avg +1.2 min
-
48 trips · avg +1.4 min
Show 17 more
-
40 trips · avg +0.8 min
-
112 trips · avg +1.2 min
-
52 trips · avg +1.5 min
-
52 trips · avg +0.5 min
-
42 trips · avg +0.7 min
-
82 trips · avg +1 min
-
40 trips · avg +0.7 min
-
40 trips · avg +2.1 min
-
40 trips · avg +0.6 min
-
121 trips · avg +0.9 min
-
69 trips · avg +0.7 min
-
139 trips · avg +1.1 min
-
78 trips · avg +0.7 min
-
65 trips · avg +0.5 min
-
66 trips · avg +0.4 min
-
53 trips · avg +0.8 min
-
75 trips · avg +0.8 min
Most punctual busy lines
-
154 trips · avg +0.3 min
-
146 trips · avg +0 min
-
120 trips · avg +0.3 min
-
79 trips · avg +0.3 min
-
79 trips · avg +0.3 min
-
79 trips · avg +0.1 min
-
78 trips · avg +0.3 min
-
78 trips · avg +0.2 min
Least punctual busy lines
-
Tram 8 Basel, Neuweilerstrasse – Weil am Rhein, Bahnhof/ZentrumBasel, Neuweilerstrasse – Weil am Rhein, Bahnhof/Zentrum 49.8%
265 trips · avg +4 min
-
Tram 14 Basel, Dreirosenbrücke – Pratteln, SchlossstrasseBasel, Dreirosenbrücke – Pratteln, Schlossstrasse 57.4%
272 trips · avg +3.2 min
-
Tram 2 Binningen, Kronenplatz – Basel, Badischer BahnhofBinningen, Kronenplatz – Basel, Badischer Bahnhof 61.8%
267 trips · avg +2.9 min
-
274 trips · avg +2.8 min
-
274 trips · avg +1.8 min
-
290 trips · avg +2.2 min
-
350 trips · avg +2 min
-
272 trips · avg +2.2 min
Show 17 more
-
268 trips · avg +2.3 min
-
269 trips · avg +2.1 min
-
247 trips · avg +2.6 min
-
310 trips · avg +2.2 min
-
282 trips · avg +1.9 min
-
Tram 7 Stettbach, Bahnhof – Zürich, WollishoferplatzStettbach, Bahnhof – Zürich, Wollishoferplatz 82.7%
254 trips · avg +2 min
-
554 trips · avg +1.6 min
-
280 trips · avg +1.6 min
-
300 trips · avg +1.7 min
-
Tram 10 Zürich Flughafen, Fracht – Zürich, Bahnhofplatz/HBZürich Flughafen, Fracht – Zürich, Bahnhofplatz/HB 86.4%
257 trips · avg +1.5 min
-
Tram 51 Zürich Altstetten, Bahnhof N – Zürich, SeebachZürich Altstetten, Bahnhof N – Zürich, Seebach 87.6%
290 trips · avg +1.4 min
-
131 trips · avg +2 min
-
272 trips · avg +1.1 min
-
270 trips · avg +0.8 min
-
223 trips · avg +1 min
-
138 trips · avg +0.1 min
-
Tram 20 Killwangen, Bahnhof – Zürich Altstetten, BahnhofKillwangen, Bahnhof – Zürich Altstetten, Bahnhof 99.4%
154 trips · avg +0.8 min
Most punctual busy lines
-
Tram 20 Killwangen, Bahnhof – Zürich Altstetten, BahnhofKillwangen, Bahnhof – Zürich Altstetten, Bahnhof 99.4%
154 trips · avg +0.8 min
-
138 trips · avg +0.1 min
-
223 trips · avg +1 min
-
270 trips · avg +0.8 min
-
272 trips · avg +1.1 min
-
131 trips · avg +2 min
-
Tram 51 Zürich Altstetten, Bahnhof N – Zürich, SeebachZürich Altstetten, Bahnhof N – Zürich, Seebach 87.6%
290 trips · avg +1.4 min
-
Tram 10 Zürich Flughafen, Fracht – Zürich, Bahnhofplatz/HBZürich Flughafen, Fracht – Zürich, Bahnhofplatz/HB 86.4%
257 trips · avg +1.5 min
Least punctual busy lines
-
Bus 3 Grand-Saconnex, Gardiol – Genève, Crêts-de-ChampelGrand-Saconnex, Gardiol – Genève, Crêts-de-Champel 28%
232 trips · avg +5.8 min
-
Bus 9 Vernier, Lignon Tours – Thônex, Belle-Terre Pl. AraireVernier, Lignon Tours – Thônex, Belle-Terre Pl. Araire 34.5%
148 trips · avg +4.6 min
-
74 trips · avg +5.2 min
-
Bus 24 Lausanne, Bourdonnette – Lausanne, Ouchy-OlympiqueLausanne, Bourdonnette – Lausanne, Ouchy-Olympique 37.4%
139 trips · avg +9.2 min
-
Bus 165 Rüschlikon, Park im Grüene – Zürich, BürkliplatzRüschlikon, Park im Grüene – Zürich, Bürkliplatz 38%
108 trips · avg +5.2 min
-
Bus 109 Neuchâtel, Place Pury – Neuchâtel, Trois-ChênesNeuchâtel, Place Pury – Neuchâtel, Trois-Chênes 38.6%
184 trips · avg +4 min
-
72 trips · avg +3.7 min
-
148 trips · avg +3.5 min
Show 17 more
-
97 trips · avg +5.2 min
-
71 trips · avg +3.8 min
-
130 trips · avg +4.2 min
-
70 trips · avg +3.9 min
-
138 trips · avg +3.2 min
-
71 trips · avg +3.7 min
-
Bus 10 Schliern, Bus-Endstation – Ostermundigen, RütiSchliern, Bus-Endstation – Ostermundigen, Rüti 51.5%
379 trips · avg +3.5 min
-
69 trips · avg +3.4 min
-
Bus 107 Neuchâtel, Place Pury – Hauterive NE, posteNeuchâtel, Place Pury – Hauterive NE, poste 52.5%
183 trips · avg +3.2 min
-
Bus 161 Zürich, Bürkliplatz – Kilchberg ZH, NeuweidZürich, Bürkliplatz – Kilchberg ZH, Neuweid 52.7%
74 trips · avg +3.6 min
-
Bus 32 Zürich, Strassenverkehrsamt – Zürich, HolzerhurdZürich, Strassenverkehrsamt – Zürich, Holzerhurd 53.4%
277 trips · avg +3.2 min
-
143 trips · avg +3 min
-
Bus 33 Zürich, Triemli – Zürich Tiefenbrunnen, BahnhofZürich, Triemli – Zürich Tiefenbrunnen, Bahnhof 54.2%
271 trips · avg +3.2 min
-
44 trips · avg +3.3 min
-
Bus 108 Neuchâtel, Temple Valangines – Neuchâtel, Place PuryNeuchâtel, Temple Valangines – Neuchâtel, Place Pury 55.1%
178 trips · avg +3.1 min
-
227 trips · avg +3.2 min
-
272 trips · avg +2.9 min
Most punctual busy lines
-
180 trips · avg +0.5 min
-
167 trips · avg +0.5 min
-
167 trips · avg +0.5 min
-
Bus 1 Winterthur, Oberwinterthur – Winterthur, TössWinterthur, Oberwinterthur – Winterthur, Töss 99.1%
219 trips · avg +0.8 min
-
212 trips · avg +0.3 min
-
Bus 1 Schaffhausen, Waldfriedhof – Neuhausen, HerbstäckerSchaffhausen, Waldfriedhof – Neuhausen, Herbstäcker 98.3%
181 trips · avg +0.6 min
-
Bus 332 Bremgarten AG, Obertorplatz – Baden, PostautostationBremgarten AG, Obertorplatz – Baden, Postautostation 97.7%
173 trips · avg +0.4 min
-
Bus 5 Schaffhausen, Bahnhof – Schaffhausen, SchlossweiherSchaffhausen, Bahnhof – Schaffhausen, Schlossweiher 97.7%
171 trips · avg +0.7 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) 16.4%
134 trips · avg +6.4 min
-
134 trips · avg +6.2 min
-
46 trips · avg +0.4 min
-
M4 Genève-Port Noir (lac) – Genève-De-Châteaubriand (lac)Genève-Port Noir (lac) – Genève-De-Châteaubriand (lac) 100%
46 trips · avg +0.5 min
Least punctual operators
-
Mouettes genevoises 40.6%
360 trips · avg +4.8 min
-
TPG 71.5%
7,141 trips · avg +2.3 min
-
VBL 71.7%
3,362 trips · avg +2.2 min
-
Bus Nyon-Prangins 74.1%
212 trips · avg +2.1 min
-
BVB 74.4%
4,262 trips · avg +2.2 min
-
Transports Publics Neuchâtelois 74.5%
2,292 trips · avg +2 min
-
TPL 78.1%
1,218 trips · avg +1.6 min
-
Automobil Rottal 80.2%
339 trips · avg +1.6 min
Show 17 more
-
Bus Sierrois 80.3%
193 trips · avg +2 min
-
Verkehrsbetrieb LIECHTENSTEINmobil 80.8%
527 trips · avg +2.1 min
-
Matterhorn Gotthard Bahn 81%
321 trips · avg +1.4 min
-
Busbetrieb Rapperswil-Eschenbach-Rüti ZH 82%
244 trips · avg +1.7 min
-
VBZ 82.2%
14,330 trips · avg +1.8 min
-
Autobetrieb Sernftal 82.7%
110 trips · avg +1.7 min
-
tl 83%
5,997 trips · avg +1.7 min
-
Sierre-Montana-Crans 83.3%
198 trips · avg +1.4 min
-
Bernmobil 83.9%
5,548 trips · avg +1.7 min
-
Automobiles MBC 85.4%
856 trips · avg +1.3 min
-
Verkehrsbetriebe Herisau 86%
343 trips · avg +1.5 min
-
Service d'automobiles TRN 86%
186 trips · avg +1.8 min
-
Auto AG Rothenburg 86.6%
694 trips · avg +1.3 min
-
Transports Publics du Chablais 87.1%
912 trips · avg +1.2 min
-
Regiobus Gossau SG 87.5%
584 trips · avg +1.4 min
-
SBB Infrastruktur AG Bahnersatz 87.6%
170 trips · avg +1.4 min
-
Busbetrieb Solothurn und Umgebung 87.7%
552 trips · avg +1.3 min
Most punctual operators
-
Sihltal-Zürich-Uetliberg-Bahn 99.6%
237 trips · avg +0.3 min
-
Regionalverkehr Bern-Solothurn 98.4%
492 trips · avg +0.2 min
-
BLS 97.4%
1,433 trips · avg +0.5 min
-
Verkehrsbetriebe Kreuzlingen 99.3%
150 trips · avg +0.5 min
-
Autolinea Mendrisiense 98.7%
233 trips · avg +0.4 min
-
Schweizerische Südostbahn 97.6%
497 trips · avg +0.4 min
-
Busbetrieb Grenchen und Umgebung 97.9%
330 trips · avg +0.8 min
-
THURBO 96.5%
1,141 trips · avg +0.4 min
Stations
The share of the departures less than 3 minutes late. A train station has departures of trains.
-
Zürich HB 95.7%
1,529 departures · avg +1 min
-
Bern 96.8%
964 departures · avg +0.8 min
-
Zürich Oerlikon 97.6%
860 departures · avg +0.9 min
-
Zürich Stadelhofen 97.4%
718 departures · avg +1 min
-
Winterthur 97%
704 departures · avg +1 min
-
Zürich Hardbrücke 91.8%
691 departures · avg +1.8 min
-
Olten 92.5%
585 departures · avg +1.2 min
-
Lausanne 94%
553 departures · avg +1.2 min
-
Aarau 96.8%
529 departures · avg +0.8 min
-
Renens VD 94.4%
521 departures · avg +1 min
-
St. Gallen 89.4%
483 departures · avg +1.6 min
-
Luzern 93.2%
453 departures · avg +1.5 min
-
Genève, gare Cornavin 72.6%
2,307 departures · avg +2.3 min
-
Genève, Bel-Air 69.7%
2,224 departures · avg +2.5 min
-
Bern, Bahnhof 82.2%
2,129 departures · avg +1.9 min
-
Basel, Schifflände 76.7%
2,111 departures · avg +2.2 min
-
Zürich, Central 86.6%
2,010 departures · avg +1.6 min
-
Luzern, Kantonalbank 78.2%
2,010 departures · avg +2 min
-
Lausanne, Bel-Air 71.3%
1,903 departures · avg +2.4 min
-
Bern, Hirschengraben 84.4%
1,902 departures · avg +1.9 min
-
Basel, Bahnhof SBB 82.6%
1,834 departures · avg +1.9 min
-
Bern, Zytglogge 84.4%
1,808 departures · avg +1.8 min
-
Luzern, Bahnhof 87.8%
1,797 departures · avg +1.4 min
-
1,773 departures · avg +1.5 min
-
Gelterkinden 63.6%
140 departures · avg +2.4 min
-
Montreux 63.6%
220 departures · avg +2.9 min
-
Colombier NE Littorail 70.2%
104 departures · avg +2.9 min
-
Rorschach Stadt 72.3%
119 departures · avg +2.5 min
-
104 departures · avg +2.6 min
-
Muhen Nord 74.2%
151 departures · avg +1.5 min
-
Oberentfelden Engelplatz 74.2%
151 departures · avg +1.5 min
-
Neuchâtel Evole 75%
104 departures · avg +2.5 min
-
Niederbipp Industrie 76.6%
141 departures · avg +1.8 min
-
Staad SG 77.1%
118 departures · avg +2.4 min
-
Sissach 77.2%
162 departures · avg +1.9 min
-
Aigle 77.8%
234 departures · avg +2.3 min
Largest delays
- EC Bregenz – Zürich HB Zürich HBand 2 more trips of this line +217 min
- Tram 4 Zürich, Rehalp – Zürich, Bahnhofstrasse/HB Zürich, Bahnhofplatz/HB +80 min
- Bus 25 Says, Obersays – Landquart, Bahnhof Landquart, Bahnhof +79 min
- Bus 182 Chur, Postautostation – Lenzerheide/Lai, Post Lenzerheide/Lai, Postand 1 more trips of this line +76 min
- Bus 24 Lausanne, Bourdonnette – Lausanne, Ouchy-Olympique T. Haldimand-Lacand 1 more trips of this line +73 min
- Bus 162 Meiringen, Bahnhof +71 min
- Bus 847 Diessenhofen, Bahnhof – Marthalen, Bahnhof Marthalen, Bahnhofand 1 more trips of this line +63 min
- Bus 3 Lausanne-Gareand 1 more trips of this line +62 min
- Bus 331 Wolfenschiessen, Bahnhof – Oberrickenbach, Talstat. LFCH Oberrickenbach, Talstat. LFCH +59 min
- Bus 371 Brugg AG, Bahnhof/Zentrum – Thalheim AG, Dorfplatz Brugg AG, Bahnhof/Zentrum +57 min
- ICE Basel SBBand 2 more trips of this line +55 min
- Bus 21 Paudex, Verrière +55 min
- Bus 790 Wattwil, Bahnhof – Wildhaus, Dorf Wildhaus, Dorf +53 min
- Bus 260 Jaun, Bergbahnen – Gruyères, ville Broc-Village, gareand 1 more trips of this line +51 min
- Bus 321 Hohenems, Bahnhofand 1 more trips of this line +50 min