Punctuality of Swiss public transportSaturday 21 March 2026
90.8% of 121,357 trips were on time. The share was lowest at 16:30: 82.1%. Of the busy lines, M2 Genève-Pâquis (lac) – Genève-Quai Gustave Ador (lac) had the lowest share on time: 6.3%.
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.8%
+3.8 ptsDay before: 87% · 121,357 trips with live data
Average delay
+1 min
Canceled trips
315
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: Friday 20 March
- Lowest points
The disruptions of this day were not recorded, so the chart cannot show its incidents.
By mode
-
Train 95.9%
13,380 trips · avg +0.6 min
-
Tram 85.9%
10,225 trips · avg +1.4 min
-
Bus 90.7%
97,218 trips · avg +1 min
-
Metro 100%
278 trips · avg +0.8 min
-
Boat 34%
256 trips · avg +5.2 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) 6.3%
96 trips · avg +7.1 min
-
96 trips · avg +6.3 min
-
149 trips · avg +3.3 min
-
148 trips · avg +3.4 min
-
Bus 43 Plan-les-Ouates, Bellins – Bernex, Loëx HôpitalPlan-les-Ouates, Bellins – Bernex, Loëx Hôpital 47%
117 trips · avg +3.9 min
-
Bus 107 Neuchâtel, Place Pury – Hauterive NE, posteNeuchâtel, Place Pury – Hauterive NE, poste 51.9%
183 trips · avg +3.1 min
-
Bus 50 Basel EuroAirport, Verwaltung – Basel, Bahnhof SBBBasel EuroAirport, Verwaltung – Basel, Bahnhof SBB 54.1%
209 trips · avg +3.4 min
-
Tram 8 Basel, Neuweilerstrasse – Weil am Rhein, Bahnhof/ZentrumBasel, Neuweilerstrasse – Weil am Rhein, Bahnhof/Zentrum 55.3%
266 trips · avg +3.5 min
Show 17 more
-
Bus 68 Thoiry, Centre commercial – Vernier, BlandonnetThoiry, Centre commercial – Vernier, Blandonnet 57.9%
57 trips · avg +3 min
-
179 trips · avg +5.1 min
-
78 trips · avg +4 min
-
Bus 109 Neuchâtel, Place Pury – Neuchâtel, Trois-ChênesNeuchâtel, Place Pury – Neuchâtel, Trois-Chênes 60.9%
184 trips · avg +2.6 min
-
118 trips · avg +3.2 min
-
Bus 61 Wallisellen, Glatt (Bus) – Zürich, MühlackerWallisellen, Glatt (Bus) – Zürich, Mühlacker 61.5%
143 trips · avg +2.6 min
-
70 trips · avg +2.5 min
-
Bus 59 Chambésy, Plage du Vengeron – Genève-Aéroport, TerminalChambésy, Plage du Vengeron – Genève-Aéroport, Terminal 63.4%
71 trips · avg +2.4 min
-
74 trips · avg +2.7 min
-
74 trips · avg +2.8 min
-
149 trips · avg +2.5 min
-
Bus 55 Chavannes-des-Bois – Genève-Aéroport, TerminalChavannes-des-Bois – Genève-Aéroport, Terminal 63.9%
72 trips · avg +2.7 min
-
Bus 32 Zürich, Strassenverkehrsamt – Zürich, HolzerhurdZürich, Strassenverkehrsamt – Zürich, Holzerhurd 65.5%
281 trips · avg +2.4 min
-
70 trips · avg +2.3 min
-
Bus 165 Rüschlikon, Park im Grüene – Zürich, BürkliplatzRüschlikon, Park im Grüene – Zürich, Bürkliplatz 65.7%
108 trips · avg +2.2 min
-
Bus 62 Zürich, Waidhof – Zürich, SchwamendingerplatzZürich, Waidhof – Zürich, Schwamendingerplatz 67.1%
158 trips · avg +2.2 min
-
73 trips · avg +2.4 min
Most punctual busy lines
-
301 trips · avg +0.5 min
-
210 trips · avg +0.3 min
-
270 trips · avg +0.7 min
-
Bus 30 Basel, Badischer Bahnhof – Basel, Bahnhof SBBBasel, Badischer Bahnhof – Basel, Bahnhof SBB 96.8%
278 trips · avg +0.8 min
-
Bus 3 Winterthur, Oberseen – Winterthur, RosenbergWinterthur, Oberseen – Winterthur, Rosenberg 96.4%
222 trips · avg +0.8 min
-
Bus 1 Winterthur, Oberwinterthur – Winterthur, TössWinterthur, Oberwinterthur – Winterthur, Töss 96.3%
219 trips · avg +0.9 min
-
220 trips · avg +0.8 min
-
204 trips · avg +1 min
Least punctual busy lines
-
62 trips · avg +4 min
-
90 trips · avg +1.3 min
-
40 trips · avg +1.2 min
-
44 trips · avg +1.1 min
-
40 trips · avg +1 min
-
82 trips · avg +0.7 min
-
41 trips · avg +0.5 min
-
78 trips · avg +0.7 min
Show 17 more
-
83 trips · avg +1 min
-
80 trips · avg +0.4 min
-
81 trips · avg +0.7 min
-
41 trips · avg +0.6 min
-
42 trips · avg +0.5 min
-
R15 Boudry Littorail – Neuchâtel Place Pury LittorailBoudry Littorail – Neuchâtel Place Pury Littorail 95.3%
106 trips · avg +1 min
-
44 trips · avg +0.5 min
-
46 trips · avg +0.5 min
-
116 trips · avg +0.8 min
-
140 trips · avg +0.7 min
-
117 trips · avg +0.7 min
-
48 trips · avg +0.6 min
-
49 trips · avg +0.4 min
-
77 trips · avg +0.5 min
-
78 trips · avg +0.7 min
-
53 trips · avg +0.4 min
-
54 trips · avg +0.9 min
Most punctual busy lines
-
301 trips · avg +0.5 min
-
126 trips · avg +0.3 min
-
93 trips · avg +0.3 min
-
79 trips · avg +0.3 min
-
79 trips · avg +0.3 min
-
79 trips · avg +0 min
-
79 trips · avg +0.1 min
-
78 trips · avg +0.1 min
Least punctual busy lines
-
Tram 8 Basel, Neuweilerstrasse – Weil am Rhein, Bahnhof/ZentrumBasel, Neuweilerstrasse – Weil am Rhein, Bahnhof/Zentrum 55.3%
266 trips · avg +3.5 min
-
266 trips · avg +1.6 min
-
Tram 14 Basel, Dreirosenbrücke – Pratteln, SchlossstrasseBasel, Dreirosenbrücke – Pratteln, Schlossstrasse 77.9%
276 trips · avg +2.1 min
-
265 trips · avg +2 min
-
277 trips · avg +1.9 min
-
Tram 2 Binningen, Kronenplatz – Basel, Badischer BahnhofBinningen, Kronenplatz – Basel, Badischer Bahnhof 78.4%
264 trips · avg +2 min
-
Tram 8 Bern, Saali – Bern Brünnen Westside, BahnhofBern, Saali – Bern Brünnen Westside, Bahnhof 81.5%
303 trips · avg +1.8 min
-
270 trips · avg +1.5 min
Show 17 more
-
Tram 7 Stettbach, Bahnhof – Zürich, WollishoferplatzStettbach, Bahnhof – Zürich, Wollishoferplatz 82.8%
262 trips · avg +1.6 min
-
265 trips · avg +1.7 min
-
345 trips · avg +1.3 min
-
275 trips · avg +1.4 min
-
280 trips · avg +1.6 min
-
273 trips · avg +1.5 min
-
274 trips · avg +1.5 min
-
298 trips · avg +1.5 min
-
Tram 51 Zürich Altstetten, Bahnhof N – Zürich, SeebachZürich Altstetten, Bahnhof N – Zürich, Seebach 90%
290 trips · avg +1.2 min
-
Tram 11 Zürich, Central – Zürich Tiefenbrunnen, BahnhofZürich, Central – Zürich Tiefenbrunnen, Bahnhof 90.3%
268 trips · avg +1.2 min
-
352 trips · avg +1.2 min
-
Tram 9 Wabern, Tram-Endstation – Bern Wankdorf, BahnhofWabern, Tram-Endstation – Bern Wankdorf, Bahnhof 91.7%
289 trips · avg +1.3 min
-
Tram 10 Zürich Flughafen, Fracht – Zürich, Bahnhofplatz/HBZürich Flughafen, Fracht – Zürich, Bahnhofplatz/HB 93.3%
252 trips · avg +1.1 min
-
275 trips · avg +0.9 min
-
Tram 20 Killwangen, Bahnhof – Zürich Altstetten, BahnhofKillwangen, Bahnhof – Zürich Altstetten, Bahnhof 96.8%
155 trips · avg +1 min
-
270 trips · avg +0.7 min
-
138 trips · avg +0.1 min
Most punctual busy lines
-
138 trips · avg +0.1 min
-
133 trips · avg +0.4 min
-
270 trips · avg +0.7 min
-
Tram 20 Killwangen, Bahnhof – Zürich Altstetten, BahnhofKillwangen, Bahnhof – Zürich Altstetten, Bahnhof 96.8%
155 trips · avg +1 min
-
275 trips · avg +0.9 min
-
Tram 10 Zürich Flughafen, Fracht – Zürich, Bahnhofplatz/HBZürich Flughafen, Fracht – Zürich, Bahnhofplatz/HB 93.3%
252 trips · avg +1.1 min
-
Tram 9 Wabern, Tram-Endstation – Bern Wankdorf, BahnhofWabern, Tram-Endstation – Bern Wankdorf, Bahnhof 91.7%
289 trips · avg +1.3 min
-
352 trips · avg +1.2 min
Least punctual busy lines
-
149 trips · avg +3.3 min
-
148 trips · avg +3.4 min
-
Bus 43 Plan-les-Ouates, Bellins – Bernex, Loëx HôpitalPlan-les-Ouates, Bellins – Bernex, Loëx Hôpital 47%
117 trips · avg +3.9 min
-
Bus 107 Neuchâtel, Place Pury – Hauterive NE, posteNeuchâtel, Place Pury – Hauterive NE, poste 51.9%
183 trips · avg +3.1 min
-
Bus 50 Basel EuroAirport, Verwaltung – Basel, Bahnhof SBBBasel EuroAirport, Verwaltung – Basel, Bahnhof SBB 54.1%
209 trips · avg +3.4 min
-
Bus 68 Thoiry, Centre commercial – Vernier, BlandonnetThoiry, Centre commercial – Vernier, Blandonnet 57.9%
57 trips · avg +3 min
-
179 trips · avg +5.1 min
-
78 trips · avg +4 min
Show 17 more
-
Bus 109 Neuchâtel, Place Pury – Neuchâtel, Trois-ChênesNeuchâtel, Place Pury – Neuchâtel, Trois-Chênes 60.9%
184 trips · avg +2.6 min
-
118 trips · avg +3.2 min
-
Bus 61 Wallisellen, Glatt (Bus) – Zürich, MühlackerWallisellen, Glatt (Bus) – Zürich, Mühlacker 61.5%
143 trips · avg +2.6 min
-
70 trips · avg +2.5 min
-
Bus 59 Chambésy, Plage du Vengeron – Genève-Aéroport, TerminalChambésy, Plage du Vengeron – Genève-Aéroport, Terminal 63.4%
71 trips · avg +2.4 min
-
74 trips · avg +2.7 min
-
74 trips · avg +2.8 min
-
149 trips · avg +2.5 min
-
Bus 55 Chavannes-des-Bois – Genève-Aéroport, TerminalChavannes-des-Bois – Genève-Aéroport, Terminal 63.9%
72 trips · avg +2.7 min
-
Bus 32 Zürich, Strassenverkehrsamt – Zürich, HolzerhurdZürich, Strassenverkehrsamt – Zürich, Holzerhurd 65.5%
281 trips · avg +2.4 min
-
70 trips · avg +2.3 min
-
Bus 165 Rüschlikon, Park im Grüene – Zürich, BürkliplatzRüschlikon, Park im Grüene – Zürich, Bürkliplatz 65.7%
108 trips · avg +2.2 min
-
Bus 62 Zürich, Waidhof – Zürich, SchwamendingerplatzZürich, Waidhof – Zürich, Schwamendingerplatz 67.1%
158 trips · avg +2.2 min
-
73 trips · avg +2.4 min
-
Bus 16 Lausanne, Grand Vennes – Lausanne, Provence nordLausanne, Grand Vennes – Lausanne, Provence nord 67.5%
151 trips · avg +2.3 min
-
Bus 50 Versoix, Centre sportif – Genève-Aéroport, TerminalVersoix, Centre sportif – Genève-Aéroport, Terminal 67.6%
68 trips · avg +2.6 min
-
69 trips · avg +2.3 min
Most punctual busy lines
-
167 trips · avg +0.4 min
-
167 trips · avg +0.4 min
-
210 trips · avg +0.3 min
-
160 trips · avg +0.5 min
-
180 trips · avg +0.6 min
-
176 trips · avg +0.8 min
-
Bus 3 Schaffhausen, Sommerwies – Schaffhausen, KrummackerSchaffhausen, Sommerwies – Schaffhausen, Krummacker 97.7%
175 trips · avg +0.6 min
-
Bus 332 Bremgarten AG, Obertorplatz – Baden, PostautostationBremgarten AG, Obertorplatz – Baden, Postautostation 97.7%
173 trips · avg +0.5 min
Least punctual operators
-
Mouettes genevoises 34%
256 trips · avg +5.2 min
-
BVB 77.8%
4,268 trips · avg +2 min
-
Transports Publics Neuchâtelois 78.4%
2,154 trips · avg +1.9 min
-
VBL 79.5%
3,367 trips · avg +1.9 min
-
TPG 80.2%
7,154 trips · avg +1.7 min
-
TPL 80.2%
1,218 trips · avg +1.4 min
-
Bus und Service 82.6%
1,373 trips · avg +1.8 min
-
Bus Nyon-Prangins 82.8%
203 trips · avg +1.6 min
Show 17 more
-
Sierre-Montana-Crans 83.7%
276 trips · avg +1.7 min
-
Busbetrieb Rapperswil-Eschenbach-Rüti ZH 85.5%
242 trips · avg +2 min
-
Stadtbus Frauenfeld 86%
458 trips · avg +1.5 min
-
Verkehrsbetrieb LIECHTENSTEINmobil 86%
559 trips · avg +1.6 min
-
Automobiles MBC 86.9%
781 trips · avg +1.2 min
-
Bus Sierrois 87%
193 trips · avg +1.2 min
-
tl 87.2%
5,910 trips · avg +1.3 min
-
VBZ 87.5%
14,108 trips · avg +1.4 min
-
Busbetrieb Solothurn und Umgebung 88.6%
533 trips · avg +1.2 min
-
Auto AG Rothenburg 88.6%
712 trips · avg +1.2 min
-
Regionale Verkehrsbetriebe Baden-Wettingen 88.7%
1,168 trips · avg +1.2 min
-
TPF 89.7%
2,899 trips · avg +1 min
-
Autolinee Bleniesi 89.7%
116 trips · avg +0.9 min
-
Automobil Rottal 89.9%
345 trips · avg +1 min
-
Verkehrsbetrieb der Landschaft Davos 89.9%
397 trips · avg +0.9 min
-
Montreux-Vevey-Riviera 90.5%
116 trips · avg +1 min
-
Bernmobil 91%
4,325 trips · avg +1.3 min
Most punctual operators
-
Zentralbahn 99.7%
317 trips · avg +0.2 min
-
Regionalverkehr Bern-Solothurn 99.4%
493 trips · avg +0.2 min
-
Autolinee Regionali Luganesi 100%
139 trips · avg +0.3 min
-
Forchbahn 100%
133 trips · avg +0.4 min
-
Aare Seeland mobil 99%
300 trips · avg +0.3 min
-
THURBO 98%
1,103 trips · avg +0.4 min
-
Automobildienst SZU 97.8%
1,494 trips · avg +0.5 min
-
Schweizerische Südostbahn 98.3%
484 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 98%
1,634 departures · avg +0.9 min
-
Bern 98.2%
909 departures · avg +0.8 min
-
Zürich Oerlikon 97.7%
860 departures · avg +0.8 min
-
Zürich Stadelhofen 98.7%
718 departures · avg +0.8 min
-
Zürich Hardbrücke 92.6%
690 departures · avg +1.7 min
-
Winterthur 97.3%
641 departures · avg +0.8 min
-
Olten 91.1%
585 departures · avg +1.5 min
-
Aarau 93.4%
501 departures · avg +1.1 min
-
Lausanne 94.7%
470 departures · avg +1.2 min
-
Renens VD 91.1%
462 departures · avg +1.4 min
-
Luzern 97.8%
449 departures · avg +0.8 min
-
Zug 89.9%
424 departures · avg +1.4 min
-
Bern, Bahnhof 96.1%
2,673 departures · avg +1 min
-
Genève, gare Cornavin 86.4%
2,361 departures · avg +1.4 min
-
Genève, Bel-Air 86.3%
2,289 departures · avg +1.4 min
-
Luzern, Kantonalbank 85.4%
2,148 departures · avg +1.6 min
-
Bern, Hirschengraben 93.3%
2,077 departures · avg +1.4 min
-
Basel, Schifflände 85.3%
2,069 departures · avg +1.7 min
-
Zürich, Central 92.6%
2,025 departures · avg +1.1 min
-
Bern, Zytglogge 94.3%
1,962 departures · avg +1.3 min
-
Lausanne, Bel-Air 74.2%
1,917 departures · avg +2.2 min
-
Zürich, Bellevue 92.1%
1,898 departures · avg +1.2 min
-
Luzern, Bahnhof 94%
1,867 departures · avg +1.1 min
-
1,831 departures · avg +1.6 min
-
Muhen Nord 74.8%
151 departures · avg +1.5 min
-
Oberentfelden Engelplatz 74.8%
151 departures · avg +1.5 min
-
Morges 82.3%
243 departures · avg +1.7 min
-
Como S. Giovanni 82.9%
117 departures · avg +1.8 min
-
Nyon 84.1%
189 departures · avg +1.6 min
-
Chiasso 84.3%
185 departures · avg +1.8 min
-
Matten b. Interlaken 84.3%
134 departures · avg +1.7 min
-
Genève 84.6%
382 departures · avg +1.5 min
-
Spiez 84.7%
183 departures · avg +2.1 min
-
Wilderswil 85.1%
134 departures · avg +1.6 min
-
Cham Alpenblick 85.2%
135 departures · avg +1.7 min
-
Martigny 87%
216 departures · avg +1.6 min
Largest delays
- Tram 50 Zürich, Frankental – Zürich, Auzelg Zürich, Frankental +102 min
- Bus 4 Prilly, Coudraie – Lausanne, Faverges Prilly, Coudraieand 2 more trips of this line +87 min
- Bus 8 Le Mont-sur-L., Grand-Mont – Pully, gare Pully, gare +84 min
- ICE Interlaken Ostand 3 more trips of this line +81 min
- EC Bregenz – Zürich HB Zürich HB +74 min
- NJ Feldkirch – Zürich HB Zürich HB +73 min
- Bus 814 Frauenfeld, Bahnhof – Frauenfeld, Bahnhof Frauenfeld, Bahnhof +69 min
- Bus 401 Amsteg, Dorf +65 min
- Bus 69 Metzerlen, Allmendhalle +63 min
- Bus 18 Lausanne, Clochatte – Crissier, Timonet Crissier Timonet +56 min
- Bus 648 Cham, Bahnhof +55 min
- Bus 48 Confignon, croisée – Plan-les-Ouates, ZIPLO Plan-les-Ouates, ZIPLO +51 min
- R12 Ste-Croix – Yverdon-les-Bains Ste-Croix +50 min
- Bus 11 Sargans, Bahnhof – Feldkirch, Bahnhof Sargans, Bahnhof +49 min
- Bus 651 Hünenberg, Rony +49 min