Train NS Int 222 Frankfurt (M) Hbf – Amsterdam Centraal

Frankfurt (M) Hbf 05:34 → Amsterdam Centraal 09:29 Daily 3 h 55 min · 8 stops NS Int

✓ Today’s run finished

Today, last fix heading to Utrecht Centraal at 10:12 0 min

  1. Frankfurt (M) Hbf05:34
  2. Frankfurt Flughafen Fernb05:45
  3. Siegburg/Bonn06:27
  4. Düsseldorf Hbf07:11
  5. Arnhem Centraal08:26
  6. Utrecht Centraal08:59
  7. Amsterdam Centraal09:29

Next service: tomorrow 05:34 from Frankfurt (M) Hbf · Sat 17 Oct

Next departure 05:34 tomorrow · Frankfurt (M) Hbf
On-time · 30 days
29%
2/7 runs under 3 min
RT coverage: 6 full · 1 partial · 23 no data
On-time · 90 days
29%
2/7 runs under 3 min
RT coverage: 6 full · 1 partial · 82 no data
Typical delay
+19min
Median at arrival, 90 days
30 days: +19 min
P90
+27min
9 in 10 runs arrive with less than this
30 days: +27 min

Last 30 days

Arrival delay at Amsterdam 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 9 Oct Max en route +34 min · last fix heading to Utrecht Centraal +34 min
  • Tue 6 Oct Max en route +26 min · last fix heading to Utrecht Centraal +22 min
  • Thu 15 Oct Max en route +21 min · last fix heading to Utrecht Centraal +21 min
  • Wed 7 Oct Max en route +21 min · last fix heading to Utrecht Centraal +19 min
  • Thu 8 Oct Max en route +9 min · last fix heading to Utrecht Centraal +8 min

Distribution · 90 days

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

  • Early 0% · 0
  • On time 29% · 2
  • 3–10 min 14% · 1
  • 10–30 min 43% · 3
  • 30+ min 14% · 1

On-time by weekday

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

Stops and timetable

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

StopSched.
05:34
05:45 / 05:48
06:27 / 06:29
06:43 / 06:49
07:11 / 07:13
08:26 / 08:28
08:59 / 09:02
09:29

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
Fri 16 OctUtrecht Centraal 10:12Partial coverage0 min—
Thu 15 OctUtrecht Centraal 09:40+21 min+21 min
Wed 14 OctUtrecht Centraal 10:28No data—
Tue 13 OctUtrecht Centraal 10:16No data—
Mon 12 OctUtrecht Centraal 09:590 min—
Sun 11 OctUtrecht Centraal 09:45No data—
Sat 10 OctUtrecht Centraal 09:53No data—
Fri 9 OctUtrecht Centraal 09:47+34 min+34 min
Thu 8 OctUtrecht Centraal 09:26+8 min+9 min
Wed 7 OctUtrecht Centraal 09:39+19 min+21 min
Tue 6 OctUtrecht Centraal 09:43+22 min+26 min
Mon 5 OctArnhem Centraal 09:04No data—
Sun 4 OctArnhem Centraal 08:56No data—
Sat 3 OctArnhem Centraal 08:58No data—
Fri 2 OctUtrecht Centraal 09:43No data—
Thu 1 OctUtrecht Centraal 09:18No data—
Wed 30 SeptUtrecht Centraal 09:19No data—
Tue 29 SeptUtrecht Centraal 09:33No data—
Mon 28 SeptUtrecht Centraal 09:38No data—
Sun 27 SeptUtrecht Centraal 09:23No data—
Sat 26 SeptUtrecht Centraal 10:14No data—
Fri 25 SeptUtrecht Centraal 09:28No data—
Thu 24 SeptUtrecht Centraal 09:37No data—
Wed 23 SeptUtrecht Centraal 09:44No data—
Tue 22 SeptUtrecht Centraal 09:37No data—
Mon 21 SeptUtrecht Centraal 09:28No data—
Sun 20 SeptUtrecht Centraal 09:28No data—
Sat 19 SeptUtrecht Centraal 09:16No data—
Fri 18 SeptUtrecht Centraal 09:17No data—
Thu 17 SeptUtrecht Centraal 09:31No data—