The Netherlands has a number of rail tracks that cross international borders into either Germany or Belgium.
In this article we overview all cross-border rail services currently operating including the less known local stopping services. This could be useful for those with rail passes such as the Interrail ticket who wish to use local/regional trains.
Note that there is likely to be ongoing changes to service frequencies due to the ‘coronavirus’ measures.
Dutch rail network: international connections map
On the following map (source: NS) we have highlighted all 9 international rail border crossing points in the Netherlands. There are 3 passenger train tracks that go from the Netherlands into Belgium; the remaining 6 tracks cross the Dutch-German border.
1. Roosendaal-Essen border
This is the standard rail line linking Roosendaal and Antwerp. It is used by the hourly NMBS/SNCB (Belgian Rail) stopping train service from Roosendaal to Puurs. The train runs via the Belgian border town of Essen. The journey to Antwerpen Centraal takes around 48 minutes. It also stops at Antwerpen Berchem station.
2. Dutch-Belgian High Speed Line (HSL) border
The HSL Zuid/HSL4 high speed line runs Schiphol Airport-Rotterdam-Antwerp with a branch to Breda. It crosses the border east of the standard Roosendaal-Essen track. The line is served by Thalys, Eurostar and Intercity Brussels trains on the Amsterdam-Brussels/Paris/London routes. The first station on the Belgian side is Noorderkempen.
3. Maastricht-Visé border
NMBS/SNCB runs a stopping train service between Maastricht and Liège-Guillemins (known as Luik in Dutch). The border stations are Eijsden (NL) and Visé (BE). The service runs hourly and takes 32 minutes. Sometimes the train can go on to Hasselt (BE).
The spectacular Liège-Guillemins station opened in 2009 and has a 160m long monumental arch which is 32m high, housing 5 platforms. For more see our Amsterdam-Liège travel page.
4. Heerlen-Herzogenrath border
From Maastricht runs an hourly Arriva stopping train to the German city of Aachen. The train runs via Meerssen, Valkenburg, Heerlen, Landgraaf and Eygelshoven Markt on the Dutch side. It stops at the German border town of Herzogenrath before terminating at Aachen Hbf. The Maastricht-Aachen journey takes 1 hour.
5. Venlo-Kaldenkirchen border
Venlo is a city in the south of the Netherlands close to the German border. There is a stop train service (operated by Keolis-EuroBahn) which runs hourly to the city of Hamm in the North Rhine-Westphalia region. This 160km trip takes almost 2 hours 30 minutes.
The first German border station is Kaldenkirchen and the train makes stops (amongst others) in Mönchengladbach Hbf, Neuss Hbf, Düsseldorf Hbf (1 hour 3 minutes), Wuppertal Hbf and Hagen Hbf.
6. Arnhem-Emmerich border
Emmerich is a German border town connected by rail to Arnhem. This track is used by the high speed ICE International service between Amsterdam and Frankfurt which makes stops at Utrecht, Arnhem Centraal, Oberhausen Hbf, Duisburg Hbf, Düsseldorf Hbf, Köln Hbf and Frankfurt airport.
There is an Arnhem-Düsseldorf train service run by Abellio which stops at the Dutch border staion of Zenvenaar and reaches Emmerich in 22 minutes. The total journey time is 1 hour 48 minutes and the train makes a number of stops including Empel-Rees, Wesel, Oberhausen Hbf, Duisburg Hbf and Düsseldorf Airport before terminating at Düsseldorf Hbf.
7. Enschede-Gronau border
From the eastern Dutch city of Enschede runs an hourly DB (German Rail) service to Münster Hbf, a journey which takes around 1 hour 12 minutes. The border stations are Glanerbrug (NL) and Gronau (DE). There is also an hourly DB service between Enschede and Dortmund (2 hour trip).
8. Hengelo-Bad Bentheim border
There is an hourly rail service run by Keolis-Eurobahn between the eastern Dutch city of Hengelo and Bielefeld Hbf in Germany, a journey which takes 2 hours 14 minutes in total. The train stops at Oldenzaal (Dutch border side) and Bad Bentheim (German border town, after 18 minutes). It continues as a stopping service to Bielefeld and includes stops at Rheine, Osnabrück Hbf and Bünde.
The Bad Bentheim border is also used by the Amsterdam-Berlin Intercity (IC) 5-6x daily service. For further info see our guide international trains to/from Amsterdam
9. Groningen-Weener border
Groningen is a major city in the north-east of the Netherlands. From there you can take an hourly Arriva stop train service to the German border town of Weener (Ostfriesland). The trip takes about 1 hour and the Dutch border stop is Bad Nieuweschans.
How To Book Tickets
You can check timetables, prices and make bookings for all international train services including Eurostar, Thalys, TGV, ICE at the NS International site
This article was originally published in 2013 and has continuously been updated. Last update 19 October 2020.