EC 96 Bregenz – Zürich HB

View line EC

Bregenz 21:00 → Zürich HB 22:28 Daily 1 h 28 min · 6 stops SBB CFF FFS

Running now · updated 21:58

Between St. Gallen and Winterthur 0 min

Estimated arrival at Zürich HB 22:28 · 101 km/h

  1. Bregenz21:00
  2. St. Margrethen SG21:09
  3. St. Gallen21:28
  4. Winterthur22:01
  5. Zürich Flughafen22:17
  6. Zürich HB22:28

Today it is running no worse than usual: typical arrival delay is 0 min; 75% of the last 16 runs arrived on time.

On-time · 30 days
75%
12/16 runs under 3 min
RT coverage: 14 full · 2 partial · 0 no data
On-time · 90 days
80%
16/20 runs under 3 min
RT coverage: 18 full · 2 partial · 0 no data
Typical delay
0min
Median at arrival, 90 days
30 days: 0 min
P90
+27min
9 in 10 runs arrive with less than this
30 days: +38 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

  • Thu 15 Oct Max en route +56 min · last fix heading to Zürich Flughafen +56 min
  • Mon 12 Oct Max en route +64 min · last fix heading to Zürich Flughafen +51 min
  • Tue 13 Oct Max en route +24 min · last fix heading to Zürich HB +24 min
  • Fri 2 Oct Max en route +19 min · last fix heading to Fayot +18 min

Distribution · 90 days

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

  • Early 20% · 4
  • On time 60% · 12
  • 3–10 min 0% · 0
  • 10–30 min 10% · 2
  • 30+ min 10% · 2

On-time by weekday

  • 50% M n=2
  • 67% T n=3
  • 100% W n=3
  • 75% T n=4
  • 67% F n=3
  • 100% S n=3
  • 100% S n=2

Stops and timetable

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

StopSched.Today
21:00Passed
21:09 / 21:10Passed
21:28 / 21:29Passed
22:01 / 22:03Next
22:17 / 22:19
22:28

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
Sat 17 OctWinterthur 21:54Partial coverage0 min—
Fri 16 OctChampéry 00:43+2 min+2 min
Thu 15 OctZürich Flughafen 23:01Partial coverage+56 min+56 min
Wed 14 OctZürich HB 22:290 min—
Tue 13 OctZürich HB 22:29+24 min+24 min
Mon 12 OctZürich Flughafen 23:01+51 min+64 min
Sun 11 OctZürich HB 22:290 min+1 min
Sat 10 OctChampéry 00:40−2 min+1 min
Fri 9 OctChampéry 00:40−1 min—
Thu 8 OctZürich HB 22:290 min+1 min
Wed 7 OctZürich HB 22:29+1 min+3 min
Tue 6 OctZürich HB 22:290 min+3 min
Mon 5 OctZürich HB 22:31+2 min+3 min
Sun 4 OctZürich HB 22:290 min+2 min
Sat 3 OctChampéry 00:43+2 min+2 min
Fri 2 OctFayot 00:39+18 min+19 min
Thu 10 SeptZürich HB 22:270 min+2 min
Thu 27 AugTäsch 23:410 min+1 min
Wed 26 AugTäsch 23:41−1 min+2 min
Tue 25 AugTäsch 23:41−1 min+2 min