Train NS 666 Leeuwarden – Den Haag Centraal

Leeuwarden 17:46 → Den Haag Centraal 20:20 Daily 2 h 34 min · 9 stops NS (Nederlandse Spoorwegen)

It has not run yet today

Last recorded run: Monday 9 November +4 min

Next service: today 17:46 from Leeuwarden · Tue 10 Nov

Next departure 17:46 today · Leeuwarden
On-time · 30 days
88%
15/17 runs under 3 min
RT coverage: 8 full · 9 partial · 12 no data
On-time · 90 days
92%
22/24 runs under 3 min
RT coverage: 9 full · 15 partial · 64 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: +3 min

Last 30 days

Arrival delay at Den Haag 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

  • Fri 23 Oct Max en route +5 min · last fix heading to Amersfoort Centraal +5 min
  • Mon 9 Nov Max en route +4 min · last fix heading to Heerenveen +4 min

Distribution · 90 days

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

  • Early 0% · 0
  • On time 92% · 22
  • 3–10 min 8% · 2
  • 10–30 min 0% · 0
  • 30+ min 0% · 0

On-time by weekday

  • 83% M n=6
  • 100% T n=1
  • 100% W n=2
  • 100% T n=3
  • 75% F n=4
  • 100% S n=4
  • 100% S n=4

Stops and timetable

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

Last 90 days, 24 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
17:46on time on time
18:02≈ on time ≈ on time
18:16≈ on time ≈ on time
18:26≈ on time ≈ on time
18:41 / 18:49≈ on time ≈ on time
19:24 / 19:26≈ on time ≈ on time
19:39 / 19:43≈ on time ≈ +1 min
20:01 / 20:03≈ on time ≈ +1 min
20:20on 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
Mon 9 NovHeerenveen 20:28Partial coverage+4 min+4 min
Sun 8 NovLansingerland-Zoetermeer 20:270 min—
Sat 7 NovLansingerland-Zoetermeer 20:270 min—
Fri 6 NovMeppel 20:19Partial coverage+1 min+1 min
Thu 5 NovHeerenveen 20:20No data—
Wed 4 NovHeerenveen 20:22Partial coverage0 min—
Tue 3 NovHeerenveen 18:14No data—
Mon 2 NovHeerenveen 20:28Partial coverage0 min—
Sun 1 NovGouda 20:19Partial coverage0 min—
Sat 31 OctGouda 20:21Partial coverage0 min—
Fri 30 OctZwolle 20:24No data—
Thu 29 OctHeerenveen 20:21Partial coverage0 min—
Wed 28 OctHeerenveen 20:24No data—
Tue 27 OctHeerenveen 20:22No data—
Mon 26 OctHeerenveen 20:22Partial coverage0 min—
Sun 25 OctGouda 20:22No data—
Sat 24 OctGouda 20:300 min—
Fri 23 OctAmersfoort Centraal 20:32Partial coverage+5 min+5 min
Thu 22 OctMeppel 20:24No data—
Wed 21 OctMeppel 20:22No data—
Tue 20 OctMeppel 20:40No data—
Mon 19 OctMeppel 19:440 min—
Sun 18 OctUtrecht Overvecht 20:23+2 min+2 min
Sat 17 OctUtrecht Overvecht 20:22No data—
Fri 16 OctUtrecht Centraal 20:230 min—
Thu 15 OctMeppel 20:240 min—
Wed 14 OctUtrecht Centraal 20:32No data—
Tue 13 OctMeppel 20:28No data—
Mon 12 OctMeppel 20:210 min—
Sun 11 OctGouda 20:21Partial coverage+2 min+2 min