Punctuality of Swiss public transportApril 2026
88.5% of 4,055,786 trips were on time. The best day was Sunday 12 April with 93.6%, the worst Thursday 30 April with 84.2%. Of the busy lines, Bus 101 Cormondrèche, Grand'Rue – Marin-Epagnier, gare had the lowest share on time: 25.8%.
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.5%
+0.3 ptsMonth before: 88.1% · 4,055,786 trips with live data
Average delay
+1.2 min
Canceled trips
11,566
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 12 Apr · 93.6%
- Worst day
- Thu 30 Apr · 84.2%
By mode
-
Train 95.8%
416,968 trips · avg +0.7 min
-
Tram 84.4%
332,760 trips · avg +1.6 min
-
Bus 88.1%
3,287,207 trips · avg +1.3 min
-
Metro 89.2%
8,992 trips · avg +1.5 min
-
Boat 47.6%
9,859 trips · avg +4.3 min
Month by month
The share on time of each month. A point opens its month.
- 95%
- Average: 88.8%
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 25.8%
2,330 trips · avg +5 min
-
M2 Genève-Pâquis (lac) – Genève-Quai Gustave Ador (lac)Genève-Pâquis (lac) – Genève-Quai Gustave Ador (lac) 27.3%
3,798 trips · avg +5.8 min
-
3,650 trips · avg +5 min
-
Bus 109 Neuchâtel, Place Pury – Neuchâtel, Trois-ChênesNeuchâtel, Place Pury – Neuchâtel, Trois-Chênes 44.3%
5,586 trips · avg +3.9 min
-
4,469 trips · avg +3.5 min
-
4,999 trips · avg +3.3 min
-
1,562 trips · avg +3.5 min
-
1,955 trips · avg +2.9 min
Show 17 more
-
3,677 trips · avg +3.5 min
-
1,885 trips · avg +3.3 min
-
Bus 50 Basel EuroAirport, Verwaltung – Basel, Bahnhof SBBBasel EuroAirport, Verwaltung – Basel, Bahnhof SBB 60.2%
1,599 trips · avg +3 min
-
1,207 trips · avg +6.1 min
-
8,011 trips · avg +3.3 min
-
4,530 trips · avg +3.1 min
-
2,923 trips · avg +5.3 min
-
4,957 trips · avg +3.4 min
-
Tram 8 Basel, Neuweilerstrasse – Weil am Rhein, Bahnhof/ZentrumBasel, Neuweilerstrasse – Weil am Rhein, Bahnhof/Zentrum 62.8%
2,265 trips · avg +3.1 min
-
1,813 trips · avg +2.9 min
-
Bus 33 Prilly, Mont-Goulin – St-Sulpice VD, Venoge nordPrilly, Mont-Goulin – St-Sulpice VD, Venoge nord 63.5%
4,600 trips · avg +3.1 min
-
2,417 trips · avg +2.8 min
-
1,501 trips · avg +2.6 min
-
1,296 trips · avg +2.7 min
-
2,991 trips · avg +3 min
-
5,579 trips · avg +3.5 min
-
5,932 trips · avg +3.1 min
Most punctual busy lines
-
6,461 trips · avg +0.5 min
-
8,352 trips · avg +0.7 min
-
6,888 trips · avg +0.9 min
-
Bus 3 Winterthur, Oberseen – Winterthur, RosenbergWinterthur, Oberseen – Winterthur, Rosenberg 96.2%
7,753 trips · avg +0.6 min
-
Bus 1 Winterthur, Oberwinterthur – Winterthur, TössWinterthur, Oberwinterthur – Winterthur, Töss 96.1%
7,806 trips · avg +0.8 min
-
7,809 trips · avg +0.7 min
-
6,165 trips · avg +0.8 min
-
9,477 trips · avg +1.1 min
Least punctual busy lines
-
1,903 trips · avg +7 min
-
3,449 trips · avg +1.1 min
-
2,013 trips · avg +1.5 min
-
3,295 trips · avg +1.8 min
-
1,318 trips · avg +1.2 min
-
2,260 trips · avg +1.2 min
-
1,829 trips · avg +0.6 min
-
2,216 trips · avg +1.1 min
Show 17 more
-
1,515 trips · avg +0.7 min
-
4,121 trips · avg +0.7 min
-
2,200 trips · avg +0.6 min
-
1,396 trips · avg +0.6 min
-
1,530 trips · avg +0.6 min
-
1,355 trips · avg +0.7 min
-
2,492 trips · avg +0.7 min
-
1,364 trips · avg +0.9 min
-
2,398 trips · avg +0.5 min
-
2,287 trips · avg +0.8 min
-
3,231 trips · avg +0.8 min
-
2,359 trips · avg +0.4 min
-
1,411 trips · avg +0.7 min
-
2,221 trips · avg +0.5 min
-
2,412 trips · avg +0.6 min
-
1,246 trips · avg +0.5 min
-
1,955 trips · avg +0.6 min
Most punctual busy lines
-
1,740 trips · avg +0 min
-
2,127 trips · avg +0.1 min
-
3,643 trips · avg +0.3 min
-
1,495 trips · avg +0 min
-
2,340 trips · avg +0.1 min
-
4,767 trips · avg +0.2 min
-
3,340 trips · avg +0.3 min
-
2,210 trips · avg +0.2 min
Least punctual busy lines
-
Tram 8 Basel, Neuweilerstrasse – Weil am Rhein, Bahnhof/ZentrumBasel, Neuweilerstrasse – Weil am Rhein, Bahnhof/Zentrum 62.8%
2,265 trips · avg +3.1 min
-
8,230 trips · avg +1.8 min
-
Tram 14 Basel, Dreirosenbrücke – Pratteln, SchlossstrasseBasel, Dreirosenbrücke – Pratteln, Schlossstrasse 72%
8,023 trips · avg +2.3 min
-
2,269 trips · avg +2.3 min
-
8,083 trips · avg +2.2 min
-
1,410 trips · avg +2 min
-
Tram 9 Wabern, Tram-Endstation – Bern Wankdorf, BahnhofWabern, Tram-Endstation – Bern Wankdorf, Bahnhof 78%
6,344 trips · avg +2 min
-
7,793 trips · avg +2 min
Show 17 more
-
Tram 8 Bern, Saali – Bern Brünnen Westside, BahnhofBern, Saali – Bern Brünnen Westside, Bahnhof 79.1%
2,071 trips · avg +1.9 min
-
5,394 trips · avg +2.4 min
-
1,226 trips · avg +1.7 min
-
Tram 2 Binningen, Kronenplatz – Basel, Badischer BahnhofBinningen, Kronenplatz – Basel, Badischer Bahnhof 82.2%
2,246 trips · avg +1.9 min
-
11,415 trips · avg +1.6 min
-
9,815 trips · avg +1.7 min
-
7,811 trips · avg +1.6 min
-
8,495 trips · avg +1.4 min
-
6,624 trips · avg +1.3 min
-
Tram 7 Stettbach, Bahnhof – Zürich, WollishoferplatzStettbach, Bahnhof – Zürich, Wollishoferplatz 88.6%
2,171 trips · avg +1.4 min
-
8,368 trips · avg +1.6 min
-
6,790 trips · avg +1 min
-
Tram 10 Zürich Flughafen, Fracht – Zürich, Bahnhofplatz/HBZürich Flughafen, Fracht – Zürich, Bahnhofplatz/HB 91.5%
2,236 trips · avg +1.1 min
-
8,506 trips · avg +1.1 min
-
Tram 11 Zürich, Central – Zürich Tiefenbrunnen, BahnhofZürich, Central – Zürich Tiefenbrunnen, Bahnhof 92%
2,109 trips · avg +1 min
-
Tram 51 Zürich Altstetten, Bahnhof N – Zürich, SeebachZürich Altstetten, Bahnhof N – Zürich, Seebach 92.9%
8,605 trips · avg +1.1 min
-
4,574 trips · avg +0.8 min
Most punctual busy lines
-
2,914 trips · avg +0.1 min
-
Tram 20 Killwangen, Bahnhof – Zürich Altstetten, BahnhofKillwangen, Bahnhof – Zürich Altstetten, Bahnhof 97.3%
4,640 trips · avg +0.8 min
-
4,515 trips · avg +1 min
-
8,241 trips · avg +0.9 min
-
4,574 trips · avg +0.8 min
-
Tram 51 Zürich Altstetten, Bahnhof N – Zürich, SeebachZürich Altstetten, Bahnhof N – Zürich, Seebach 92.9%
8,605 trips · avg +1.1 min
-
Tram 11 Zürich, Central – Zürich Tiefenbrunnen, BahnhofZürich, Central – Zürich Tiefenbrunnen, Bahnhof 92%
2,109 trips · avg +1 min
-
8,506 trips · avg +1.1 min
Least punctual busy lines
-
Bus 101 Cormondrèche, Grand'Rue – Marin-Epagnier, gareCormondrèche, Grand'Rue – Marin-Epagnier, gare 25.8%
2,330 trips · avg +5 min
-
Bus 109 Neuchâtel, Place Pury – Neuchâtel, Trois-ChênesNeuchâtel, Place Pury – Neuchâtel, Trois-Chênes 44.3%
5,586 trips · avg +3.9 min
-
4,469 trips · avg +3.5 min
-
4,999 trips · avg +3.3 min
-
1,562 trips · avg +3.5 min
-
1,955 trips · avg +2.9 min
-
3,677 trips · avg +3.5 min
-
1,885 trips · avg +3.3 min
Show 17 more
-
Bus 50 Basel EuroAirport, Verwaltung – Basel, Bahnhof SBBBasel EuroAirport, Verwaltung – Basel, Bahnhof SBB 60.2%
1,599 trips · avg +3 min
-
1,207 trips · avg +6.1 min
-
8,011 trips · avg +3.3 min
-
4,530 trips · avg +3.1 min
-
2,923 trips · avg +5.3 min
-
4,957 trips · avg +3.4 min
-
1,813 trips · avg +2.9 min
-
Bus 33 Prilly, Mont-Goulin – St-Sulpice VD, Venoge nordPrilly, Mont-Goulin – St-Sulpice VD, Venoge nord 63.5%
4,600 trips · avg +3.1 min
-
2,417 trips · avg +2.8 min
-
1,501 trips · avg +2.6 min
-
1,296 trips · avg +2.7 min
-
2,991 trips · avg +3 min
-
5,579 trips · avg +3.5 min
-
5,932 trips · avg +3.1 min
-
2,363 trips · avg +3 min
-
Bus 3 Canobbio, Mercato Resega – Breganzona, PostaCanobbio, Mercato Resega – Breganzona, Posta 66.1%
5,914 trips · avg +3.6 min
-
Bus 6 Lausanne, Maladière – Lausanne, Praz-SéchaudLausanne, Maladière – Lausanne, Praz-Séchaud 66.4%
6,139 trips · avg +3.1 min
Most punctual busy lines
-
5,244 trips · avg +0.6 min
-
6,461 trips · avg +0.5 min
-
5,273 trips · avg +0.7 min
-
5,415 trips · avg +0.8 min
-
6,888 trips · avg +0.9 min
-
Bus 3 Winterthur, Oberseen – Winterthur, RosenbergWinterthur, Oberseen – Winterthur, Rosenberg 96.2%
7,753 trips · avg +0.6 min
-
Bus 1 Winterthur, Oberwinterthur – Winterthur, TössWinterthur, Oberwinterthur – Winterthur, Töss 96.1%
7,806 trips · avg +0.8 min
-
7,809 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) 27.3%
3,798 trips · avg +5.8 min
-
3,650 trips · avg +5 min
-
1,238 trips · avg +1 min
Least punctual operators
-
Mouettes genevoises 47.6%
9,859 trips · avg +4.3 min
-
TPL 71.3%
44,580 trips · avg +2.6 min
-
VBL 73.5%
107,583 trips · avg +2.4 min
-
TPG 76.2%
243,655 trips · avg +2.1 min
-
Transports Publics Neuchâtelois 76.3%
70,665 trips · avg +2 min
-
BVB 76.5%
134,421 trips · avg +2.1 min
-
Automobil Rottal 78.1%
12,179 trips · avg +1.9 min
-
Verkehrsbetrieb LIECHTENSTEINmobil 78.4%
22,065 trips · avg +2 min
Show 17 more
-
Auto AG Rothenburg 82.4%
20,266 trips · avg +1.6 min
-
Bus und Service 83%
41,283 trips · avg +1.6 min
-
Busbetrieb Solothurn und Umgebung 83.6%
19,309 trips · avg +1.5 min
-
tl 83.8%
190,406 trips · avg +1.7 min
-
Busbetrieb Aarau 83.8%
26,919 trips · avg +1.6 min
-
Sierre-Montana-Crans 84.3%
7,682 trips · avg +1.6 min
-
Stadtbus Frauenfeld 84.5%
14,183 trips · avg +1.7 min
-
Busbetrieb Rapperswil-Eschenbach-Rüti ZH 84.6%
7,750 trips · avg +1.6 min
-
Bus Nyon-Prangins 85.1%
9,028 trips · avg +1.5 min
-
Regiobus Gossau SG 85.1%
17,165 trips · avg +1.5 min
-
Regionale Verkehrsbetriebe Baden-Wettingen 85.5%
37,278 trips · avg +1.7 min
-
Lugano-Ponte Tresa 86.3%
3,449 trips · avg +1.1 min
-
VBZ 86.8%
458,670 trips · avg +1.5 min
-
Bernmobil 87.3%
153,712 trips · avg +1.4 min
-
TPF 87.4%
104,328 trips · avg +1.4 min
-
Automobiles MBC 87.5%
25,004 trips · avg +1.3 min
-
Verkehrsbetriebe Biel 87.9%
39,837 trips · avg +1.3 min
Most punctual operators
-
Regionalverkehr Bern-Solothurn 99.4%
17,642 trips · avg +0.2 min
-
Zentralbahn 99%
10,340 trips · avg +0.2 min
-
Aare Seeland mobil 98.8%
9,294 trips · avg +0.3 min
-
Sihltal-Zürich-Uetliberg-Bahn 98.4%
8,418 trips · avg +0.5 min
-
Lausanne-Echallens-Bercher 98.5%
3,688 trips · avg +0.3 min
-
THURBO 98%
32,963 trips · avg +0.4 min
-
BLS 97.9%
44,989 trips · avg +0.5 min
-
Appenzeller Bahnen 98%
9,744 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 96.2%
50,695 departures · avg +1 min
-
Bern 97.7%
30,178 departures · avg +0.8 min
-
Zürich Oerlikon 96.3%
26,905 departures · avg +1 min
-
Zürich Stadelhofen 94.2%
21,065 departures · avg +1.2 min
-
Winterthur 97%
20,448 departures · avg +1 min
-
Zürich Hardbrücke 88.7%
20,361 departures · avg +1.9 min
-
Olten 94.1%
18,026 departures · avg +1.2 min
-
St. Gallen 95.1%
15,273 departures · avg +1.1 min
-
Aarau 96.3%
15,259 departures · avg +0.8 min
-
Lausanne 91.1%
15,058 departures · avg +1.4 min
-
Renens VD 92.3%
14,867 departures · avg +1.2 min
-
Luzern 98.3%
13,788 departures · avg +0.7 min
-
Bern, Bahnhof 94%
78,409 departures · avg +1.2 min
-
Genève, gare Cornavin 77.2%
77,642 departures · avg +2 min
-
Genève, Bel-Air 78.9%
74,443 departures · avg +2 min
-
Luzern, Kantonalbank 78.4%
68,242 departures · avg +2.2 min
-
Basel, Schifflände 81.8%
62,975 departures · avg +2 min
-
Zürich, Central 93%
62,602 departures · avg +1.1 min
-
Bern, Zytglogge 90.7%
62,490 departures · avg +1.5 min
-
Luzern, Bahnhof 87.3%
59,606 departures · avg +1.6 min
-
Lausanne, Bel-Air 71.7%
58,237 departures · avg +2.6 min
-
Basel, Bahnhof SBB 87.2%
57,983 departures · avg +1.7 min
-
Zürich, Bellevue 92.2%
56,558 departures · avg +1.2 min
-
St. Gallen, Bahnhof 92.3%
56,170 departures · avg +1.2 min
-
Magliaso Paese 71.8%
3,449 departures · avg +2.5 min
-
Oberentfelden Engelplatz 73.5%
4,308 departures · avg +1.7 min
-
Muhen Nord 73.8%
4,308 departures · avg +1.7 min
-
Agno 74.2%
3,449 departures · avg +2.3 min
-
Dietikon Stoffelbach 75.5%
4,056 departures · avg +2.5 min
-
Zufikon 75.6%
4,084 departures · avg +2.2 min
-
Magliaso 75.6%
3,449 departures · avg +2.2 min
-
Serocca 76%
3,449 departures · avg +2.2 min
-
Bioggio Molinazzo 76.7%
3,449 departures · avg +2.1 min
-
Reppischhof 77.2%
4,056 departures · avg +2.2 min
-
Como S. Giovanni 77.2%
3,447 departures · avg +2.6 min
-
Paradiso 78.4%
4,281 departures · avg +2.4 min
Largest delays
- Bus 2 Fribourg, Schönberg Dunant – Villars-sur-Glâne, Les Dailles Villars-sur-Glâne, Les Daillesand 4 more trips of this line +350 min
- Bus 492 Regensdorf-Watt, Bahnhof +329 min
- Bus 62 Sursee, Bahnhof – Ruswil, Rottalcenter Ruswil, Rottalcenterand 1 more trips of this line +324 min
- Bus 893 Wald ZH, Bahnhof – Wald ZH, Bahnhof Wald ZH, Bahnhofand 6 more trips of this line +297 min
- Bus 892 Wald ZH, Bahnhof – Wald ZH, Rehazentrum Wald ZH, Bahnhofand 11 more trips of this line +296 min
- ICE Basel Bad Bfand 32 more trips of this line +258 min
- NJ Feldkirch – Zürich HB Zürich HBand 5 more trips of this line +255 min
- Bus 48 Pully, Daillettes – Pully, gare Pully, gareand 3 more trips of this line +255 min
- Bus 5 Villars-sur-Glâne, Derreyand 4 more trips of this line +226 min
- EC Bregenz – Zürich HB Zürich HBand 30 more trips of this line +225 min
- Tram 17 Annemasse, Parc Montessuitand 6 more trips of this line +205 min
- TGV Zürich HB – Mulhouse Zürich HBand 1 more trips of this line +185 min
- Bus 3 Fribourg, Charmettes +176 min
- ICE Basel Bad Bfand 4 more trips of this line +170 min
- Bus 1 Granges-Paccot, P. de-Fribourgand 1 more trips of this line +165 min
›Probably errors in the feed (16)
Delays of more than 6 hours. The real-time feed sent them, but they are probably not real.
- Bus 337 Fribourg/Freiburg, gare rout.and 1 more trips of this line +1522 min
- Bus 202 Vuadens, Le Maupas +1512 min
- Bus 8 Corminboeuf, anc. poste – Marly, piscine Marly, piscineand 29 more trips of this line +1498 min
- Bus 5 Fribourg, Torryand 1 more trips of this line +1493 min
- Bus 7 Pully, Val-Vertand 6 more trips of this line +837 min
- Bus 1 Gebenstorf, Reuss – Würenlos, Bettlen Baden, Bahnhof Ostand 37 more trips of this line +710 min
- Bus 3 Wettingen, Brunnenwieseand 7 more trips of this line +707 min
- Bus 22 Thun, Untere Wartand 3 more trips of this line +681 min
- Bus 307 Zürich Altstetten, Bahnhof N +541 min
- Bus 19 Onex, cité – Vernier, village Onex, citéand 1 more trips of this line +470 min
- Bus 24 Schaffhausen, Bahnhof +461 min
- Bus 25 Ramsen, Petersburgand 6 more trips of this line +449 min
- Bus 6 Genève, Plageand 1 more trips of this line +444 min
- Tram 12 Lancy-Bachet, gare – Thônex, Moillesulaz Thônex, Moillesulazand 4 more trips of this line +428 min
- Bus 5 Thun, Bahnhof – Thun, Schorenfriedhof Thun, Bahnhof +410 min
- Bus 2 Lausanne, Désert – Lausanne, Epinettes Désertand 8 more trips of this line +361 min