Train NS 8812 Utrecht Centraal – Bodegraven

Utrecht Centraal 05:54 → Bodegraven 06:15 Mon, Tue, Wed, Thu 0 h 21 min · 4 stops NS (Nederlandse Spoorwegen)

It does not run today

Last recorded run: Thursday 12 November +19 min

Next service: Monday 05:54 from Utrecht Centraal · Mon 16 Nov

Next departure 05:54 Monday · Utrecht Centraal
On-time · 30 days
93%
13/14 runs under 3 min
RT coverage: 9 full · 5 partial · 2 no data
On-time · 90 days
90%
18/20 runs under 3 min
RT coverage: 15 full · 5 partial · 30 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 Bodegraven, 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 12 Nov Max en route +19 min · last fix heading to Woerden +19 min
  • Mon 12 Oct Max en route +6 min · last fix heading to Utrecht Leidsche Rijn +6 min

Distribution · 90 days

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

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

On-time by weekday

  • 67% M n=3
  • 100% T n=5
  • 100% W n=6
  • 83% T n=6
  • — F n=0
  • — S n=0
  • — S n=0

Stops and timetable

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

Last 90 days, 20 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 10
05:54on time on time
05:58≈ on time ≈ +1 min
06:06 / 06:07≈ on time ≈ +2 min
06:15on 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
Thu 12 NovWoerden 06:44Partial coverage+19 min+19 min
Wed 11 NovWoerden 06:23+2 min+3 min
Tue 10 NovWoerden 06:19+2 min+2 min
Mon 9 NovWoerden 06:190 min—
Thu 5 NovWoerden 06:19Partial coverage0 min—
Wed 4 NovWoerden 06:190 min—
Tue 3 NovWoerden 06:19+1 min—
Mon 2 NovWoerden 06:19No data—
Thu 29 OctWoerden 06:21Partial coverage0 min—
Wed 28 OctWoerden 06:210 min—
Tue 27 OctWoerden 06:220 min—
Mon 26 OctWoerden 06:22+1 min—
Thu 22 OctWoerden 06:21Partial coverage0 min+1 min
Wed 21 OctWoerden 06:210 min—
Tue 20 OctWoerden 06:21No data—
Thu 15 OctWoerden 06:21Partial coverage0 min—
Wed 14 OctWoerden 06:210 min—
Tue 13 OctWoerden 06:210 min—
Mon 12 OctUtrecht Leidsche Rijn 06:20+6 min+6 min
Thu 8 OctLeiden Lammenschans 06:470 min—
Wed 7 OctLeiden Lammenschans 06:48+2 min+2 min
Tue 6 OctLeiden Lammenschans 06:48+1 min—
Thu 1 OctLeiden Lammenschans 06:47No data—
Wed 30 SeptLeiden Lammenschans 06:47No data—
Tue 29 SeptLeiden Lammenschans 06:47No data—
Mon 28 SeptLeiden Lammenschans 06:47No data—
Thu 24 SeptLeiden Lammenschans 06:47No data—
Wed 23 SeptLeiden Lammenschans 06:47No data—
Tue 22 SeptLeiden Lammenschans 06:47No data—
Mon 21 SeptLeiden Lammenschans 06:47No data—