The train system in the Netherlands is super easy to use. The country is relatively compact, and many major cities are connected by direct trains. This makes it easy to take day trips to different cities using the train system.
I stayed in Rotterdam and used it as my base for exploring other cities by train, including Leiden, Delft, and Haarlem—all of which are less than an hour away. The Hague and Gouda are also easy to reach by train, taking roughly 20–30 minutes from Rotterdam. Because of the well-connected train system, you can just as easily choose any of these cities—or Amsterdam—as your base for exploring the Netherlands. I chose Rotterdam over Amsterdam because accommodations were more affordable there.
Even if you’re flying into Amsterdam Schiphol airport, it’s easy to hop over to a nearby city to use as your base. The train station is located directly underneath the airport terminal, so once you arrive, just follow the signs to the train station and take a train to your destination. There are direct train connections from Schiphol to Rotterdam, Leiden, The Hague, and Delft.
Buying Train Tickets
You can buy tickets at train stations from the NS ticket machines, or you can buy them through the NS app.
When you buy a regular NS ticket, you’re buying a ticket for travel between your selected departure and arrival stations on the selected date. In most cases, you aren’t tied to the specific departure time you selected when purchasing your ticket, so you can generally take any eligible train on your selected route throughout the day.
There are some exceptions, though. Certain trains require a supplement in addition to your regular ticket, and if you buy a discounted fare through an NS PriceTime Deal, you can only travel during the specific time slot shown on your ticket. The Planner function in the NS app will indicate which routes require a supplement and which departure times are eligible for a PriceTime deal.
I used the NS app to buy my tickets, and I recommend it for a few reasons:
The app acts as a trip planner
When you enter your departure and arrival cities, the app shows available departure times, journey durations, and connection information—it even provides platform numbers for your departing train, connecting trains, and arrival platform. This means you don’t have to check the departure boards at the train station to find your platform. This is especially helpful if you have a tight connection or are running late and don’t have time to check the departure boards. The app also gives you updates about delays, cancellations, disruptions and engineering works on the tracks, and platform changes.

It’s convenient to have your ticket on your phone
When you buy an e-ticket through the NS app, you’ll receive a QR code in the app. You will need to use this QR code to open the gates to enter and exit train stations with gated access. (You can do this with paper tickets too, but you’ll need to keep the ticket with you to enter and exit the stations.) It’s also convenient to have the QR code readily available on your phone to show the ticket inspector on the train instead of having to fumble around for a paper ticket.
You may be able to save money by booking in advance
The NS app offers PriceTime Deals, which can provide discounts of up to 60% on eligible train journeys during off-peak travel times. To take advantage of a PriceTime Deal, you need to purchase your ticket at least one day in advance. The discount varies depending on the route, travel date, departure time, and expected crowding. The Planner function in the NS app will show you if a PriceTime Deal is available and how much you can save.
I got a 20% discount on my trip from Rotterdam to Hoorn for traveling during off-peak times. I bought that ticket the day, but I wish I had checked a few days earlier to see if I could have gotten a bigger discount.
However, PriceTime Deals are not available for every route, and there are no PriceTime Deals for trips to or from Schiphol Airport.
These discounts are also only available for single-journey tickets – if you select a return option in the app, the PriceTime Deal discount disappear. I ended up buying two separate single-journey tickets for a day trip between Rotterdam and Hoorn to take advantage of the savings.
A PriceTime Deal ticket is only valid for the selected route, date, and time slot shown on your ticket. You can’t take another train later that day if you miss your selected time slot, but you can take any eligible train on that route during the specified time slot. But you do need to leave the train before the time slot ends.
Also, if you bought a PriceTime Deal ticket for a specific time slot, you can only use the QR code to enter the train station during that time slot. I bought a ticket from Hoorn to Rotterdam that was valid for discounted travel between 6:30pm and 9pm. When I tried to scan my ticket at the gate before 6:30pm, I couldn’t enter and had to wait until the ticket became valid.
When Are Off-Peak Hours?
NS specifies the following time slots as off-peak hours:
- Weekdays: 9:00am to 4:00pm; 6:30pm to 6:30am
- Weekends: All day
- Public holidays: All day
PriceTime Deals are offered on eligible trains and can provide up to 60% off during off-peak travel times. However, not all routes or trains offer these discounts. When you use the NS app to plan a journey, it will let you know whether a PriceTime Deal is available for that specific journey.
NS Train Ticket Supplements
Some trains require a supplement in addition to a regular NS ticket. These include Intercity Direct and Eurocity Direct trains, which offer faster connections between certain cities. Because you’re getting a faster journey, these trains require an additional payment on top of your regular NS ticket.
The NS app’s Journey Planner will show you which routes require a supplement, and you can purchase the ticket and supplement as a single ticket through the app. If you buy your ticket at the train station, the ticket machine will also indicate when a supplement is required. It will dispense two tickets – one for the regular fare and one for the supplement. Keep both tickets because if a ticket inspector comes along, they will scan both.
Honestly, in some cases, the supplement is worth paying for. I took the Intercity Direct between Schiphol Airport and Rotterdam because it would only take about 30 minutes; regular trains without the supplement can take close to an hour. The supplement for that segment was only €3.20 when I visited in 2026, so I felt it was worth it to save extra time.
Be aware of whether your train requires a supplement because ticket inspectors are firm about this rule. During my train ride between Schiphol Airport and Rotterdam, I witnessed a passenger who had boarded without the required supplement. When the ticket inspector came around, they were told they needed to pay €10 because they hadn’t purchased the supplement before boarding the train. The passenger explained that they were new to the city and didn’t realize a supplement was required, but the conductor was firm.
Getting to and from Amsterdam Schiphol Airport
Schiphol Airport has a train station directly underneath the airport terminal. After landing, follow the signs to get to the train station below. There are ticket machines at the station where you can buy a ticket to your destination after you land, or you can use the NS app.
Because of this convenient connection, you can easily stay in another city if you prefer somewhere quieter or more affordable than Amsterdam. Cities like Rotterdam, Delft, Haarlem, Gouda, Leiden, and Utrecht are all easily reachable by train, and many of these cities are less than an hour away.
If You Have an Early Morning Flight
There are overnight trains that can get you from several nearby cities to Schiphol airport for an early-morning flight. NS operates night trains connecting Rotterdam, The Hague, Leiden, Amsterdam, and Utrecht to Schiphol airport.
But you should check the NS Journey Planner to make sure there’s a train that gets you to the airport early enough if you’re staying in a city outside of Amsterdam. If there isn’t, you may want to stay closer to Schiphol or arrange another form of transportation.







