S21 7863 Solothurn – Moutier

View line S21

Solothurn 16:32 → Moutier 17:05 Daily 0 h 33 min · 12 stops SBB CFF FFS

Running now · updated 16:49

Between Oberdorf SO and Gänsbrunnen 0 min

Estimated arrival at Moutier 17:05 · 62 km/h

  1. Solothurn16:32
  2. Langendorf16:36
  3. Im Holz16:43
  4. Oberdorf SO16:46
  5. Gänsbrunnen16:50
  6. Crémines-Zoo16:51
  7. Moutier17:05

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

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

Last 30 days

Arrival delay at Moutier, 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 +5 min · last fix heading to Moutier +5 min

Distribution · 90 days

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

  • Early 0% · 0
  • On time 97% · 37
  • 3–10 min 3% · 1
  • 10–30 min 0% · 0
  • 30+ min 0% · 0

On-time by weekday

  • 83% M n=6
  • 100% T n=5
  • 100% W n=5
  • 100% T n=5
  • 100% F n=5
  • 100% S n=5
  • 100% S n=7

Stops and timetable

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

Last 90 days, 38 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
16:32on time on timePassed
16:33 / 16:34≈ on time ≈ on timePassed
16:36≈ on time ≈ on timePassed
16:40≈ on time ≈ on timePassed
16:43≈ on time ≈ +1 minPassed
16:46≈ on time ≈ +1 minPassed
16:50≈ on time ≈ +1 minNext
16:51≈ on time ≈ +1 min
16:54≈ on time ≈ +1 min
16:57 / 16:59≈ on time ≈ +1 min
17:00≈ on time ≈ +1 min
17:05+1 min +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
Mon 9 NovGänsbrunnen 16:49Partial coverage0 min—
Sun 8 NovMoutier 17:07+1 min—
Sat 7 NovMoutier 17:040 min—
Fri 6 NovMoutier 17:07+1 min+1 min
Thu 5 NovMoutier 17:07+1 min—
Wed 4 NovMoutier 17:07+1 min+1 min
Tue 3 NovMoutier 17:08+2 min+2 min
Mon 2 NovMoutier 17:07+1 min—
Sun 1 NovMoutier 17:07+1 min—
Sat 31 OctMoutier 17:060 min—
Fri 30 OctMoutier 17:060 min—
Thu 29 OctMoutier 17:07+1 min—
Wed 28 OctMoutier 17:050 min—
Tue 27 OctMoutier 17:07+1 min—
Mon 26 OctMoutier 17:12+5 min+5 min
Sun 25 OctMoutier 17:060 min—
Sat 24 OctMoutier 17:060 min—
Fri 23 OctMoutier 17:06+1 min—
Thu 22 OctMoutier 17:07+1 min—
Wed 21 OctMoutier 17:060 min—
Tue 20 OctMoutier 17:08+2 min+2 min
Mon 19 OctMoutier 17:060 min—
Sun 18 OctMoutier 17:060 min—
Sat 17 OctMoutier 17:060 min—
Fri 16 OctMoutier 17:08+2 min+2 min
Thu 15 OctMoutier 17:060 min—
Wed 14 OctMoutier 17:07+1 min—
Tue 13 OctMoutier 17:08+1 min+1 min
Mon 12 OctMoutier 17:060 min—
Sun 11 OctMoutier 17:060 min—