Train NS 3187 Den Haag Centraal – Utrecht Centraal

Den Haag Centraal 22:30 → Utrecht Centraal 23:33 Daily 1 h 03 min · 6 stops NS (Nederlandse Spoorwegen)

Running now · updated 23:25

Heading to Utrecht Centraal 0 min

Estimated arrival at Utrecht Centraal 23:33 · 13 km/h

  1. Den Haag Centraal22:30
  2. Leiden Centraal22:42
  3. Schiphol Airport23:00
  4. Amsterdam Zuid23:09
  5. Amsterdam Bijlmer ArenA23:16
  6. Utrecht Centraal23:33

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

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

Last 30 days

Arrival delay at Utrecht Centraal, 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 7 Oct Max en route +8 min · last fix heading to — +7 min
  • Mon 12 Oct Max en route +4 min · last fix heading to — +4 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 80% · 8
  • 3–10 min 20% · 2
  • 10–30 min 0% · 0
  • 30+ min 0% · 0

On-time by weekday

  • 50% M n=2
  • 100% T n=2
  • 50% W n=2
  • 100% T n=2
  • — F n=0
  • 100% S n=1
  • 100% S n=1

Stops and timetable

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

StopSched.Today
22:30
22:42 / 22:44
23:00 / 23:03
23:09 / 23:11
23:16 / 23:17
23:33

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.

Recent runs

DateLast stopFinalMax
Thu 15 Oct— 23:240 min—
Wed 14 Oct— 23:340 min—
Tue 13 Oct— 23:350 min—
Mon 12 Oct— 23:41+4 min+4 min
Sun 11 Oct's-Hertogenbosch 00:360 min+4 min
Sat 10 Oct— 00:170 min—
Fri 9 Oct— 22:42No data—
Thu 8 Oct— 23:350 min—
Wed 7 Oct— 23:49+7 min+8 min
Tue 6 Oct— 23:37+2 min+2 min
Mon 5 Oct— 23:360 min—
Sun 4 OctAmsterdam Bijlmer ArenA 23:31No data—
Sat 3 OctAmsterdam Bijlmer ArenA 23:33No data—
Sun 27 SeptAmsterdam Bijlmer ArenA 23:32No data—
Sat 26 SeptAmsterdam Bijlmer ArenA 23:31No data—
Sun 20 SeptAmsterdam Bijlmer ArenA 23:31No data—
Sat 19 SeptSchiphol Airport 23:08No data—
Sun 13 SeptAmsterdam Bijlmer ArenA 23:31No data—
Sat 12 SeptAmsterdam Bijlmer ArenA 23:31No data—
Sun 6 SeptAmsterdam Bijlmer ArenA 23:32No data—
Sat 5 SeptLeiden Centraal 22:59No data—
Sun 30 AugAmsterdam Bijlmer ArenA 23:31No data—
Sat 29 AugDen Haag Centraal 22:45No data—
Sun 23 AugEde-Wageningen 00:17No data—
Sat 22 AugVeenendaal-De Klomp 00:11No data—
Sun 16 AugAmsterdam Bijlmer ArenA 23:42No data—
Sat 15 AugAmsterdam Bijlmer ArenA 23:21No data—
Sun 9 AugAmsterdam Bijlmer ArenA 23:31No data—
Sat 8 AugAmsterdam Bijlmer ArenA 23:27No data—
Sun 2 AugAmsterdam Bijlmer ArenA 23:31No data—