Almost every town in the Netherlands can be reached within 3 hours’ travel from Amsterdam by public transport. Haarlem is the closest of the historic cities, and only 15 minutes away by train.
Direct trains connect Amsterdam to Paris, Belgian cities like Brussels and Antwerp, and German cities like Cologne, Frankfurt and Berlin.
It is easy to get from Amsterdam’s Schiphol Airport (the main passenger airport) into the city. Buy a ticket and take the train at the Schiphol Rail Link to head into the city’s main train station, right in the center of Amsterdam. The train trip takes less than ½ hour.