Punctuality of Swiss public transportFebruary 2026
88.7% of 3,878,815 trips were on time. The best day was Sunday 8 February with 93.7%, the worst Thursday 26 February with 85.7%. Of the busy lines, Bus 101 Cormondrèche, Grand'Rue – Marin-Epagnier, gare had the lowest share on time: 22.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.
88.7%
−0.3 ptsMonth before: 89% · 3,878,815 trips with live data
Average delay
+1.2 min
Canceled trips
10,867
0.3% of the trips
Day by day
The share on time of each day. A day opens its page, a week number its week.
- Best day
- Sun 8 Feb · 93.7%
- Worst day
- Thu 26 Feb · 85.7%
By mode
-
Train 94.4%
393,800 trips · avg +0.9 min
-
Tram 85.6%
309,165 trips · avg +1.5 min
-
Bus 88.4%
3,157,701 trips · avg +1.3 min
-
Metro 93.2%
8,354 trips · avg +1.3 min
-
Boat 62.2%
9,795 trips · avg +3.1 min
Month by month
The share on time of each month. A point opens its month.
- 95%
- Average: 89.3%
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
-
Bus 101 Cormondrèche, Grand'Rue – Marin-Epagnier, gareCormondrèche, Grand'Rue – Marin-Epagnier, gare 22.3%
1,357 trips · avg +5.2 min
-
3,969 trips · avg +4 min
-
M2 Genève-Pâquis (lac) – Genève-Quai Gustave Ador (lac)Genève-Pâquis (lac) – Genève-Quai Gustave Ador (lac) 44.6%
3,720 trips · avg +4.4 min
-
2,047 trips · avg +4.4 min
-
1,250 trips · avg +3.3 min
-
Bus 109 Neuchâtel, Place Pury – Neuchâtel, Trois-ChênesNeuchâtel, Place Pury – Neuchâtel, Trois-Chênes 52.3%
5,409 trips · avg +3.1 min
-
1,706 trips · avg +3.3 min
-
3,566 trips · avg +3.4 min
Show 17 more
-
4,683 trips · avg +3 min
-
Bus 66 Thoiry, Centre commercial – Genève-Aéroport, TerminalThoiry, Centre commercial – Genève-Aéroport, Terminal 56.7%
1,331 trips · avg +10.6 min
-
1,200 trips · avg +3.2 min
-
4,510 trips · avg +3.5 min
-
Bus 301 Davos Glaris, Ortolfi – Davos Laret, LandhausDavos Glaris, Ortolfi – Davos Laret, Landhaus 62.1%
3,781 trips · avg +3 min
-
Bus 33 Prilly, Mont-Goulin – St-Sulpice VD, Venoge nordPrilly, Mont-Goulin – St-Sulpice VD, Venoge nord 62.7%
4,303 trips · avg +3.1 min
-
Bus 9 Vernier, Lignon Tours – Thônex, Belle-Terre Pl. AraireVernier, Lignon Tours – Thônex, Belle-Terre Pl. Araire 63%
4,295 trips · avg +3.1 min
-
Bus 107 Neuchâtel, Place Pury – Hauterive NE, posteNeuchâtel, Place Pury – Hauterive NE, poste 65.4%
1,136 trips · avg +2.6 min
-
Tram 8 Basel, Neuweilerstrasse – Weil am Rhein, Bahnhof/ZentrumBasel, Neuweilerstrasse – Weil am Rhein, Bahnhof/Zentrum 65.5%
1,896 trips · avg +2.8 min
-
2,430 trips · avg +2.8 min
-
1,802 trips · avg +2.5 min
-
Tram 14 Basel, Dreirosenbrücke – Pratteln, SchlossstrasseBasel, Dreirosenbrücke – Pratteln, Schlossstrasse 68.3%
6,760 trips · avg +2.5 min
-
2,512 trips · avg +2.7 min
-
1,441 trips · avg +6.5 min
-
Bus 4 Chur, Austrasse – Chur, Seniorenzentrum CadonauChur, Austrasse – Chur, Seniorenzentrum Cadonau 69.1%
5,070 trips · avg +2.3 min
-
3,825 trips · avg +2.5 min
-
Bus 50 Basel EuroAirport, Verwaltung – Basel, Bahnhof SBBBasel EuroAirport, Verwaltung – Basel, Bahnhof SBB 70%
1,763 trips · avg +2.5 min
Most punctual busy lines
-
6,098 trips · avg +0.5 min
-
8,190 trips · avg +0.7 min
-
5,972 trips · avg +0.9 min
-
Bus 101 Bern, Hauptbahnhof – Hinterkappelen, SchlossmattBern, Hauptbahnhof – Hinterkappelen, Schlossmatt 96.4%
5,849 trips · avg +0.6 min
-
7,818 trips · avg +0.8 min
-
7,413 trips · avg +0.8 min
-
Bus 3 Winterthur, Oberseen – Winterthur, RosenbergWinterthur, Oberseen – Winterthur, Rosenberg 95.6%
7,383 trips · avg +0.6 min
-
Bus 1 Winterthur, Oberwinterthur – Winterthur, TössWinterthur, Oberwinterthur – Winterthur, Töss 95.6%
7,395 trips · avg +0.8 min
Least punctual busy lines
-
1,441 trips · avg +6.5 min
-
3,218 trips · avg +2 min
-
2,957 trips · avg +1.6 min
-
1,337 trips · avg +1.2 min
-
2,326 trips · avg +1.4 min
-
1,756 trips · avg +1.2 min
-
2,070 trips · avg +1.5 min
-
3,000 trips · avg +1 min
Show 17 more
-
2,153 trips · avg +1 min
-
2,107 trips · avg +1 min
-
3,039 trips · avg +2.2 min
-
1,299 trips · avg +1.2 min
-
1,466 trips · avg +1.2 min
-
1,567 trips · avg +1 min
-
1,148 trips · avg +0.8 min
-
1,617 trips · avg +0.8 min
-
1,524 trips · avg +0.9 min
-
2,347 trips · avg +0.8 min
-
1,282 trips · avg +0.9 min
-
2,582 trips · avg +1 min
-
1,294 trips · avg +0.7 min
-
3,023 trips · avg +0.9 min
-
1,694 trips · avg +0.7 min
-
1,504 trips · avg +0.9 min
-
1,230 trips · avg +0.6 min
Most punctual busy lines
-
1,894 trips · avg +0.1 min
-
1,624 trips · avg +0 min
-
2,907 trips · avg +0.4 min
-
2,120 trips · avg +0.1 min
-
3,463 trips · avg +0.3 min
-
2,182 trips · avg +0.2 min
-
2,086 trips · avg +0.3 min
-
1,928 trips · avg +0.3 min
Least punctual busy lines
-
Tram 8 Basel, Neuweilerstrasse – Weil am Rhein, Bahnhof/ZentrumBasel, Neuweilerstrasse – Weil am Rhein, Bahnhof/Zentrum 65.5%
1,896 trips · avg +2.8 min
-
Tram 14 Basel, Dreirosenbrücke – Pratteln, SchlossstrasseBasel, Dreirosenbrücke – Pratteln, Schlossstrasse 68.3%
6,760 trips · avg +2.5 min
-
7,812 trips · avg +1.7 min
-
6,826 trips · avg +2.4 min
-
7,387 trips · avg +2 min
-
7,889 trips · avg +1.9 min
-
1,199 trips · avg +1.7 min
-
Tram 8 Bern, Saali – Bern Brünnen Westside, BahnhofBern, Saali – Bern Brünnen Westside, Bahnhof 82.5%
1,826 trips · avg +1.9 min
Show 17 more
-
2,136 trips · avg +1.4 min
-
1,657 trips · avg +1.7 min
-
Tram 2 Binningen, Kronenplatz – Basel, Badischer BahnhofBinningen, Kronenplatz – Basel, Badischer Bahnhof 85.1%
1,845 trips · avg +1.7 min
-
7,494 trips · avg +1.6 min
-
8,193 trips · avg +1.6 min
-
8,102 trips · avg +1.4 min
-
7,863 trips · avg +1.3 min
-
Tram 9 Wabern, Tram-Endstation – Bern Wankdorf, BahnhofWabern, Tram-Endstation – Bern Wankdorf, Bahnhof 87.6%
9,007 trips · avg +1.9 min
-
9,507 trips · avg +1.4 min
-
7,889 trips · avg +1.6 min
-
8,032 trips · avg +1.2 min
-
Tram 51 Zürich Altstetten, Bahnhof N – Zürich, SeebachZürich Altstetten, Bahnhof N – Zürich, Seebach 91%
8,195 trips · avg +1.2 min
-
Tram 7 Stettbach, Bahnhof – Zürich, WollishoferplatzStettbach, Bahnhof – Zürich, Wollishoferplatz 91.7%
1,957 trips · avg +1.3 min
-
2,320 trips · avg +2.1 min
-
Tram 10 Zürich Flughafen, Fracht – Zürich, Bahnhofplatz/HBZürich Flughafen, Fracht – Zürich, Bahnhofplatz/HB 92%
1,637 trips · avg +1.1 min
-
7,827 trips · avg +0.9 min
-
4,403 trips · avg +0.8 min
Most punctual busy lines
-
Tram 20 Killwangen, Bahnhof – Zürich Altstetten, BahnhofKillwangen, Bahnhof – Zürich Altstetten, Bahnhof 96.9%
4,229 trips · avg +0.9 min
-
5,972 trips · avg +0.9 min
-
7,818 trips · avg +0.8 min
-
Tram 11 Zürich, Central – Zürich Tiefenbrunnen, BahnhofZürich, Central – Zürich Tiefenbrunnen, Bahnhof 94.7%
1,941 trips · avg +0.9 min
-
4,403 trips · avg +0.8 min
-
7,827 trips · avg +0.9 min
-
Tram 10 Zürich Flughafen, Fracht – Zürich, Bahnhofplatz/HBZürich Flughafen, Fracht – Zürich, Bahnhofplatz/HB 92%
1,637 trips · avg +1.1 min
-
2,320 trips · avg +2.1 min
Least punctual busy lines
-
Bus 101 Cormondrèche, Grand'Rue – Marin-Epagnier, gareCormondrèche, Grand'Rue – Marin-Epagnier, gare 22.3%
1,357 trips · avg +5.2 min
-
3,969 trips · avg +4 min
-
2,047 trips · avg +4.4 min
-
1,250 trips · avg +3.3 min
-
Bus 109 Neuchâtel, Place Pury – Neuchâtel, Trois-ChênesNeuchâtel, Place Pury – Neuchâtel, Trois-Chênes 52.3%
5,409 trips · avg +3.1 min
-
1,706 trips · avg +3.3 min
-
4,683 trips · avg +3 min
-
Bus 66 Thoiry, Centre commercial – Genève-Aéroport, TerminalThoiry, Centre commercial – Genève-Aéroport, Terminal 56.7%
1,331 trips · avg +10.6 min
Show 17 more
-
1,200 trips · avg +3.2 min
-
4,510 trips · avg +3.5 min
-
Bus 301 Davos Glaris, Ortolfi – Davos Laret, LandhausDavos Glaris, Ortolfi – Davos Laret, Landhaus 62.1%
3,781 trips · avg +3 min
-
Bus 33 Prilly, Mont-Goulin – St-Sulpice VD, Venoge nordPrilly, Mont-Goulin – St-Sulpice VD, Venoge nord 62.7%
4,303 trips · avg +3.1 min
-
Bus 9 Vernier, Lignon Tours – Thônex, Belle-Terre Pl. AraireVernier, Lignon Tours – Thônex, Belle-Terre Pl. Araire 63%
4,295 trips · avg +3.1 min
-
Bus 107 Neuchâtel, Place Pury – Hauterive NE, posteNeuchâtel, Place Pury – Hauterive NE, poste 65.4%
1,136 trips · avg +2.6 min
-
2,430 trips · avg +2.8 min
-
1,802 trips · avg +2.5 min
-
2,512 trips · avg +2.7 min
-
Bus 4 Chur, Austrasse – Chur, Seniorenzentrum CadonauChur, Austrasse – Chur, Seniorenzentrum Cadonau 69.1%
5,070 trips · avg +2.3 min
-
3,825 trips · avg +2.5 min
-
Bus 50 Basel EuroAirport, Verwaltung – Basel, Bahnhof SBBBasel EuroAirport, Verwaltung – Basel, Bahnhof SBB 70%
1,763 trips · avg +2.5 min
-
Bus 16 Lausanne, Grand Vennes – Lausanne, Provence nordLausanne, Grand Vennes – Lausanne, Provence nord 70.4%
4,204 trips · avg +2.3 min
-
1,752 trips · avg +2.2 min
-
4,641 trips · avg +2.2 min
-
2,273 trips · avg +2.4 min
-
1,371 trips · avg +2.3 min
Most punctual busy lines
-
6,098 trips · avg +0.5 min
-
Bus 1 Schaffhausen, Waldfriedhof – Neuhausen, HerbstäckerSchaffhausen, Waldfriedhof – Neuhausen, Herbstäcker 97.5%
5,287 trips · avg +0.9 min
-
5,227 trips · avg +0.5 min
-
5,158 trips · avg +0.6 min
-
5,162 trips · avg +0.9 min
-
Bus 101 Bern, Hauptbahnhof – Hinterkappelen, SchlossmattBern, Hauptbahnhof – Hinterkappelen, Schlossmatt 96.4%
5,849 trips · avg +0.6 min
-
7,413 trips · avg +0.8 min
-
Bus 3 Winterthur, Oberseen – Winterthur, RosenbergWinterthur, Oberseen – Winterthur, Rosenberg 95.6%
7,383 trips · avg +0.6 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) 44.6%
3,720 trips · avg +4.4 min
-
3,566 trips · avg +3.4 min
-
1,253 trips · avg +0.6 min
-
M4 Genève-Port Noir (lac) – Genève-De-Châteaubriand (lac)Genève-Port Noir (lac) – Genève-De-Châteaubriand (lac) 98.8%
1,256 trips · avg +0.5 min
Least punctual operators
-
Mouettes genevoises 62.2%
9,795 trips · avg +3.1 min
-
Busbetrieb Rapperswil-Eschenbach-Rüti ZH 69.9%
7,464 trips · avg +2.3 min
-
Sierre-Montana-Crans 72.7%
7,722 trips · avg +3.1 min
-
Verkehrsbetrieb der Landschaft Davos 74.2%
11,026 trips · avg +2.3 min
-
Lugano-Ponte Tresa 74.5%
3,218 trips · avg +2 min
-
Verkehrsbetrieb LIECHTENSTEINmobil 76.1%
20,507 trips · avg +2.3 min
-
BVB 76.9%
128,345 trips · avg +2.1 min
-
Bus und Service 77.2%
40,439 trips · avg +2 min
Show 17 more
-
Automobil Rottal 77.3%
11,616 trips · avg +2 min
-
TPG 77.4%
238,688 trips · avg +2.1 min
-
VBL 77.9%
103,835 trips · avg +2 min
-
Transports Publics Neuchâtelois 78.3%
69,024 trips · avg +1.9 min
-
TPL 79.8%
41,880 trips · avg +1.7 min
-
Auto AG Rothenburg 81.9%
19,527 trips · avg +1.8 min
-
Bus Nyon-Prangins 84.1%
8,795 trips · avg +1.6 min
-
Verkehrsbetriebe Biel 84.4%
37,717 trips · avg +2.5 min
-
Busbetrieb Solothurn und Umgebung 84.9%
18,675 trips · avg +1.4 min
-
Matterhorn Gotthard Bahn 84.9%
9,419 trips · avg +1.5 min
-
TPF 84.9%
99,553 trips · avg +1.7 min
-
Transports Publics du Chablais 85.6%
31,865 trips · avg +1.4 min
-
Stadtbus Frauenfeld 85.8%
13,814 trips · avg +1.7 min
-
Regionale Verkehrsbetriebe Baden-Wettingen 86.1%
34,662 trips · avg +1.5 min
-
Busbetrieb Aarau 86.1%
25,350 trips · avg +1.5 min
-
Automobildienste Aare Seeland mobil 86.5%
16,302 trips · avg +1.4 min
-
tl 86.5%
179,036 trips · avg +1.3 min
Most punctual operators
-
Aare Seeland mobil 99.1%
8,909 trips · avg +0.3 min
-
Zentralbahn 98.8%
9,709 trips · avg +0.3 min
-
Regionalverkehr Bern-Solothurn 98.7%
15,743 trips · avg +0.3 min
-
THURBO 98.4%
31,158 trips · avg +0.4 min
-
Sihltal-Zürich-Uetliberg-Bahn 98.3%
8,119 trips · avg +0.6 min
-
Schweizerische Südostbahn 98.1%
14,143 trips · avg +0.5 min
-
Appenzeller Bahnen 97.5%
9,176 trips · avg +0.6 min
-
Automobildienst SZU 97.3%
45,752 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 94.9%
47,128 departures · avg +1.1 min
-
Bern 96.9%
28,426 departures · avg +0.9 min
-
Zürich Oerlikon 94.9%
24,209 departures · avg +1.1 min
-
Zürich Stadelhofen 91.4%
19,539 departures · avg +1.3 min
-
Winterthur 96.9%
19,192 departures · avg +0.9 min
-
Zürich Hardbrücke 84.2%
18,459 departures · avg +2 min
-
Olten 93.5%
16,784 departures · avg +1.3 min
-
Aarau 95.2%
14,463 departures · avg +0.9 min
-
St. Gallen 95.3%
14,406 departures · avg +1 min
-
Lausanne 88.9%
13,844 departures · avg +1.6 min
-
Renens VD 89.6%
13,571 departures · avg +1.5 min
-
Luzern 97.5%
13,037 departures · avg +0.8 min
-
Bern, Bahnhof 95.4%
78,748 departures · avg +1.1 min
-
Genève, gare Cornavin 78.9%
77,490 departures · avg +2 min
-
Genève, Bel-Air 81%
75,159 departures · avg +1.9 min
-
Luzern, Kantonalbank 83.5%
64,311 departures · avg +1.8 min
-
Bern, Hirschengraben 92.2%
60,096 departures · avg +1.5 min
-
Zürich, Central 94.2%
59,718 departures · avg +1 min
-
Bern, Zytglogge 93%
57,231 departures · avg +1.4 min
-
Lausanne, Bel-Air 75.2%
55,986 departures · avg +2.2 min
-
Luzern, Bahnhof 90.7%
55,763 departures · avg +1.3 min
-
Zürich, Bellevue 93.8%
55,753 departures · avg +1.1 min
-
Basel, Bahnhof SBB 88.2%
55,647 departures · avg +1.6 min
-
Basel, Schifflände 83.3%
55,118 departures · avg +1.8 min
-
Magliaso Paese 58.2%
3,218 departures · avg +3.4 min
-
Agno 59.4%
3,218 departures · avg +3.3 min
-
Magliaso 61%
3,218 departures · avg +3.2 min
-
Serocca 62.4%
3,218 departures · avg +3 min
-
Bioggio Molinazzo 64.2%
3,218 departures · avg +2.9 min
-
Bioggio 69%
3,218 departures · avg +2.6 min
-
Caslano 69.1%
3,218 departures · avg +2.8 min
-
Sorengo Laghetto 73.2%
3,218 departures · avg +2.5 min
-
4,102 departures · avg +1.6 min
-
Muhen Nord 74.1%
4,102 departures · avg +1.6 min
-
Cappella-Agnuzzo 74.8%
3,218 departures · avg +2.2 min
-
Sorengo 75.5%
3,218 departures · avg +2.3 min
Largest delays
- Bus 50 Luzern, Bahnhof – Menziken, Bahnhof Menziken, Bahnhofand 5 more trips of this line +340 min
- Bus 60 Lausanne, Riponne-M. Béjart – Froideville, Laiterie Froidevilleand 5 more trips of this line +323 min
- 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
- E Genève, Rive – Hermance, village Hermance, villageand 4 more trips of this line +291 min
- Bus 9 Vernier, Lignon Tours – Thônex, Belle-Terre Pl. Araire Thônex, Belle-Terre Pl. Araireand 2 more trips of this line +269 min
- Bus 812 Uster, Bahnhof – Uster, Bahnhof Uster, Bahnhof +259 min
- Bus 2 Fribourg, Schönberg Dunant – Villars-sur-Glâne, Les Dailles Villars-sur-Glâne, Les Daillesand 1 more trips of this line +253 min
- Bus 57 Genève-Aéroport, Terminaland 2 more trips of this line +249 min
- NJ Feldkirch – Zürich HB Zürich HBand 22 more trips of this line +244 min
- Bus 9 Corminboeuf, Jo-Siffertand 3 more trips of this line +242 min
- Bus 5 Villars-sur-Glâne, gare +240 min
- Bus 59 Chambésy, Plage du Vengeron – Genève-Aéroport, Terminal Chambésy, Plage du Vengeronand 6 more trips of this line +238 min
- Bus 8 Wettingen, Bushof +229 min
- Tram 12 Lancy-Bachet, gare – Thônex, Moillesulaz Thônex, Moillesulazand 2 more trips of this line +224 min
›Probably errors in the feed (8)
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 23 more trips of this line +1057 min
- Bus 1 Gebenstorf, Reuss – Würenlos, Bettlen Baden, Bahnhof Ostand 6 more trips of this line +679 min
- Bus 3 Wettingen, Brunnenwieseand 1 more trips of this line +676 min
- Tram 9 Wabern, Tram-Endstation – Bern Wankdorf, Bahnhof Bern Wankdorf, Bahnhofand 7 more trips of this line +438 min
- Bus 6 Lausanne, Maladière – Lausanne, Praz-Séchaud Maladièreand 10 more trips of this line +381 min
- Bus 492 Regensdorf-Watt, Bahnhof +380 min
- Bus 80 Genève, Bel-Air – Saint-Julien, gare Saint-Julien, gare +369 min