Punctuality of Swiss public transportWeek 79 Feb – 15 Feb 2026
89.2% of 973,877 trips were on time. The best day was Sunday 15 February with 91.6%, the worst Thursday 12 February with 87.8%. Of the busy lines, Bus 91 Zollikerberg, Station – Zürich, Buchholz had the lowest share on time: 36.5%.
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.
89.2%
±0 ptsWeek before: 89.2% · 973,877 trips with live data
Average delay
+1.2 min
Canceled trips
2,729
0.3% of the trips
Day by day
The share on time of each day. A day opens its page.
- 95%
- Average: 89.2%
- Best day
- Sun 15 Feb · 91.6%
- Worst day
- Thu 12 Feb · 87.8%
- Worst hour
- Tue 17:00–18:00 · 74.3%
By mode
-
Train 94.6%
98,307 trips · avg +0.9 min
-
Tram 85.6%
76,842 trips · avg +1.5 min
-
Bus 89%
794,256 trips · avg +1.2 min
-
Metro 97.4%
1,981 trips · avg +1.1 min
-
Boat 67.2%
2,491 trips · avg +2.7 min
Hour by hour
The share of the trips on their way that are less than 3 minutes late, each hour. A day opens its page.
- ≥ 95%
- 90–95%
- 85–90%
- 75–85%
- < 75%
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
-
288 trips · avg +3.6 min
-
1,043 trips · avg +3.4 min
-
518 trips · avg +4.6 min
-
307 trips · avg +3.9 min
-
M2 Genève-Pâquis (lac) – Genève-Quai Gustave Ador (lac)Genève-Pâquis (lac) – Genève-Quai Gustave Ador (lac) 49.6%
932 trips · avg +4.1 min
-
Bus 109 Neuchâtel, Place Pury – Neuchâtel, Trois-ChênesNeuchâtel, Place Pury – Neuchâtel, Trois-Chênes 51.2%
1,362 trips · avg +3.2 min
-
429 trips · avg +3.1 min
-
1,170 trips · avg +3.3 min
Show 17 more
-
Bus 66 Thoiry, Centre commercial – Genève-Aéroport, TerminalThoiry, Centre commercial – Genève-Aéroport, Terminal 55.3%
333 trips · avg +9.9 min
-
Bus 107 Neuchâtel, Place Pury – Hauterive NE, posteNeuchâtel, Place Pury – Hauterive NE, poste 59.9%
284 trips · avg +2.8 min
-
Bus 9 Vernier, Lignon Tours – Thônex, Belle-Terre Pl. AraireVernier, Lignon Tours – Thônex, Belle-Terre Pl. Araire 61.6%
1,350 trips · avg +3.2 min
-
300 trips · avg +3 min
-
1,172 trips · avg +4.4 min
-
610 trips · avg +2.8 min
-
932 trips · avg +2.8 min
-
462 trips · avg +3 min
-
1,054 trips · avg +3.3 min
-
Tram 14 Basel, Dreirosenbrücke – Pratteln, SchlossstrasseBasel, Dreirosenbrücke – Pratteln, Schlossstrasse 66.2%
1,901 trips · avg +2.6 min
-
Tram 8 Basel, Neuweilerstrasse – Weil am Rhein, Bahnhof/ZentrumBasel, Neuweilerstrasse – Weil am Rhein, Bahnhof/Zentrum 66.3%
463 trips · avg +2.7 min
-
Bus 33 Prilly, Mont-Goulin – St-Sulpice VD, Venoge nordPrilly, Mont-Goulin – St-Sulpice VD, Venoge nord 67.6%
1,077 trips · avg +2.4 min
-
576 trips · avg +2.5 min
-
Bus 4 Chur, Austrasse – Chur, Seniorenzentrum CadonauChur, Austrasse – Chur, Seniorenzentrum Cadonau 68.1%
1,271 trips · avg +2.5 min
-
452 trips · avg +2.4 min
-
Bus 50 Basel EuroAirport, Verwaltung – Basel, Bahnhof SBBBasel EuroAirport, Verwaltung – Basel, Bahnhof SBB 68.7%
441 trips · avg +2.8 min
-
1,922 trips · avg +2.5 min
Most punctual busy lines
-
1,542 trips · avg +0.5 min
-
2,049 trips · avg +0.7 min
-
Bus 1 Winterthur, Oberwinterthur – Winterthur, TössWinterthur, Oberwinterthur – Winterthur, Töss 98.1%
1,855 trips · avg +0.7 min
-
1,847 trips · avg +0.5 min
-
1,975 trips · avg +1.1 min
-
1,965 trips · avg +0.7 min
-
1,835 trips · avg +0.6 min
-
1,516 trips · avg +0.9 min
Least punctual busy lines
-
375 trips · avg +5 min
-
809 trips · avg +1.7 min
-
670 trips · avg +1.4 min
-
584 trips · avg +1.2 min
-
335 trips · avg +1.2 min
-
518 trips · avg +1.6 min
-
540 trips · avg +1.1 min
-
282 trips · avg +1.3 min
Show 17 more
-
290 trips · avg +1 min
-
549 trips · avg +1 min
-
381 trips · avg +0.9 min
-
327 trips · avg +1 min
-
654 trips · avg +2.3 min
-
586 trips · avg +0.9 min
-
302 trips · avg +1 min
-
325 trips · avg +0.9 min
-
705 trips · avg +1.1 min
-
360 trips · avg +1 min
-
287 trips · avg +0.7 min
-
540 trips · avg +0.8 min
-
429 trips · avg +1.1 min
-
303 trips · avg +0.6 min
-
369 trips · avg +0.9 min
-
749 trips · avg +0.6 min
-
530 trips · avg +0.9 min
Most punctual busy lines
-
1,163 trips · avg +0.2 min
-
867 trips · avg +0.2 min
-
473 trips · avg +0.1 min
-
406 trips · avg +0 min
-
726 trips · avg +0.4 min
-
541 trips · avg +0.3 min
-
846 trips · avg +0.4 min
-
532 trips · avg +0.1 min
Least punctual busy lines
-
Tram 14 Basel, Dreirosenbrücke – Pratteln, SchlossstrasseBasel, Dreirosenbrücke – Pratteln, Schlossstrasse 66.2%
1,901 trips · avg +2.6 min
-
Tram 8 Basel, Neuweilerstrasse – Weil am Rhein, Bahnhof/ZentrumBasel, Neuweilerstrasse – Weil am Rhein, Bahnhof/Zentrum 66.3%
463 trips · avg +2.7 min
-
1,922 trips · avg +2.5 min
-
350 trips · avg +2.6 min
-
1,951 trips · avg +1.7 min
-
2,657 trips · avg +2.6 min
-
823 trips · avg +5.8 min
-
1,840 trips · avg +2 min
Show 17 more
-
655 trips · avg +1.7 min
-
Tram 8 Bern, Saali – Bern Brünnen Westside, BahnhofBern, Saali – Bern Brünnen Westside, Bahnhof 82.9%
532 trips · avg +1.8 min
-
1,843 trips · avg +1.7 min
-
2,036 trips · avg +1.5 min
-
Tram 2 Binningen, Kronenplatz – Basel, Badischer BahnhofBinningen, Kronenplatz – Basel, Badischer Bahnhof 87.8%
460 trips · avg +1.6 min
-
Tram 9 Wabern, Tram-Endstation – Bern Wankdorf, BahnhofWabern, Tram-Endstation – Bern Wankdorf, Bahnhof 89.6%
2,299 trips · avg +1.5 min
-
1,979 trips · avg +1.6 min
-
1,985 trips · avg +1.1 min
-
2,379 trips · avg +1.3 min
-
2,016 trips · avg +1.2 min
-
2,034 trips · avg +1.1 min
-
1,967 trips · avg +0.8 min
-
Tram 10 Zürich Flughafen, Fracht – Zürich, Bahnhofplatz/HBZürich Flughafen, Fracht – Zürich, Bahnhofplatz/HB 93.2%
410 trips · avg +1 min
-
Tram 7 Stettbach, Bahnhof – Zürich, WollishoferplatzStettbach, Bahnhof – Zürich, Wollishoferplatz 94.1%
491 trips · avg +1.2 min
-
Tram 51 Zürich Altstetten, Bahnhof N – Zürich, SeebachZürich Altstetten, Bahnhof N – Zürich, Seebach 94.5%
2,047 trips · avg +1 min
-
Tram 11 Zürich, Central – Zürich Tiefenbrunnen, BahnhofZürich, Central – Zürich Tiefenbrunnen, Bahnhof 96.3%
488 trips · avg +0.8 min
-
1,110 trips · avg +0.6 min
Most punctual busy lines
-
1,965 trips · avg +0.7 min
-
Tram 20 Killwangen, Bahnhof – Zürich Altstetten, BahnhofKillwangen, Bahnhof – Zürich Altstetten, Bahnhof 97%
1,067 trips · avg +0.9 min
-
1,516 trips · avg +0.9 min
-
1,110 trips · avg +0.6 min
-
Tram 11 Zürich, Central – Zürich Tiefenbrunnen, BahnhofZürich, Central – Zürich Tiefenbrunnen, Bahnhof 96.3%
488 trips · avg +0.8 min
-
Tram 51 Zürich Altstetten, Bahnhof N – Zürich, SeebachZürich Altstetten, Bahnhof N – Zürich, Seebach 94.5%
2,047 trips · avg +1 min
-
Tram 7 Stettbach, Bahnhof – Zürich, WollishoferplatzStettbach, Bahnhof – Zürich, Wollishoferplatz 94.1%
491 trips · avg +1.2 min
-
Tram 10 Zürich Flughafen, Fracht – Zürich, Bahnhofplatz/HBZürich Flughafen, Fracht – Zürich, Bahnhofplatz/HB 93.2%
410 trips · avg +1 min
Least punctual busy lines
-
288 trips · avg +3.6 min
-
1,043 trips · avg +3.4 min
-
518 trips · avg +4.6 min
-
307 trips · avg +3.9 min
-
Bus 109 Neuchâtel, Place Pury – Neuchâtel, Trois-ChênesNeuchâtel, Place Pury – Neuchâtel, Trois-Chênes 51.2%
1,362 trips · avg +3.2 min
-
429 trips · avg +3.1 min
-
1,170 trips · avg +3.3 min
-
Bus 66 Thoiry, Centre commercial – Genève-Aéroport, TerminalThoiry, Centre commercial – Genève-Aéroport, Terminal 55.3%
333 trips · avg +9.9 min
Show 17 more
-
Bus 107 Neuchâtel, Place Pury – Hauterive NE, posteNeuchâtel, Place Pury – Hauterive NE, poste 59.9%
284 trips · avg +2.8 min
-
Bus 9 Vernier, Lignon Tours – Thônex, Belle-Terre Pl. AraireVernier, Lignon Tours – Thônex, Belle-Terre Pl. Araire 61.6%
1,350 trips · avg +3.2 min
-
300 trips · avg +3 min
-
1,172 trips · avg +4.4 min
-
610 trips · avg +2.8 min
-
462 trips · avg +3 min
-
1,054 trips · avg +3.3 min
-
Bus 33 Prilly, Mont-Goulin – St-Sulpice VD, Venoge nordPrilly, Mont-Goulin – St-Sulpice VD, Venoge nord 67.6%
1,077 trips · avg +2.4 min
-
576 trips · avg +2.5 min
-
Bus 4 Chur, Austrasse – Chur, Seniorenzentrum CadonauChur, Austrasse – Chur, Seniorenzentrum Cadonau 68.1%
1,271 trips · avg +2.5 min
-
452 trips · avg +2.4 min
-
Bus 50 Basel EuroAirport, Verwaltung – Basel, Bahnhof SBBBasel EuroAirport, Verwaltung – Basel, Bahnhof SBB 68.7%
441 trips · avg +2.8 min
-
689 trips · avg +2.7 min
-
1,908 trips · avg +2.4 min
-
Bus 5 Bellinzona, Stazione – Ravecchia, Madonna della NeveBellinzona, Stazione – Ravecchia, Madonna della Neve 70%
644 trips · avg +3.3 min
-
986 trips · avg +2.6 min
-
Bus 301 Davos Glaris, Ortolfi – Davos Laret, LandhausDavos Glaris, Ortolfi – Davos Laret, Landhaus 70.6%
945 trips · avg +2.1 min
Most punctual busy lines
-
1,542 trips · avg +0.5 min
-
1,293 trips · avg +0.6 min
-
Bus 1 Winterthur, Oberwinterthur – Winterthur, TössWinterthur, Oberwinterthur – Winterthur, Töss 98.1%
1,855 trips · avg +0.7 min
-
1,847 trips · avg +0.5 min
-
Bus 1 Schaffhausen, Waldfriedhof – Neuhausen, HerbstäckerSchaffhausen, Waldfriedhof – Neuhausen, Herbstäcker 97.7%
1,319 trips · avg +0.9 min
-
1,290 trips · avg +0.9 min
-
1,835 trips · avg +0.6 min
-
Bus 6 St. Gallen, Bach St. Georgen – St. Gallen, HeiligkreuzSt. Gallen, Bach St. Georgen – St. Gallen, Heiligkreuz 96.8%
1,297 trips · avg +0.5 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) 49.6%
932 trips · avg +4.1 min
-
932 trips · avg +2.8 min
-
M4 Genève-Port Noir (lac) – Genève-De-Châteaubriand (lac)Genève-Port Noir (lac) – Genève-De-Châteaubriand (lac) 97.5%
314 trips · avg +0.5 min
-
313 trips · avg +0.5 min
Least punctual operators
-
Mouettes genevoises 67.2%
2,491 trips · avg +2.7 min
-
Busbetrieb Rapperswil-Eschenbach-Rüti ZH 71.5%
1,902 trips · avg +2.1 min
-
Sierre-Montana-Crans 72.2%
1,949 trips · avg +2.7 min
-
Verkehrsbetrieb LIECHTENSTEINmobil 74.4%
5,240 trips · avg +2.4 min
-
BVB 74.9%
31,463 trips · avg +2.2 min
-
Automobil Rottal 76.3%
2,860 trips · avg +2 min
-
Bus und Service 76.4%
10,120 trips · avg +2.1 min
-
TPG 76.5%
60,876 trips · avg +2.2 min
Show 17 more
-
Transports Publics Neuchâtelois 77.8%
17,334 trips · avg +1.8 min
-
TPL 77.9%
10,466 trips · avg +1.9 min
-
Lugano-Ponte Tresa 79.2%
809 trips · avg +1.7 min
-
VBL 81.2%
26,207 trips · avg +1.7 min
-
Auto AG Rothenburg 83.2%
4,807 trips · avg +1.7 min
-
Bus Nyon-Prangins 83.7%
2,209 trips · avg +1.6 min
-
Verkehrsbetrieb der Landschaft Davos 84.1%
2,757 trips · avg +1.3 min
-
Busbetrieb Solothurn und Umgebung 84.4%
4,706 trips · avg +1.5 min
-
Busbetrieb Aarau 84.7%
6,333 trips · avg +1.5 min
-
Transports Publics du Chablais 86.1%
8,212 trips · avg +1.3 min
-
TPF 86.1%
26,162 trips · avg +1.3 min
-
Montreux-Oberland Bernois 86.2%
952 trips · avg +1.4 min
-
Stadtbus Frauenfeld 86.4%
3,520 trips · avg +1.7 min
-
Transports publics Vevey-Montreux-Chillon-Villeneuve 86.7%
7,578 trips · avg +2 min
-
Bus Sierrois 87.3%
1,713 trips · avg +1.8 min
-
tl 87.4%
45,049 trips · avg +1.3 min
-
Bamert Bus 87.5%
1,088 trips · avg +1.2 min
Most punctual operators
-
Regionalverkehr Bern-Solothurn 99.6%
3,943 trips · avg +0.2 min
-
Aare Seeland mobil 99.2%
2,230 trips · avg +0.3 min
-
Sihltal-Zürich-Uetliberg-Bahn 98.9%
2,027 trips · avg +0.6 min
-
Zentralbahn 98.5%
2,440 trips · avg +0.4 min
-
Stadtbus Winterthur 98%
12,865 trips · avg +0.5 min
-
THURBO 97.8%
7,795 trips · avg +0.4 min
-
Automobildienst SZU 97.7%
11,228 trips · avg +0.5 min
-
Schweizerische Südostbahn 97.5%
3,533 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 93.9%
11,836 departures · avg +1.1 min
-
Bern 97%
7,023 departures · avg +0.9 min
-
Zürich Oerlikon 93.1%
6,035 departures · avg +1.2 min
-
Zürich Stadelhofen 91.4%
4,904 departures · avg +1.4 min
-
Winterthur 96%
4,831 departures · avg +1 min
-
Zürich Hardbrücke 83.8%
4,608 departures · avg +2.1 min
-
Olten 92.1%
4,187 departures · avg +1.4 min
-
Aarau 93.8%
3,608 departures · avg +1 min
-
St. Gallen 94.3%
3,607 departures · avg +1.1 min
-
Lausanne 90.2%
3,446 departures · avg +1.4 min
-
Renens VD 90.1%
3,375 departures · avg +1.4 min
-
Luzern 95.9%
3,257 departures · avg +1 min
-
Genève, gare Cornavin 76.9%
20,005 departures · avg +2.2 min
-
Bern, Bahnhof 95.6%
19,803 departures · avg +1 min
-
Genève, Bel-Air 80.1%
19,337 departures · avg +1.9 min
-
Luzern, Kantonalbank 86.8%
15,915 departures · avg +1.6 min
-
Bern, Hirschengraben 92.3%
15,045 departures · avg +1.4 min
-
Basel, Schifflände 82.3%
14,953 departures · avg +1.9 min
-
Zürich, Central 96%
14,926 departures · avg +0.9 min
-
Bern, Zytglogge 93.7%
14,447 departures · avg +1.3 min
-
Lausanne, Bel-Air 75.5%
14,206 departures · avg +2.2 min
-
Zürich, Bellevue 95.5%
13,963 departures · avg +1 min
-
13,877 departures · avg +1.6 min
-
Luzern, Bahnhof 93%
13,762 departures · avg +1.1 min
-
Magliaso Paese 59.1%
809 departures · avg +3.1 min
-
Agno 61.3%
809 departures · avg +3.1 min
-
Magliaso 63.4%
809 departures · avg +3 min
-
Serocca 65.1%
809 departures · avg +2.8 min
-
Bioggio Molinazzo 67.7%
809 departures · avg +2.6 min
-
Caslano 70.1%
809 departures · avg +2.6 min
-
Bioggio 72.2%
809 departures · avg +2.3 min
-
Oberentfelden Engelplatz 74.8%
1,026 departures · avg +1.6 min
-
Muhen Nord 75%
1,026 departures · avg +1.6 min
-
Zug Chollermüli 75.6%
945 departures · avg +2.4 min
-
Sorengo Laghetto 76.1%
809 departures · avg +2.3 min
-
Zug Schutzengel 76.5%
915 departures · avg +2.3 min
Largest delays
- Bus 5 Thônex, Vallard – Genève-Aéroport, Terminal Thônex, Vallardand 2 more trips of this line +311 min
- Bus 892 Wald ZH, Bahnhof – Wald ZH, Rehazentrum Wald ZH, Rehazentrum +300 min
- Bus 57 Genève-Aéroport, Terminaland 2 more trips of this line +249 min
- Bus 59 Chambésy, Plage du Vengeron – Genève-Aéroport, Terminal Chambésy, Plage du Vengeronand 5 more trips of this line +238 min
- Bus 336 Fribourg/Freiburg, gare rout. – Bulle, gare routière Fribourg/Freiburg, gare rout. +201 min
- Bus 259 Jaun, Bergbahnen – Boltigen, Bahnhof Jaun, Bergbahnenand 2 more trips of this line +173 min
- ICE Basel Bad Bfand 9 more trips of this line +171 min
- NJ Feldkirch – Zürich HB Zürich HBand 4 more trips of this line +151 min
- Bus 21 Schaffhausen, Bahnhof +133 min
- Bus 8 Corminboeuf, anc. poste – Marly, piscine Marly, piscine +132 min
- Bus 2 Lausanne, Désert – Lausanne, Epinettes Désertand 2 more trips of this line +130 min
- Bus 19 Onex, cité – Vernier, village Onex, citéand 1 more trips of this line +126 min
- EC Bregenz – Zürich HB Zürich HBand 1 more trips of this line +120 min
- Bus 603 Zug, Schönegg – Baar, Lättich Zug, Schöneggand 3 more trips of this line +115 min
- Bus 180 Les Diablerets, gare – Saanen, Bahnhof Col-du-Pillon, Glacier 3000and 1 more trips of this line +109 min
›Probably errors in the feed (4)
Delays of more than 6 hours. The real-time feed sent them, but they are probably not real.
- S21 Trogen – Appenzell Speicher +1439 min
- S17 Dietikon – Wohlen AG Bremgarten Westand 18 more trips of this line +1056 min
- Bus 6 Lausanne, Maladière – Lausanne, Praz-Séchaud Maladièreand 8 more trips of this line +381 min
- Bus 80 Genève, Bel-Air – Saint-Julien, gare Saint-Julien, gare +369 min