Punctuality of Swiss public transport2025
90.7% of 2,342,429 trips were on time. The best day was Thursday 25 December with 95.7%, the worst Wednesday 17 December with 84.4%. Of the busy lines, Bus 101 Marin-Epagnier, gare – Cormondrèche, Grand'Rue had the lowest share on time: 33.7%.
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.7%
2,342,429 trips with live data
Average delay
+1 min
Canceled trips
5,912
0.3% of the trips
Data for 18 of 365 days.
Month by month
The share on time of each month. A point opens its month.
- Jan 2025
- Feb 2025
- Mar 2025
- Apr 2025
- May 2025
- Jun 2025
- Jul 2025
- Aug 2025
- Sept 2025
- Oct 2025
- Nov 2025
- Dec 2025
- 95%
- Average: 90.7%
- Best day
- Thu 25 Dec · 95.7%
- Worst day
- Wed 17 Dec · 84.4%
By mode
-
Train 96.2%
244,009 trips · avg +0.6 min
-
Tram 84.7%
187,847 trips · avg +1.6 min
-
Bus 90.7%
1,900,918 trips · avg +1 min
-
Metro 96%
5,213 trips · avg +1.1 min
-
Boat 50.8%
4,442 trips · avg +3.9 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
-
Bus 101 Marin-Epagnier, gare – Cormondrèche, Grand'RueMarin-Epagnier, gare – Cormondrèche, Grand'Rue 33.7%
1,072 trips · avg +4.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) 35.1%
1,835 trips · avg +5 min
-
1,732 trips · avg +4.3 min
-
2,682 trips · avg +3.4 min
-
2,961 trips · avg +3.6 min
-
Tram 8 Weil am Rhein, Bahnhof/Zentrum – Basel, NeuweilerstrasseWeil am Rhein, Bahnhof/Zentrum – Basel, Neuweilerstrasse 60.6%
2,738 trips · avg +3.4 min
-
1,331 trips · avg +4 min
-
Bus 109 Neuchâtel, Place Pury – Neuchâtel, Trois-ChênesNeuchâtel, Place Pury – Neuchâtel, Trois-Chênes 61.5%
2,633 trips · avg +2.7 min
Show 17 more
-
Bus 106 Neuchâtel, Place Pury – Neuchâtel,Vallon de l'ErmitageNeuchâtel, Place Pury – Neuchâtel,Vallon de l'Ermitage 61.8%
751 trips · avg +2.7 min
-
Bus 68 Saint-Genis, Jean Monnet – Vernier, BlandonnetSaint-Genis, Jean Monnet – Vernier, Blandonnet 63%
763 trips · avg +3.3 min
-
1,104 trips · avg +2.6 min
-
Bus 3 Givisiez, Mont Carmel – Fribourg, CharmettesGivisiez, Mont Carmel – Fribourg, Charmettes 63.8%
1,606 trips · avg +2.8 min
-
Bus 50 Basel, Bahnhof SBB – Basel EuroAirport, VerwaltungBasel, Bahnhof SBB – Basel EuroAirport, Verwaltung 66.7%
2,679 trips · avg +2.8 min
-
1,457 trips · avg +2.6 min
-
Bus 898 Büren an der Aare, Bahnhof – Münchenbuchsee, BahnhofBüren an der Aare, Bahnhof – Münchenbuchsee, Bahnhof 68.1%
817 trips · avg +2.4 min
-
2,691 trips · avg +2.7 min
-
3,280 trips · avg +3.6 min
-
752 trips · avg +2.5 min
-
4,838 trips · avg +1.9 min
-
743 trips · avg +2.5 min
-
1,645 trips · avg +2.4 min
-
2,810 trips · avg +2.5 min
-
Bus 301 Davos Glaris, Ortolfi – Davos Laret, LandhausDavos Glaris, Ortolfi – Davos Laret, Landhaus 70.3%
2,423 trips · avg +2.5 min
-
3,221 trips · avg +2.2 min
-
1,017 trips · avg +5.2 min
Most punctual busy lines
-
3,623 trips · avg +0.4 min
-
5,042 trips · avg +0.7 min
-
4,976 trips · avg +0.9 min
-
Bus 101 Bern, Hauptbahnhof – Hinterkappelen, SchlossmattBern, Hauptbahnhof – Hinterkappelen, Schlossmatt 96.6%
3,644 trips · avg +0.6 min
-
Bus 1 Winterthur, Oberwinterthur – Winterthur, TössWinterthur, Oberwinterthur – Winterthur, Töss 96.5%
4,586 trips · avg +0.8 min
-
Bus 781 Zürich Oerlikon, Bahnhof – Glattbrugg, GiebeleichstrasseZürich Oerlikon, Bahnhof – Glattbrugg, Giebeleichstrasse 95.9%
3,731 trips · avg +0.8 min
-
4,101 trips · avg +0.9 min
-
4,012 trips · avg +0.7 min
Least punctual busy lines
-
1,017 trips · avg +5.2 min
-
1,844 trips · avg +1.8 min
-
1,291 trips · avg +1.3 min
-
831 trips · avg +1.2 min
-
1,332 trips · avg +1.4 min
-
1,535 trips · avg +1.2 min
-
1,950 trips · avg +1.3 min
-
898 trips · avg +1 min
Show 17 more
-
937 trips · avg +1.1 min
-
738 trips · avg +0.9 min
-
1,356 trips · avg +1 min
-
1,542 trips · avg +0.7 min
-
1,421 trips · avg +0.7 min
-
1,129 trips · avg +0.8 min
-
768 trips · avg +0.6 min
-
986 trips · avg +0.7 min
-
738 trips · avg +0.9 min
-
2,111 trips · avg +0.9 min
-
844 trips · avg +0.7 min
-
733 trips · avg +0.5 min
-
1,428 trips · avg +0.8 min
-
799 trips · avg +0.6 min
-
2,046 trips · avg +0.8 min
-
888 trips · avg +0.6 min
-
1,273 trips · avg +0.9 min
Most punctual busy lines
-
1,293 trips · avg +0.1 min
-
1,188 trips · avg +0.1 min
-
2,802 trips · avg +0.2 min
-
1,422 trips · avg +0.2 min
-
2,193 trips · avg +0.3 min
-
1,029 trips · avg +0.3 min
-
1,214 trips · avg +0.1 min
-
1,391 trips · avg +0.3 min
Least punctual busy lines
-
Tram 8 Weil am Rhein, Bahnhof/Zentrum – Basel, NeuweilerstrasseWeil am Rhein, Bahnhof/Zentrum – Basel, Neuweilerstrasse 60.6%
2,738 trips · avg +3.4 min
-
4,838 trips · avg +1.9 min
-
Tram 14 Basel, Dreirosenbrücke – Pratteln, SchlossstrasseBasel, Dreirosenbrücke – Pratteln, Schlossstrasse 71.8%
4,640 trips · avg +2.5 min
-
Tram 8 Bern Brünnen Westside, Bahnhof – Bern, SaaliBern Brünnen Westside, Bahnhof – Bern, Saali 75.1%
3,415 trips · avg +2.1 min
-
4,001 trips · avg +2 min
-
4,510 trips · avg +2.1 min
-
4,650 trips · avg +1.9 min
-
3,146 trips · avg +2.2 min
Show 17 more
-
6,057 trips · avg +1.8 min
-
Tram 3 St-Louis, Gare de Saint-Louis – Birsfelden, HardSt-Louis, Gare de Saint-Louis – Birsfelden, Hard 81.8%
4,404 trips · avg +1.9 min
-
3,955 trips · avg +1.8 min
-
2,920 trips · avg +1.6 min
-
2,707 trips · avg +1.6 min
-
4,460 trips · avg +1.9 min
-
5,764 trips · avg +1.9 min
-
Tram 7 Zürich, Wollishoferplatz – Stettbach, BahnhofZürich, Wollishoferplatz – Stettbach, Bahnhof 84.1%
3,265 trips · avg +1.8 min
-
Tram 10 Zürich, Bahnhofstrasse/HB – Zürich Flughafen, FrachtZürich, Bahnhofstrasse/HB – Zürich Flughafen, Fracht 84.3%
2,524 trips · avg +1.5 min
-
5,074 trips · avg +1.6 min
-
4,930 trips · avg +1.4 min
-
877 trips · avg +1.3 min
-
Tram 51 Zürich Altstetten, Bahnhof N – Zürich, SeebachZürich Altstetten, Bahnhof N – Zürich, Seebach 86.9%
5,058 trips · avg +1.5 min
-
5,028 trips · avg +1.4 min
-
Tram 9 Wabern, Tram-Endstation – Bern Wankdorf, BahnhofWabern, Tram-Endstation – Bern Wankdorf, Bahnhof 87.7%
5,435 trips · avg +1.6 min
-
Tram 11 Zürich Tiefenbrunnen, Bahnhof – Zürich, Bahnhofstrasse/HBZürich Tiefenbrunnen, Bahnhof – Zürich, Bahnhofstrasse/HB 87.9%
3,213 trips · avg +1.5 min
-
5,018 trips · avg +1.3 min
Most punctual busy lines
-
1,603 trips · avg +0.2 min
-
4,012 trips · avg +0.7 min
-
Tram 20 Killwangen, Bahnhof – Zürich Altstetten, BahnhofKillwangen, Bahnhof – Zürich Altstetten, Bahnhof 95.5%
2,785 trips · avg +0.9 min
-
3,834 trips · avg +0.9 min
-
4,850 trips · avg +0.9 min
-
Tram 12 Zürich Flughafen, Fracht – Stettbach, BahnhofZürich Flughafen, Fracht – Stettbach, Bahnhof 91.6%
2,000 trips · avg +1.2 min
-
2,489 trips · avg +1 min
-
4,859 trips · avg +1 min
Least punctual busy lines
-
Bus 101 Marin-Epagnier, gare – Cormondrèche, Grand'RueMarin-Epagnier, gare – Cormondrèche, Grand'Rue 33.7%
1,072 trips · avg +4.9 min
-
2,682 trips · avg +3.4 min
-
2,961 trips · avg +3.6 min
-
1,331 trips · avg +4 min
-
Bus 109 Neuchâtel, Place Pury – Neuchâtel, Trois-ChênesNeuchâtel, Place Pury – Neuchâtel, Trois-Chênes 61.5%
2,633 trips · avg +2.7 min
-
Bus 106 Neuchâtel, Place Pury – Neuchâtel,Vallon de l'ErmitageNeuchâtel, Place Pury – Neuchâtel,Vallon de l'Ermitage 61.8%
751 trips · avg +2.7 min
-
Bus 68 Saint-Genis, Jean Monnet – Vernier, BlandonnetSaint-Genis, Jean Monnet – Vernier, Blandonnet 63%
763 trips · avg +3.3 min
-
1,104 trips · avg +2.6 min
Show 17 more
-
Bus 3 Givisiez, Mont Carmel – Fribourg, CharmettesGivisiez, Mont Carmel – Fribourg, Charmettes 63.8%
1,606 trips · avg +2.8 min
-
Bus 50 Basel, Bahnhof SBB – Basel EuroAirport, VerwaltungBasel, Bahnhof SBB – Basel EuroAirport, Verwaltung 66.7%
2,679 trips · avg +2.8 min
-
1,457 trips · avg +2.6 min
-
Bus 898 Büren an der Aare, Bahnhof – Münchenbuchsee, BahnhofBüren an der Aare, Bahnhof – Münchenbuchsee, Bahnhof 68.1%
817 trips · avg +2.4 min
-
2,691 trips · avg +2.7 min
-
3,280 trips · avg +3.6 min
-
752 trips · avg +2.5 min
-
743 trips · avg +2.5 min
-
1,645 trips · avg +2.4 min
-
2,810 trips · avg +2.5 min
-
Bus 301 Davos Glaris, Ortolfi – Davos Laret, LandhausDavos Glaris, Ortolfi – Davos Laret, Landhaus 70.3%
2,423 trips · avg +2.5 min
-
3,221 trips · avg +2.2 min
-
Bus 11 Chur, Bahnhofplatz – Felsberg, Rjterstutz/AeuliChur, Bahnhofplatz – Felsberg, Rjterstutz/Aeuli 71.2%
2,619 trips · avg +2.3 min
-
1,169 trips · avg +2.5 min
-
Bus 61 Wallisellen, Glatt (Bus) – Zürich, MühlackerWallisellen, Glatt (Bus) – Zürich, Mühlacker 71.5%
2,643 trips · avg +2.3 min
-
1,038 trips · avg +2.2 min
-
Bus 107 Marin-Epagnier, gare – Neuchâtel, Place PuryMarin-Epagnier, gare – Neuchâtel, Place Pury 72.8%
1,937 trips · avg +2.1 min
Most punctual busy lines
-
3,623 trips · avg +0.4 min
-
Bus 1 Schaffhausen, Waldfriedhof – Neuhausen, HerbstäckerSchaffhausen, Waldfriedhof – Neuhausen, Herbstäcker 98.2%
3,175 trips · avg +0.8 min
-
3,115 trips · avg +0.6 min
-
3,077 trips · avg +0.9 min
-
3,134 trips · avg +0.6 min
-
Bus 752 Stettbach, Bahnhof – Dübendorf, KunsteisbahnStettbach, Bahnhof – Dübendorf, Kunsteisbahn 96.7%
3,051 trips · avg +0.9 min
-
Bus 101 Bern, Hauptbahnhof – Hinterkappelen, SchlossmattBern, Hauptbahnhof – Hinterkappelen, Schlossmatt 96.6%
3,644 trips · avg +0.6 min
-
Bus 1 Winterthur, Oberwinterthur – Winterthur, TössWinterthur, Oberwinterthur – Winterthur, Töss 96.5%
4,586 trips · avg +0.8 min
Least punctual operators
-
Mouettes genevoises 50.8%
4,442 trips · avg +3.9 min
-
Lugano-Ponte Tresa 75.9%
1,919 trips · avg +1.8 min
-
TPL 77.7%
26,156 trips · avg +2 min
-
Verkehrsbetrieb der Landschaft Davos 78.2%
7,038 trips · avg +2.3 min
-
BVB 79.3%
71,550 trips · avg +1.9 min
-
Busbetrieb Rapperswil-Eschenbach-Rüti ZH 79.6%
4,509 trips · avg +1.7 min
-
Sierre-Montana-Crans 79.6%
4,958 trips · avg +2.3 min
-
Bus und Service 80.6%
24,726 trips · avg +1.9 min
Show 17 more
-
Verkehrsbetrieb LIECHTENSTEINmobil 80.8%
12,494 trips · avg +1.9 min
-
VBL 81.4%
62,781 trips · avg +1.7 min
-
Automobil Rottal 82%
7,202 trips · avg +1.6 min
-
Transports Publics Neuchâtelois 83%
33,014 trips · avg +1.5 min
-
TPG 83.7%
143,893 trips · avg +1.6 min
-
Bus Sierrois 85.7%
3,730 trips · avg +1.4 min
-
Stadtbus Frauenfeld 85.9%
8,189 trips · avg +1.5 min
-
Transports publics Vevey-Montreux-Chillon-Villeneuve 86.2%
18,465 trips · avg +1.5 min
-
Bus Nyon-Prangins 86.5%
5,140 trips · avg +1.3 min
-
Berner Oberland-Bahnen 86.7%
2,122 trips · avg +1.3 min
-
Auto AG Rothenburg 86.7%
12,147 trips · avg +1.3 min
-
Busbetrieb Solothurn und Umgebung 87%
11,138 trips · avg +1.3 min
-
Regionale Verkehrsbetriebe Baden-Wettingen 87.8%
21,978 trips · avg +1.3 min
-
Regiobus Gossau SG 87.9%
8,195 trips · avg +1.2 min
-
TPF 88%
63,302 trips · avg +1.1 min
-
VBZ 88.3%
265,489 trips · avg +1.3 min
-
AFA Bus 88.4%
3,671 trips · avg +1.1 min
Most punctual operators
-
Sihltal-Zürich-Uetliberg-Bahn 99.3%
4,809 trips · avg +0.5 min
-
Regionalverkehr Bern-Solothurn 99%
9,761 trips · avg +0.3 min
-
Aare Seeland mobil 98.8%
5,253 trips · avg +0.3 min
-
THURBO 98.5%
19,923 trips · avg +0.3 min
-
Zentralbahn 98.6%
5,800 trips · avg +0.3 min
-
Schweizerische Südostbahn 98.2%
9,015 trips · avg +0.4 min
-
BLS 98%
27,177 trips · avg +0.4 min
-
Auto AG Uri 97.9%
5,756 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 96.4%
30,162 departures · avg +1 min
-
Bern 98.2%
18,335 departures · avg +0.8 min
-
Zürich Oerlikon 96.6%
15,947 departures · avg +0.9 min
-
Zürich Stadelhofen 94.3%
12,567 departures · avg +1.1 min
-
Winterthur 97.7%
12,427 departures · avg +0.9 min
-
Zürich Hardbrücke 90.1%
12,088 departures · avg +1.8 min
-
Olten 96.1%
10,906 departures · avg +1 min
-
Lausanne 94.6%
9,675 departures · avg +1.1 min
-
Aarau 97.2%
9,217 departures · avg +0.8 min
-
St. Gallen 95.5%
9,119 departures · avg +1.1 min
-
Renens VD 95.4%
8,998 departures · avg +1 min
-
Luzern 98%
8,279 departures · avg +0.7 min
-
Bern, Bahnhof 95.3%
47,921 departures · avg +1.1 min
-
Genève, gare Cornavin 84.1%
46,489 departures · avg +1.7 min
-
Genève, Bel-Air 84.6%
45,116 departures · avg +1.7 min
-
Luzern, Kantonalbank 85.7%
39,899 departures · avg +1.6 min
-
Bern, Hirschengraben 92.2%
36,777 departures · avg +1.4 min
-
Zürich, Central 91.2%
36,691 departures · avg +1.3 min
-
Basel, Schifflände 83.9%
35,951 departures · avg +1.9 min
-
Bern, Zytglogge 92.1%
35,050 departures · avg +1.4 min
-
Luzern, Bahnhof 92%
34,782 departures · avg +1.2 min
-
Zürich, Bellevue 89.9%
33,558 departures · avg +1.4 min
-
Lausanne, Bel-Air 78.2%
33,273 departures · avg +2 min
-
Basel, Bankverein 84.9%
32,399 departures · avg +1.8 min
-
Magliaso Paese 63.3%
1,919 departures · avg +3.1 min
-
Agno 64.6%
1,919 departures · avg +3 min
-
Magliaso 65.8%
1,919 departures · avg +2.9 min
-
Serocca 67%
1,919 departures · avg +2.8 min
-
Bioggio Molinazzo 68.4%
1,919 departures · avg +2.7 min
-
Caslano 72.5%
1,919 departures · avg +2.6 min
-
Bioggio 72.7%
1,919 departures · avg +2.3 min
-
Muhen Nord 75%
2,536 departures · avg +1.6 min
-
Oberentfelden Engelplatz 75.1%
2,536 departures · avg +1.6 min
-
Cappella-Agnuzzo 76.4%
1,919 departures · avg +2.1 min
-
Sorengo Laghetto 77.1%
1,919 departures · avg +2.3 min
-
Sorengo 78.9%
1,919 departures · avg +2.1 min
Largest delays
- TGV Mulhouse – Zürich HB Zürich HB +200 min
- Bus 1 Gebenstorf, Reuss – Würenlos, Bettlen Baden, Bahnhof Ostand 8 more trips of this line +173 min
- Bus 870 Rüti ZH, Bahnhof – Hinwil, Bahnhof Rüti ZH, Bahnhofand 1 more trips of this line +172 min
- S17 Dietikon – Wohlen AG Dietikon +171 min
- Bus 3 Wettingen, Brunnenwiese – Baden, Grosse Bäder Wettingen, Brunnenwiese +170 min
- Bus 1 Ebikon, Fildern – Obernau, Dorf Obernau, Dorf +155 min
- Bus 884 Rüti ZH, Bahnhof – Rüti ZH, Bahnhof Rüti ZH, Bahnhof +154 min
- RJX Zürich HBand 7 more trips of this line +152 min
- Tram 14 Basel, Dreirosenbrücke – Pratteln, Schlossstrasse Basel, Dreirosenbrücke +145 min
- Bus 869 Wetzikon ZH, Bahnhof – Hinwil, Bahnhof Wetzikon ZH, Bahnhofand 1 more trips of this line +138 min
- Bus 862 Wetzikon ZH, Bahnhof – Wetzikon ZH, Bahnhof Wetzikon ZH, Bahnhofand 1 more trips of this line +135 min
- Bus 21 Beggingen, Dorf – Schaffhausen, Bahnhof Siblingen, Am Steiand 1 more trips of this line +134 min
- Bus 22 Thun, Untere Wart – Oberhofen a. T., Tannackerstr. Thun, Untere Wartand 1 more trips of this line +133 min
- Bus 72 Zürich, Milchbuck – Zürich, Morgental Zürich, Milchbuck +132 min
- Bus 361 Giswil, Bahnhof – Kleinteil, Post Kleinteil, Post +129 min