
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.
Book International Rail Tickets to/from NetherlandsYou can book international rail tickets at the Trainline site here, a leading European site which offers payment in 10 different currencies. You can also make bookings for all the international train services listed below from Amsterdam or connecting from any Dutch city at the NS International site (payment in euros only). |
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 Eurostar and Eurocity Direct trains on the Amsterdam-Brussels/Paris/London routes.
The first station on the Belgian side is Noorderkempen although most fast trains do not stop there.

3. Maastricht-Visé border
Arriva 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 34 minutes.

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 Heerlen runs an hourly Arriva stopping train to the German city of Aachen. The train runs via Landgraaf and Eygelshoven Markt on the Dutch side. It stops at the German border town of Herzogenrath before terminating at Aachen Hbf. The Heerlen-Aachen journey takes 25 minutes.

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 (RE13 operated by EuroBahn) which runs hourly to the city of Hamm in the North Rhine-Westphalia region. This 160km trip takes almost 2 hours 30 mins and is known as the Maas-Wupper Express.
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 4 mins), 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 Amsterdam-Frankfurt ICE service which makes stops at Utrecht, Arnhem Centraal, Oberhausen Hbf, Duisburg Hbf, Düsseldorf Hbf, Köln Hbf and Frankfurt airport.
There is a VIAS-branded (RE-19) Arnhem-Düsseldorf train service which stops at the Dutch border station of Zenvenaar and reaches Emmerich in 22 minutes.
The total journey time is 2 hours 4 mins and the train makes a number of stops including Emmerich, 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 11 mins. The border stations are Glanerbrug (NL) and Gronau(Westf) (DE).
There is also an hourly DB service between Enschede and Dortmund (2 hour 3 mins trip).

8. Hengelo-Bad Bentheim border
There is an hourly rail service (RB-61) run by Eurobahn between the eastern Dutch city of Hengelo and Bielefeld Hbf in Germany, a 145km journey which takes 2 hours 3 mins 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(Westf).

The Bad Bentheim border is also used by the Amsterdam-Berlin ICE service
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) and Leer.
The Dutch border stop is Bad Nieuweschans.
Note, the rail track between Bad Nieuweschans and Weener is closed for maintenance until at least 30 June 2026 – a replacement bus service is running.
This article was originally published in 2013. Last checked and updated 26 February 2026.
Links on AmsterdamTips.com may pay us an affiliate commission.





