S4 11456 Sargans – Rapperswil SG

View line S4

Sargans 14:05 → Rapperswil SG 16:23 Daily 2 h 18 min · 30 stops SOB

Running now · updated 14:34

Position estimated from the timetable

Between Oberriet SG and Altstätten SG 0 min

Estimated arrival at Rapperswil SG 16:23 · 94 km/h

  1. Sargans14:05
  2. Oberriet SG14:33
  3. Altstätten SG14:38
  4. St. Margrethen SG14:52
  5. Goldach15:07
  6. St. Gallen Haggen15:30
  7. Rapperswil SG16:23

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

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

Last 30 days

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

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

Distribution · 90 days

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

  • Early 0% · 0
  • On time 100% · 54
  • 3–10 min 0% · 0
  • 10–30 min 0% · 0
  • 30+ min 0% · 0

On-time by weekday

  • 100% M n=9
  • 100% T n=8
  • 100% W n=7
  • 100% T n=8
  • 100% F n=6
  • 100% S n=7
  • 100% S n=9

Stops and timetable

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

Last 90 days, 54 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
14:05on time on timePassed
14:14≈ on time ≈ on timePassed
14:18 / 14:19≈ on time ≈ on timePassed
14:24≈ on time ≈ on timePassed
14:28≈ on time ≈ on timePassed
14:33≈ on time ≈ on timePassed
14:38≈ on time ≈ on timeNext
14:41≈ on time ≈ on time
14:45≈ on time ≈ on time
14:48≈ on time ≈ on time
14:52 / 14:53≈ on time ≈ on time
14:56≈ on time ≈ on time
14:59≈ on time ≈ on time
15:03≈ on time ≈ on time
15:04≈ on time ≈ on time
15:07≈ on time ≈ on time
15:11≈ on time ≈ on time
15:16≈ on time ≈ on time
15:20 / 15:27≈ on time ≈ +1 min
15:30≈ on time ≈ +1 min
15:35 / 15:36≈ on time ≈ +1 min
15:39≈ on time ≈ +1 min
15:44≈ on time ≈ +1 min
15:48≈ on time ≈ +1 min
15:51≈ on time ≈ +1 min
15:56≈ on time ≈ +1 min
16:00 / 16:01≈ on time ≈ +1 min
16:07≈ on time ≈ +1 min
16:12 / 16:13≈ on time ≈ +1 min
16:23on time +1 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
Fri 13 NovOberriet SG 14:29Partial coverage0 min—
Thu 12 NovRapperswil SG 16:240 min—
Wed 11 NovRapperswil SG 16:240 min—
Tue 10 NovRapperswil SG 16:240 min—
Mon 9 NovRapperswil SG 16:24+1 min+1 min
Sun 8 NovRapperswil SG 16:240 min—
Sat 7 NovRapperswil SG 16:240 min—
Fri 6 NovRapperswil SG 16:240 min—
Thu 5 NovRapperswil SG 16:240 min—
Wed 4 NovRapperswil SG 16:240 min—
Tue 3 NovRapperswil SG 16:240 min—
Mon 2 NovRapperswil SG 16:24+1 min—
Sun 1 NovRapperswil SG 16:240 min—
Sat 31 OctRapperswil SG 16:23−1 min—
Fri 30 OctRapperswil SG 16:240 min—
Thu 29 OctRapperswil SG 16:25+1 min—
Wed 28 OctRapperswil SG 16:26+2 min+2 min
Tue 27 OctRapperswil SG 16:240 min—
Mon 26 OctRapperswil SG 16:250 min—
Sun 25 OctRapperswil SG 16:230 min—
Sat 24 OctRapperswil SG 16:25+1 min—
Fri 23 OctRapperswil SG 16:240 min—
Thu 22 OctRapperswil SG 16:25+1 min—
Wed 21 OctRapperswil SG 16:240 min—
Tue 20 OctRapperswil SG 16:240 min—
Mon 19 OctRapperswil SG 16:240 min—
Sun 18 OctRapperswil SG 16:25+1 min—
Sat 17 OctRapperswil SG 16:240 min—
Fri 16 OctRapperswil SG 16:250 min—
Thu 15 OctRapperswil SG 16:25+1 min+1 min