S24 20468 Zug – Weinfelden

View line S24

Zug 17:34 → Weinfelden 19:22 Daily 1 h 48 min · 28 stops SBB CFF FFS

Running now · updated 18:27

Between Zürich Flughafen and Bassersdorf 0 min

Estimated arrival at Weinfelden 19:22 · 32 km/h

  1. Zug17:34
  2. Rüschlikon17:53
  3. Zürich Wiedikon18:04
  4. Zürich Flughafen18:26
  5. Bassersdorf18:31
  6. Oberwinterthur18:52
  7. Weinfelden19:22

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

On-time · 30 days
90%
27/30 runs under 3 min
RT coverage: 29 full · 1 partial · 0 no data
On-time · 90 days
93%
62/67 runs under 3 min
RT coverage: 66 full · 1 partial · 2 no data
Typical delay
+1min
Median at arrival, 90 days
30 days: +2 min
P90
+2min
9 in 10 runs arrive with less than this
30 days: +3 min

Last 30 days

Arrival delay at Weinfelden, in minutes. One bar per run.

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

Worst days

  • Wed 21 Oct Max en route +5 min · last fix heading to Weinfelden +5 min
  • Sat 17 Oct Max en route +4 min · last fix heading to Weinfelden +4 min
  • Tue 6 Oct Max en route +4 min · last fix heading to Weinfelden +4 min
  • Tue 25 Aug Max en route +3 min · last fix heading to Weinfelden +3 min
  • Sat 24 Oct Max en route +3 min · last fix heading to Weinfelden +3 min

Distribution · 90 days

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

  • Early 1% · 1
  • On time 91% · 61
  • 3–10 min 7% · 5
  • 10–30 min 0% · 0
  • 30+ min 0% · 0

On-time by weekday

  • 100% M n=7
  • 82% T n=11
  • 92% W n=13
  • 100% T n=10
  • 100% F n=8
  • 78% S n=9
  • 100% S n=9

Stops and timetable

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

Last 90 days, 67 runs. At intermediate stops it is an estimate from the delay at origin and destination. Delays over 2 h count as “> 2 h”: our data does not measure them exactly.

StopSched.Usually 9 days in 10Today
17:34on time on timePassed
17:37≈ on time ≈ on timePassed
17:45≈ on time ≈ +1 minPassed
17:47≈ on time ≈ +1 minPassed
17:51≈ on time ≈ +1 minPassed
17:53≈ on time ≈ +1 minPassed
17:55≈ on time ≈ +1 minPassed
17:59≈ on time ≈ +1 minPassed
18:02 / 18:03≈ on time ≈ +1 minPassed
18:04≈ on time ≈ +1 minPassed
18:09 / 18:14≈ on time ≈ +1 minPassed
18:17≈ on time ≈ +1 minPassed
18:21 / 18:22≈ on time ≈ +1 minPassed
18:26 / 18:27≈ +1 min ≈ +1 minPassed
18:31≈ +1 min ≈ +1 minNext
18:36 / 18:38≈ +1 min ≈ +1 min
18:41≈ +1 min ≈ +2 min
18:46 / 18:48≈ +1 min ≈ +2 min
18:52≈ +1 min ≈ +2 min
18:54≈ +1 min ≈ +2 min
18:56≈ +1 min ≈ +2 min
19:00≈ +1 min ≈ +2 min
19:04≈ +1 min ≈ +2 min
19:07≈ +1 min ≈ +2 min
19:10≈ +1 min ≈ +2 min
19:14≈ +1 min ≈ +2 min
19:17≈ +1 min ≈ +2 min
19:22+1 min +3 min

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.

Will I make my connection?

Pick where you get off and how many minutes you have until your next train. We work it out from what this train did over the last 90 days.

Include the time to change platforms. It is an estimate from past data, not a guarantee. Days more than 2 h late count as a missed connection.

Recent runs

DateLast stopFinalMax
Sat 7 NovZürich Flughafen 18:24Partial coverage0 min—
Fri 6 NovWeinfelden 19:23+1 min—
Thu 5 NovWeinfelden 19:24+1 min+1 min
Wed 4 NovWeinfelden 19:24+2 min+2 min
Tue 3 NovWeinfelden 19:230 min—
Mon 2 NovWeinfelden 19:24+1 min+1 min
Sun 1 NovWeinfelden 19:24+2 min+2 min
Sat 31 OctWeinfelden 19:25+2 min+2 min
Fri 30 OctWeinfelden 19:24+1 min—
Thu 29 OctWeinfelden 19:230 min—
Wed 28 OctWeinfelden 19:25+2 min+2 min
Tue 27 OctWeinfelden 19:25+2 min+2 min
Mon 26 OctWeinfelden 19:25+2 min+2 min
Sun 25 OctWeinfelden 19:23+1 min—
Sat 24 OctWeinfelden 19:26+3 min+3 min
Fri 23 OctWeinfelden 19:25+2 min+2 min
Thu 22 OctWeinfelden 19:25+2 min+2 min
Wed 21 OctWeinfelden 19:28+5 min+5 min
Tue 20 OctWeinfelden 19:25+2 min+2 min
Mon 19 OctWeinfelden 19:25+2 min+2 min
Sun 18 OctWeinfelden 19:230 min—
Sat 17 OctWeinfelden 19:27+4 min+4 min
Fri 16 OctWeinfelden 19:25+2 min+2 min
Thu 15 OctWeinfelden 19:230 min—
Wed 14 OctWeinfelden 19:25+2 min+2 min
Tue 13 OctWeinfelden 19:25+1 min+1 min
Mon 12 OctWeinfelden 19:24+1 min+1 min
Sun 11 OctWeinfelden 19:24+1 min—
Sat 10 OctWeinfelden 19:26+3 min+3 min
Fri 9 OctWeinfelden 19:26+3 min+3 min