Punctuality of Swiss public transportMarch 2026
88.1% of 4,263,010 trips were on time. The best day was Sunday 29 March with 94.5%, the worst Tuesday 3 March with 85.7%. Of the busy lines, M2 Genève-Pâquis (lac) – Genève-Quai Gustave Ador (lac) 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.
88.1%
−0.6 ptsMonth before: 88.7% · 4,263,010 trips with live data
Average delay
+1.3 min
Canceled trips
13,113
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 29 Mar · 94.5%
- Worst day
- Tue 3 Mar · 85.7%
By mode
-
Train 95.3%
433,466 trips · avg +0.7 min
-
Tram 85.1%
329,816 trips · avg +1.6 min
-
Bus 87.6%
3,480,315 trips · avg +1.3 min
-
Metro 90.6%
9,346 trips · avg +1.3 min
-
Boat 54.2%
10,067 trips · avg +3.7 min
Month by month
The share on time of each month. A point opens its month.
- 95%
- Average: 89%
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) 36.5%
3,757 trips · avg +4.9 min
-
4,413 trips · avg +3.7 min
-
3,861 trips · avg +4.5 min
-
Bus 109 Neuchâtel, Place Pury – Neuchâtel, Trois-ChênesNeuchâtel, Place Pury – Neuchâtel, Trois-Chênes 49.2%
5,996 trips · avg +3.3 min
-
5,155 trips · avg +3.5 min
-
Bus 33 Prilly, Mont-Goulin – St-Sulpice VD, Venoge nordPrilly, Mont-Goulin – St-Sulpice VD, Venoge nord 53.7%
4,757 trips · avg +4.4 min
-
1,837 trips · avg +3.2 min
-
2,263 trips · avg +3 min
Show 17 more
-
Tram 8 Basel, Neuweilerstrasse – Weil am Rhein, Bahnhof/ZentrumBasel, Neuweilerstrasse – Weil am Rhein, Bahnhof/Zentrum 59.7%
2,048 trips · avg +3.2 min
-
1,492 trips · avg +3.2 min
-
Bus 50 Basel EuroAirport, Verwaltung – Basel, Bahnhof SBBBasel EuroAirport, Verwaltung – Basel, Bahnhof SBB 62%
2,075 trips · avg +2.8 min
-
4,640 trips · avg +3.4 min
-
5,005 trips · avg +2.7 min
-
Bus 9 Vernier, Lignon Tours – Thônex, Belle-Terre Pl. AraireVernier, Lignon Tours – Thônex, Belle-Terre Pl. Araire 65%
5,436 trips · avg +2.7 min
-
8,383 trips · avg +2.8 min
-
4,777 trips · avg +2.7 min
-
1,701 trips · avg +6.8 min
-
4,543 trips · avg +2.6 min
-
3,922 trips · avg +2.6 min
-
5,026 trips · avg +2.6 min
-
6,430 trips · avg +2.8 min
-
2,190 trips · avg +2.4 min
-
Bus 61 Wallisellen, Glatt (Bus) – Zürich, MühlackerWallisellen, Glatt (Bus) – Zürich, Mühlacker 68.2%
4,695 trips · avg +2.5 min
-
Bus 66 Thoiry, Centre commercial – Genève-Aéroport, TerminalThoiry, Centre commercial – Genève-Aéroport, Terminal 68.2%
1,938 trips · avg +2.6 min
-
6,626 trips · avg +3 min
Most punctual busy lines
-
6,827 trips · avg +0.6 min
-
8,898 trips · avg +0.7 min
-
8,636 trips · avg +0.8 min
-
Bus 1 Winterthur, Oberwinterthur – Winterthur, TössWinterthur, Oberwinterthur – Winterthur, Töss 94.7%
8,149 trips · avg +0.9 min
-
6,764 trips · avg +0.9 min
-
7,186 trips · avg +1.1 min
-
9,821 trips · avg +1.1 min
-
Bus 101 Bern, Hauptbahnhof – Hinterkappelen, SchlossmattBern, Hauptbahnhof – Hinterkappelen, Schlossmatt 93.9%
6,708 trips · avg +0.8 min
Least punctual busy lines
-
1,701 trips · avg +6.8 min
-
3,513 trips · avg +2 min
-
3,384 trips · avg +1.6 min
-
1,957 trips · avg +1.3 min
-
2,264 trips · avg +1 min
-
2,144 trips · avg +1.3 min
-
2,579 trips · avg +1 min
-
1,435 trips · avg +0.7 min
Show 17 more
-
2,322 trips · avg +0.7 min
-
2,113 trips · avg +0.7 min
-
1,468 trips · avg +0.6 min
-
1,437 trips · avg +0.9 min
-
3,135 trips · avg +0.8 min
-
1,632 trips · avg +0.5 min
-
1,602 trips · avg +0.6 min
-
1,757 trips · avg +0.9 min
-
1,277 trips · avg +0.5 min
-
2,563 trips · avg +0.5 min
-
2,460 trips · avg +0.7 min
-
2,193 trips · avg +0.7 min
-
1,376 trips · avg +0.6 min
-
1,250 trips · avg +0.6 min
-
2,136 trips · avg +0.6 min
-
2,556 trips · avg +0.7 min
-
1,347 trips · avg +0.6 min
Most punctual busy lines
-
2,096 trips · avg +0.1 min
-
1,798 trips · avg +0 min
-
1,898 trips · avg +0.1 min
-
3,796 trips · avg +0.3 min
-
2,417 trips · avg +0.1 min
-
5,109 trips · avg +0.2 min
-
4,407 trips · avg +0.2 min
-
1,564 trips · avg +0.1 min
Least punctual busy lines
-
Tram 8 Basel, Neuweilerstrasse – Weil am Rhein, Bahnhof/ZentrumBasel, Neuweilerstrasse – Weil am Rhein, Bahnhof/Zentrum 59.7%
2,048 trips · avg +3.2 min
-
Tram 14 Basel, Dreirosenbrücke – Pratteln, SchlossstrasseBasel, Dreirosenbrücke – Pratteln, Schlossstrasse 70.8%
8,335 trips · avg +2.5 min
-
8,573 trips · avg +1.8 min
-
8,418 trips · avg +2.4 min
-
8,092 trips · avg +2 min
-
Tram 8 Bern, Saali – Bern Brünnen Westside, BahnhofBern, Saali – Bern Brünnen Westside, Bahnhof 78.6%
2,360 trips · avg +2 min
-
Tram 2 Binningen, Kronenplatz – Basel, Badischer BahnhofBinningen, Kronenplatz – Basel, Badischer Bahnhof 81.9%
2,044 trips · avg +1.9 min
-
8,985 trips · avg +1.9 min
Show 17 more
-
8,110 trips · avg +1.7 min
-
10,797 trips · avg +1.7 min
-
8,714 trips · avg +1.4 min
-
Tram 9 Wabern, Tram-Endstation – Bern Wankdorf, BahnhofWabern, Tram-Endstation – Bern Wankdorf, Bahnhof 85.8%
7,120 trips · avg +1.7 min
-
1,356 trips · avg +1.3 min
-
10,262 trips · avg +1.6 min
-
8,914 trips · avg +1.5 min
-
2,685 trips · avg +1.6 min
-
Tram 7 Stettbach, Bahnhof – Zürich, WollishoferplatzStettbach, Bahnhof – Zürich, Wollishoferplatz 87.6%
2,165 trips · avg +1.4 min
-
8,881 trips · avg +1.3 min
-
8,673 trips · avg +1.7 min
-
Tram 51 Zürich Altstetten, Bahnhof N – Zürich, SeebachZürich Altstetten, Bahnhof N – Zürich, Seebach 88.9%
8,989 trips · avg +1.4 min
-
8,665 trips · avg +0.9 min
-
Tram 10 Zürich Flughafen, Fracht – Zürich, Bahnhofplatz/HBZürich Flughafen, Fracht – Zürich, Bahnhofplatz/HB 92.7%
1,802 trips · avg +1.1 min
-
Tram 11 Zürich, Central – Zürich Tiefenbrunnen, BahnhofZürich, Central – Zürich Tiefenbrunnen, Bahnhof 93.9%
2,137 trips · avg +1 min
-
4,499 trips · avg +0.8 min
-
Tram 20 Killwangen, Bahnhof – Zürich Altstetten, BahnhofKillwangen, Bahnhof – Zürich Altstetten, Bahnhof 95.9%
4,561 trips · avg +1 min
Most punctual busy lines
-
4,017 trips · avg +0.2 min
-
8,636 trips · avg +0.8 min
-
1,717 trips · avg +0.8 min
-
Tram 20 Killwangen, Bahnhof – Zürich Altstetten, BahnhofKillwangen, Bahnhof – Zürich Altstetten, Bahnhof 95.9%
4,561 trips · avg +1 min
-
4,499 trips · avg +0.8 min
-
Tram 11 Zürich, Central – Zürich Tiefenbrunnen, BahnhofZürich, Central – Zürich Tiefenbrunnen, Bahnhof 93.9%
2,137 trips · avg +1 min
-
Tram 10 Zürich Flughafen, Fracht – Zürich, Bahnhofplatz/HBZürich Flughafen, Fracht – Zürich, Bahnhofplatz/HB 92.7%
1,802 trips · avg +1.1 min
-
8,665 trips · avg +0.9 min
Least punctual busy lines
-
4,413 trips · avg +3.7 min
-
Bus 109 Neuchâtel, Place Pury – Neuchâtel, Trois-ChênesNeuchâtel, Place Pury – Neuchâtel, Trois-Chênes 49.2%
5,996 trips · avg +3.3 min
-
5,155 trips · avg +3.5 min
-
Bus 33 Prilly, Mont-Goulin – St-Sulpice VD, Venoge nordPrilly, Mont-Goulin – St-Sulpice VD, Venoge nord 53.7%
4,757 trips · avg +4.4 min
-
1,837 trips · avg +3.2 min
-
2,263 trips · avg +3 min
-
1,492 trips · avg +3.2 min
-
Bus 50 Basel EuroAirport, Verwaltung – Basel, Bahnhof SBBBasel EuroAirport, Verwaltung – Basel, Bahnhof SBB 62%
2,075 trips · avg +2.8 min
Show 17 more
-
4,640 trips · avg +3.4 min
-
5,005 trips · avg +2.7 min
-
Bus 9 Vernier, Lignon Tours – Thônex, Belle-Terre Pl. AraireVernier, Lignon Tours – Thônex, Belle-Terre Pl. Araire 65%
5,436 trips · avg +2.7 min
-
8,383 trips · avg +2.8 min
-
4,777 trips · avg +2.7 min
-
4,543 trips · avg +2.6 min
-
3,922 trips · avg +2.6 min
-
5,026 trips · avg +2.6 min
-
6,430 trips · avg +2.8 min
-
2,190 trips · avg +2.4 min
-
Bus 61 Wallisellen, Glatt (Bus) – Zürich, MühlackerWallisellen, Glatt (Bus) – Zürich, Mühlacker 68.2%
4,695 trips · avg +2.5 min
-
Bus 66 Thoiry, Centre commercial – Genève-Aéroport, TerminalThoiry, Centre commercial – Genève-Aéroport, Terminal 68.2%
1,938 trips · avg +2.6 min
-
6,626 trips · avg +3 min
-
2,506 trips · avg +2.8 min
-
Bus 33 Zürich, Triemli – Zürich Tiefenbrunnen, BahnhofZürich, Triemli – Zürich Tiefenbrunnen, Bahnhof 68.8%
8,846 trips · avg +2.4 min
-
Bus 4 Chur, Austrasse – Chur, Seniorenzentrum CadonauChur, Austrasse – Chur, Seniorenzentrum Cadonau 69.2%
5,373 trips · avg +2.3 min
-
Bus 3 Canobbio, Mercato Resega – Breganzona, PostaCanobbio, Mercato Resega – Breganzona, Posta 69.3%
6,078 trips · avg +2.8 min
Most punctual busy lines
-
6,827 trips · avg +0.6 min
-
5,602 trips · avg +0.7 min
-
5,690 trips · avg +0.7 min
-
Bus 6 St. Gallen, Bach St. Georgen – St. Gallen, HeiligkreuzSt. Gallen, Bach St. Georgen – St. Gallen, Heiligkreuz 95.3%
5,723 trips · avg +0.7 min
-
Bus 1 Winterthur, Oberwinterthur – Winterthur, TössWinterthur, Oberwinterthur – Winterthur, Töss 94.7%
8,149 trips · avg +0.9 min
-
Bus 5 St. Gallen, Riethüsli – St. Gallen, RotmontenSt. Gallen, Riethüsli – St. Gallen, Rotmonten 94.5%
5,755 trips · avg +1 min
-
6,764 trips · avg +0.9 min
-
7,186 trips · avg +1.1 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) 36.5%
3,757 trips · avg +4.9 min
-
3,861 trips · avg +4.5 min
-
1,262 trips · avg +0.7 min
Least punctual operators
-
Mouettes genevoises 54.2%
10,067 trips · avg +3.7 min
-
VBL 73.5%
113,151 trips · avg +2.4 min
-
Transports Publics Neuchâtelois 74.4%
76,245 trips · avg +2.1 min
-
Lugano-Ponte Tresa 74.6%
3,513 trips · avg +2 min
-
BVB 74.9%
139,694 trips · avg +2.2 min
-
TPL 75.4%
45,873 trips · avg +2.1 min
-
Busbetrieb Rapperswil-Eschenbach-Rüti ZH 76.2%
8,110 trips · avg +2 min
-
Automobil Rottal 76.6%
12,624 trips · avg +2 min
Show 17 more
-
Verkehrsbetrieb LIECHTENSTEINmobil 78.7%
23,344 trips · avg +2.1 min
-
TPG 79.1%
249,153 trips · avg +1.9 min
-
Bus und Service 80.6%
43,121 trips · avg +1.8 min
-
Auto AG Rothenburg 80.9%
21,737 trips · avg +1.7 min
-
Bus Nyon-Prangins 81%
9,592 trips · avg +1.7 min
-
Verkehrsbetriebe Biel 81.9%
41,791 trips · avg +1.6 min
-
Regionale Verkehrsbetriebe Baden-Wettingen 82.4%
38,751 trips · avg +1.6 min
-
Bus Sierrois 83%
7,172 trips · avg +1.6 min
-
Busbetrieb Solothurn und Umgebung 83.6%
20,526 trips · avg +1.5 min
-
Sierre-Montana-Crans 84%
8,487 trips · avg +1.6 min
-
tl 84.8%
201,735 trips · avg +1.7 min
-
Stadtbus Frauenfeld 84.9%
15,115 trips · avg +1.7 min
-
TPF 85%
110,978 trips · avg +2 min
-
VBZ 85.5%
480,157 trips · avg +1.5 min
-
Busbetrieb Aarau 86%
28,363 trips · avg +1.4 min
-
Regiobus Gossau SG 86.3%
16,337 trips · avg +1.4 min
-
Matterhorn Gotthard Bahn 87%
10,558 trips · avg +1.3 min
Most punctual operators
-
Regionalverkehr Bern-Solothurn 99.1%
17,201 trips · avg +0.3 min
-
Zentralbahn 98.9%
10,786 trips · avg +0.3 min
-
Aare Seeland mobil 98.9%
9,827 trips · avg +0.3 min
-
Lausanne-Echallens-Bercher 98.7%
3,502 trips · avg +0.3 min
-
THURBO 98.3%
34,267 trips · avg +0.3 min
-
Schweizerische Südostbahn 97.9%
15,676 trips · avg +0.4 min
-
Appenzeller Bahnen 97.7%
10,091 trips · avg +0.4 min
-
BLS 97.4%
46,362 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 95.8%
52,591 departures · avg +1 min
-
Bern 97.3%
31,501 departures · avg +0.9 min
-
Zürich Oerlikon 95.6%
27,688 departures · avg +1.1 min
-
Zürich Stadelhofen 93.2%
21,803 departures · avg +1.3 min
-
Winterthur 96.5%
21,191 departures · avg +1 min
-
Zürich Hardbrücke 85.8%
21,082 departures · avg +2 min
-
Olten 93.6%
18,569 departures · avg +1.2 min
-
St. Gallen 95%
15,695 departures · avg +1.1 min
-
Aarau 95.7%
15,684 departures · avg +0.9 min
-
Lausanne 91.9%
15,432 departures · avg +1.4 min
-
Renens VD 92.3%
15,126 departures · avg +1.3 min
-
Luzern 98%
14,291 departures · avg +0.8 min
-
Bern, Bahnhof 94.3%
86,971 departures · avg +1.2 min
-
Genève, gare Cornavin 81.4%
81,132 departures · avg +1.8 min
-
Genève, Bel-Air 82.9%
78,488 departures · avg +1.8 min
-
Luzern, Kantonalbank 79.8%
71,651 departures · avg +2.1 min
-
Bern, Hirschengraben 91.1%
66,199 departures · avg +1.5 min
-
65,696 departures · avg +2 min
-
Zürich, Central 92.9%
65,677 departures · avg +1.1 min
-
Bern, Zytglogge 90.4%
63,442 departures · avg +1.5 min
-
Lausanne, Bel-Air 73.7%
62,559 departures · avg +2.5 min
-
Luzern, Bahnhof 87.8%
62,363 departures · avg +1.5 min
-
Zürich, Bellevue 93.2%
61,473 departures · avg +1.2 min
-
Basel, Bahnhof SBB 86.2%
61,215 departures · avg +1.7 min
-
Magliaso Paese 59.4%
3,513 departures · avg +3.4 min
-
Agno 61%
3,513 departures · avg +3.3 min
-
Magliaso 62.3%
3,513 departures · avg +3.2 min
-
Serocca 63.5%
3,513 departures · avg +3.1 min
-
Bioggio Molinazzo 65.1%
3,513 departures · avg +2.9 min
-
Caslano 70.3%
3,513 departures · avg +2.7 min
-
Bioggio 70.4%
3,513 departures · avg +2.5 min
-
Oberentfelden Engelplatz 74.3%
4,451 departures · avg +1.6 min
-
Muhen Nord 74.3%
4,451 departures · avg +1.6 min
-
Sorengo Laghetto 74.5%
3,513 departures · avg +2.5 min
-
Cappella-Agnuzzo 75.1%
3,513 departures · avg +2.2 min
-
Sorengo 76.3%
3,513 departures · avg +2.3 min
Largest delays
- Bus 410 Andermatt, Gemsstockbahn +349 min
- Bus 470 Romont FR, gare +321 min
- Bus 121 Wädenswil, Bahnhofand 1 more trips of this line +312 min
- Tram 15 Plan-les-Ouates, ZIPLOand 7 more trips of this line +304 min
- Bus 128 Wädenswil, Bahnhof – Wädenswil, Winterberg Wädenswil, Hintere Rüti West +301 min
- NJ Feldkirch – Zürich HB Zürich HBand 17 more trips of this line +297 min
- Bus 9 Lutry, Cornicheand 6 more trips of this line +292 min
- Bus 454 Romont FR, gare +280 min
- Bus 19 Onex, cité – Vernier, village Genève, Jonctionand 1 more trips of this line +280 min
- Bus 401 Flüelen, Gruonbach – Göschenen, Bahnhof Amsteg, Dorf +280 min
- Bus 130 Tentlingen, Dorf +247 min
- Bus 702 Tolochenaz, Les Saux – Bussigny, gare sud Tolochenaz, Les Saux +236 min
- Bus 260 Jaun, Bergbahnen – Gruyères, ville Broc-Village, gareand 1 more trips of this line +234 min
- Bus 2 Fribourg, Schönberg Dunant – Villars-sur-Glâne, Les Dailles Fribourg, Schönberg Dunant +223 min
- Bus 408 Unterschächen, Dorf – Attinghausen, Seilbahn Attinghausen, Seilbahn +215 min
›Probably errors in the feed (17)
Delays of more than 6 hours. The real-time feed sent them, but they are probably not real.
- Bus 337 Farvagny-le-Grand, CO Gibloux +5862 min
- Bus 201 Epagny, Les Gottes – Marsens, village Marsens, villageand 6 more trips of this line +4730 min
- Bus 234 Bulle, gare routièreand 3 more trips of this line +4531 min
- Bus 8 Corminboeuf, anc. poste – Marly, piscine Marly, piscineand 16 more trips of this line +4394 min
- Bus 48 Pully, Daillettes – Pully, gare Pully, gareand 19 more trips of this line +873 min
- Tram 12 Lancy-Bachet, gare – Thônex, Moillesulaz Thônex, Moillesulazand 3 more trips of this line +723 min
- Bus 817 Uster, Bahnhof – Uster, See Uster, Bahnhof +718 min
- Bus 813 Uster, Bahnhof – Uster, Nossikon Uster, Nossikonand 1 more trips of this line +717 min
- Tram 18 Grand-Lancy, Palettes – Meyrin, CERN Meyrin, CERNand 2 more trips of this line +679 min
- Bus 1 Gebenstorf, Reuss – Würenlos, Bettlen Baden, Bahnhof Ostand 6 more trips of this line +623 min
- Bus 3 Wettingen, Brunnenwiese +619 min
- Bus 9 Schaffhausen, Ebnat – Schaffhausen, Kinepolis Schaffhausen, Kinepolisand 33 more trips of this line +528 min
- Bus 1 Blécheretteand 3 more trips of this line +454 min
- Bus 602 Pontresina, Bahnhofand 2 more trips of this line +428 min
- Bus 603 Samedan, Porta Samedanand 1 more trips of this line +421 min
- Bus 3 Grand-Saconnex, Gardiol – Genève, Crêts-de-Champel Genève, Crêts-de-Champeland 9 more trips of this line +415 min
- Bus 122 Wädenswil, Hintere Rüti West – Wädenswil, Bahnhof Wädenswil, Bahnhof +360 min