TGV 9223 Mulhouse – Zürich HB

View line TGV

Mulhouse 21:06 → Zürich HB 22:26 Daily 1 h 20 min · 3 stops SBB CFF FFS

Running now · updated 21:50

Between Basel SBB and Zürich HB +3 min

Estimated arrival at Zürich HB 22:29 22:26 · 99 km/h

  1. Mulhouse21:06
  2. Basel SBB21:26
  3. Zürich HB22:26

Today it is running no worse than usual: typical arrival delay is +7 min; 39% of the last 23 runs arrived on time.

On-time · 30 days
39%
9/23 runs under 3 min
RT coverage: 23 full · 0 partial · 0 no data
On-time · 90 days
52%
17/33 runs under 3 min
RT coverage: 33 full · 0 partial · 0 no data
Typical delay
+3min
Median at arrival, 90 days
30 days: +7 min
P90
+30min
9 in 10 runs arrive with less than this
30 days: +30 min

Last 30 days

Arrival delay at Zürich HB, in minutes. One bar per run.

  • On time (<3 min)
  • 3–10 min
  • 10–30 min
  • 30+ min
  • Partial coverage
  • No data

Worst days

  • Mon 26 Oct Max en route +50 min · last fix heading to Zürich HB +46 min
  • Sat 3 Oct Max en route +35 min · last fix heading to Zürich HB +35 min
  • Wed 23 Sept Max en route +34 min · last fix heading to Zürich HB +34 min
  • Wed 21 Oct Max en route +30 min · last fix heading to Zürich HB +30 min
  • Tue 20 Oct Max en route +35 min · last fix heading to Zürich HB +28 min

Distribution · 90 days

33 runs with a known final delay. On time = under 3 min, the same cut the map uses.

  • Early 15% · 5
  • On time 36% · 12
  • 3–10 min 15% · 5
  • 10–30 min 21% · 7
  • 30+ min 12% · 4

On-time by weekday

  • 71% M n=7
  • 20% T n=5
  • 50% W n=4
  • 80% T n=5
  • 60% F n=5
  • 0% S n=3
  • 50% S n=4

Stops and timetable

Timetable of the latest run from the operator’s GTFS (3 stops).

StopSched.Today
21:06Passed
21:26 / 21:33Passed
22:26Next

Each run is closed into train_runs (country, train number, service day) from the live positions. Final delay = last delay seen. Partial coverage: the feed stopped before the final stop (last value used, hatched in the chart). No data: a run without any valid delay; counts as neither on time nor late. Data collected since 11 July 2026.

Recent runs

DateLast stopFinalMax
Tue 27 OctZürich HB 21:49+3 min+3 min
Mon 26 OctZürich HB 23:13+46 min+50 min
Sun 25 OctZürich HB 22:33−28 min—
Sat 24 OctZürich HB 22:44+17 min+17 min
Fri 23 OctZürich HB 22:40+13 min+15 min
Thu 22 OctZürich HB 22:50+23 min+23 min
Wed 21 OctZürich HB 22:57+30 min+30 min
Tue 20 OctZürich HB 22:55+28 min+35 min
Mon 19 OctZürich HB 22:53+27 min+27 min
Fri 16 OctZürich HB 22:48−2 min—
Thu 15 OctZürich HB 22:45−4 min+15 min
Wed 14 OctZürich HB 22:41−8 min+5 min
Tue 13 OctZürich HB 22:57+8 min+19 min
Mon 12 OctZürich HB 22:41−8 min—
Sun 11 OctZürich HB 23:08+7 min+40 min
Fri 9 OctZürich HB 22:33+5 min+5 min
Thu 8 OctZürich HB 22:270 min—
Wed 7 OctZürich HB 22:30+3 min+3 min
Tue 6 OctZürich HB 22:36+9 min+9 min
Mon 5 OctZürich HB 22:30+3 min+5 min
Sun 4 OctZürich HB 23:01+18 min+30 min
Sat 3 OctZürich HB 22:27+35 min+35 min
Fri 2 OctZürich HB 22:25+2 min+5 min
Thu 24 SeptZürich HB 20:250 min+1 min
Wed 23 SeptZürich HB 22:25+34 min+34 min
Tue 22 SeptZürich HB 20:25+2 min+3 min
Sun 13 SeptZürich HB 22:590 min—
Mon 7 SeptZürich HB 22:59−1 min+1 min
Fri 28 AugZürich HB 22:250 min+2 min
Mon 10 AugZürich HB 22:250 min+2 min