SN22 13628 Heerbrugg – Wil SG

View line SN22

Heerbrugg 03:05 → Wil SG 04:07 Sat, Sun 1 h 02 min · 17 stops Thurbo

Running now · updated 03:52

Between Gossau SG and Flawil 0 min

Estimated arrival at Wil SG 04:07 · 106 km/h

  1. Heerbrugg03:05
  2. Rheineck03:14
  3. Rorschach03:21
  4. Mörschwil03:30
  5. Gossau SG03:49
  6. Flawil03:54
  7. Wil SG04:07

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

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

Last 30 days

Arrival delay at Wil SG, in minutes. One bar per run.

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

Worst days

  • Sat 17 Oct Max en route +6 min · last fix heading to Wil SG +6 min

Distribution · 90 days

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

  • Early 0% · 0
  • On time 90% · 9
  • 3–10 min 10% · 1
  • 10–30 min 0% · 0
  • 30+ min 0% · 0

On-time by weekday

  • — M n=0
  • — T n=0
  • — W n=0
  • — T n=0
  • — F n=0
  • 80% S n=5
  • 100% S n=5

Stops and timetable

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

Last 90 days, 10 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
03:05on time +1 minPassed
03:08≈ on time ≈ +1 minPassed
03:11≈ on time ≈ +1 minPassed
03:14≈ on time ≈ +1 minPassed
03:17≈ on time ≈ +1 minPassed
03:21 / 03:22≈ on time ≈ +1 minPassed
03:24≈ on time ≈ +1 minPassed
03:26≈ on time ≈ +1 minPassed
03:30≈ on time ≈ +1 minPassed
03:36≈ on time ≈ +1 minPassed
03:39 / 03:40≈ on time ≈ +1 minPassed
03:43≈ on time ≈ +1 minPassed
03:45≈ on time ≈ +2 minPassed
03:49 / 03:51≈ on time ≈ +2 minPassed
03:54≈ on time ≈ +2 minNext
03:59≈ on time ≈ +2 min
04:07on time +2 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 NovGossau SG 03:49Partial coverage0 min—
Sun 1 NovWil SG 04:09+1 min—
Sat 31 OctWil SG 04:080 min—
Sun 25 OctWil SG 04:070 min—
Sat 24 OctWil SG 04:080 min—
Sun 18 OctWil SG 04:10+1 min+1 min
Sat 17 OctWil SG 04:15+6 min+6 min
Sun 11 OctWil SG 04:09+1 min+1 min
Sat 10 OctWil SG 04:090 min—
Mon 5 OctWil SG 04:09No data—
Sun 4 OctWil SG 04:080 min—