Train stations in Haarlem
Haarlem station is the main stop for the city centre, with frequent trains to Amsterdam, Leiden and Rotterdam; Haarlem Spaarnwoude is a small eastern stop.

- Stations
- 2
- Primary station
- Haarlem station
- Passenger operators
- 2
Haarlem station is the one you want for the old town, and the Grote Markt is a short walk from the exit.
Which Haarlem station to use
Haarlem has two stations, and for nearly every visitor the choice is easy. Haarlem station is close to the historic centre and is where Intercity and Sprinter trains from Amsterdam, Leiden, The Hague and Rotterdam stop. Haarlem Spaarnwoude is a small stop on the eastern edge of the city, well away from the sights.
Book to Haarlem station unless your hotel or event is specifically out east. The two stations are one stop apart on the same line, so a wrong booking is easy to fix, but it costs time if you have luggage.
Haarlem station
The Amsterdam to Haarlem line was the first railway in the Netherlands. The station building dates from about 1906, is the only Art Nouveau station in the country and is a listed monument, so it is worth a look before you walk out. The tracks run on a raised viaduct above the streets.
Two kinds of train call here. Intercity trains link Haarlem with Amsterdam Centraal in one direction and Leiden, The Hague and Rotterdam in the other, with several departures an hour through the day. Sprinter trains stop at every station, so they take longer, but they are the ones that run out to Zandvoort aan Zee on the coast. For a quick trip between Haarlem and Amsterdam either type is fine. Take whichever leaves first.
Platforms can change on the day, so read the departure board when you arrive instead of relying on the platform you saw at booking.
Train times from the main hubs
Haarlem is on the busy corridor between Amsterdam and the southwest of the country, so there is no need to plan around a single departure. The times below are typical journey times, and the last column shows which journeys need a change.
| Route | Typical journey | Change needed |
|---|---|---|
| Amsterdam Centraal to Haarlem | About 15 to 20 minutes | No |
| Haarlem to Leiden Centraal | About 20 to 25 minutes | No |
| Haarlem to The Hague Centraal | About 35 to 40 minutes | No |
| Haarlem to Rotterdam Centraal | About 58 minutes | No |
| Haarlem to Utrecht Centraal | About 50 minutes | Yes |
| Haarlem to Amsterdam Schiphol Airport | About 30 minutes | Usually one |
Utrecht and Schiphol usually need one change from Haarlem, so build in a few minutes of margin. The NS journey planner shows the best connection for your departure time.
Rotterdam is the longest of the everyday direct runs from Haarlem, and the direct Intercity is the simplest way to make it.
International connections
Haarlem has no international departures of its own to plan around. Eurostar to London, ICE trains to Germany and Nightjet services leave from Amsterdam Centraal, roughly 15 to 20 minutes away by train. If you are staying in Haarlem and leaving the country by rail, allow enough time for the local train and the walk across Amsterdam Centraal, particularly for Eurostar, which has its own check-in and security process.
From the station to the centre
Haarlem is compact, and most visitors never need a bus. From the station, the historic centre with its courtyards, the Grote Markt and St. Bavo's Church is a short walk. The Frans Hals Museum and Teylers Museum are also within a comfortable walk of the centre, so a day trip works well on foot.
The old town is flat, so cycling is also common if you want to cover more ground.
Haarlem Spaarnwoude
Haarlem Spaarnwoude is a small stop east of the centre, one stop from Haarlem station on the line towards Amsterdam.
The station is useful if your accommodation is near the eastern edge of Haarlem. The train from Haarlem Spaarnwoude to Amsterdam takes about 15 minutes, with fares from €5.30 for an NS e-ticket. To reach the historic centre, take the Sprinter one stop west to Haarlem station and walk from there.
Tickets and fares
Domestic trains in the Netherlands do not have compulsory seat reservations, so you can board any Intercity or Sprinter with a valid ticket or a tap-in. NS sells e-tickets online, and fares vary by distance. Haarlem Spaarnwoude to Amsterdam starts at €5.30, and Haarlem to Rotterdam starts at €16.40 for an e-ticket.
For an occasional trip, the simplest method is to tap in and out with a contactless bank card or phone at the gates. Use the same card or device at both ends, because a missed tap-out leaves an unfinished journey on the record. If you would rather have a ticket, an NS e-ticket on your phone is another option.
Eurail and Interrail pass holders can use these domestic trains on their travel days without a reservation.
A day at the coast
Haarlem is the usual start for a beach day at Zandvoort aan Zee. A Sprinter runs from Haarlem to Zandvoort aan Zee, taking about 10 minutes. On hot weekends the trains fill up, so avoid the late afternoon rush back to Haarlem if you can.
Things that catch travellers out
- Check the destination on the display before you board. Trains from the same platform at Haarlem can head to different places, and some end at Zandvoort aan Zee rather than continuing.
- Do not mix up Haarlem and Haarlem Spaarnwoude when you buy a ticket. The names are close and both appear in journey planners.
- Sprinters and Intercity trains stop at different stations. A Sprinter is slower on the Amsterdam to Haarlem run, but it is the only option to and from the smaller stations.
- Planned engineering work can close parts of the Amsterdam to Haarlem line. The NS journey planner shows replacement buses and changed platforms for the day of travel.
Where to book
Train tickets
- Check times & prices
Omio
Omio connects you with over 1,000 transport providers - trains, buses, flights, and more - to simplify your travel planning.
Rail Europe
Rail Europe is a leading travel tech company specializing in European train bookings for over 15,000 travel professionals worldwide.
Trainline
Trainline sells rail and coach tickets worldwide on behalf of major UK and European transport companies.
Passenger train operators
- Check times & prices
Deutsche Bahn (DB) is Germany's national railway, running ICE, IC and regional trains with Flexpreis, Sparpreis and Super Sparpreis fares.
Official website - Check times & prices
NS runs the Netherlands' domestic Intercity and Sprinter network, while NS International connects Belgium, Germany and beyond; Eurostar requires reservations.
Official website
Train stations in Haarlem
Find places to stay in Haarlem

Frequently asked questions
Is there a direct train from Amsterdam to Haarlem?
Yes. Intercity and Sprinter trains run direct from Amsterdam Centraal to Haarlem and take roughly 15 to 20 minutes. With several trains an hour, take whichever leaves first.
Do I need to book Haarlem train tickets in advance?
No. Domestic Dutch trains have no compulsory seat reservations, so you can buy an NS e-ticket on the day or simply tap in with a contactless card. International trains such as Eurostar are booked separately from Amsterdam Centraal.
Which Haarlem station is best for a day trip from Amsterdam?
Haarlem station. It is a short walk from the historic centre, museums and St. Bavo's Church, and it has the widest choice of trains back to Amsterdam. Haarlem Spaarnwoude is on the same line but sits on the eastern edge of the city.
Can I get from Haarlem to the beach by train?
Yes. A Sprinter runs from Haarlem to Zandvoort aan Zee, taking about 10 minutes. Trains are busy on warm weekend afternoons, so allow for a crowded return.
Is there a direct train from Haarlem to Schiphol Airport?
Usually not. The trip takes about 30 minutes with one change. Plan the exact connection in the NS journey planner and leave extra time before a flight.

