The average train between Haarlem and Zaandam takes 27 min and the fastest train takes 22 min. The train runs at least 5 times per hour from Haarlem to Zaandam. The journey time may be longer on weekends and holidays; use the search form on this page to search for a specific travel date.
Trains run every 15 minutes between Haarlem and Zaandam. The earliest departure is at 1:01 PM in the afternoon, and the last departure from Haarlem is at 7:17 PM which arrives into Zaandam at 7:42 PM. All services require a transfer, and take on average 27 min. The schedules shown below are for the next available departures.

24 min • 1 change

24 min • 1 change

25 min • 1 change

27 min • 1 change
Want to know about travelling from Haarlem to Zaandam? We have put together a list of the most frequently asked questions from our users such as: What is the cheapest mode of transport? What is the quickest option? How much do tickets usually cost? and many more.
No, there is no direct train from Haarlem to Zaandam. However, there are services departing from Haarlem station and arriving at Zaandam station via Amsterdam Sloterdijk. The journey, including transfers, takes approximately 27 min.
Haarlem to Zaandam train services, operated by Nederlandse Spoorwegen (NS), depart from Haarlem station.
Haarlem to Zaandam train services, operated by Nederlandse Spoorwegen (NS), arrive at Zaandam station.
Book your Haarlem to Zaandam train tickets online with Nederlandse Spoorwegen (NS).
The distance between Haarlem and Zaandam is 14.4 km. The road distance is 21 km.
You can take a train from Haarlem to Zaandam via Amsterdam Sloterdijk in around 23 min.