A day by train & water · Noord-Holland

Three swims
to the sea

Amstel station to the North Sea coast, cooling off in a city lake, a recreation pool, and the surf along the way.

~45 kmAmstel → Zandvoort, by bike
~2h55in the saddle
3–4swim stops
1 lunchHaarlem old town
Trainhome from Zandvoort

The full cycle route, west from the city to the dunes and the sea.

Distances, leg by leg

  1. Amstel station → Nieuwe MeerSwim 17.7 km · ~30 min
  2. Nieuwe Meer → VeerplasSwim 219.7 km · ~75 min
  3. Veerplas → Grote MarktLunch3.6 km · ~15 min
  4. Grote Markt → Bloemendaal aan ZeeSwim 39.0 km · ~35 min
  5. Bloemendaal aan Zee → Zandvoort BeachSwim 43.6 km · ~15 min
  6. Zandvoort Beach → Zandvoort stationFinish0.8 km · ~5 min
  7. Total · Amstel station → the coast44.5 km · ~2 h 55

Cycling times are a relaxed estimate at ~16 km/h — add time for swims, lunch and stops.

Download GPX route

Load it into a cycling-navigation app for turn-by-turn voice directions on the day. We like OsmAnd — free and works offline: Android · iPhone.

Start Amstel station

Set off from the station

Julianaplein, Amsterdam

The ride ahead: 44.5 km · ~2 h 55 of cycling to the coast

The day begins at Amstel station, on the south-eastern edge of the city. Roll out west and south into the green of the Amsterdamse Bos, the forest park that carries you almost all the way to the first swim — no traffic, just bike paths and water.

Swim 1 Nieuwe Meer · AmsterDeck

A floating deck on the city lake

Boeierspad, via Amsterdamse Bos · south shore of the Nieuwe Meer

7.7 km from Amstel station · ~30 min ride

The Nieuwe Meer, a broad open lake on the south edge of Amsterdam
Strand Nieuwe Meer — the open-water swim spot and deck on Amsterdam's southern lake.

AmsterDeck is a smart swimming platform on the south side of the Nieuwe Meer, in the Amsterdamse Bos. Wooden stairs drop straight into the water and on-deck sensors report the water quality on the spot — handy, since this is a real lake, deep in places and busy with boats. Locals turn up with floaties and something to drink and watch the trains pass while they tread water. Weekends get packed; a weekday or early evening is calmer.

Type · freshwater lake Access · deck & stairs Note · deep water, check quality on deck
Swim 2 Veerplas · Haarlem

A sandy recreation lake

Barbeelpad, Haarlem · Spaarnwoude recreation area

19.7 km from Nieuwe Meer · ~75 min ride

Sunbathers on the grassy beach at the Veerplas near Haarlem
The Veerplas — a roped-off, shallow-entry beach east of Haarlem. Photo: Wikimedia Commons / Noord-Hollands Archief.

West of the Nieuwe Meer, on the eastern edge of Haarlem, the Veerplas is a purpose-built recreation lake in the Spaarnwoude park — once nicknamed the "PTT lake" for the tall telecom mast you can see for miles. A 300-metre sandy beach runs along the west side, with a shallow roped-off zone for easier swimming, lawns, showers and play areas. Water quality here is officially monitored and rated good. A gentler, more family-friendly swim than the open lake before it.

Type · freshwater lake Beach · ~300 m sand Facilities · showers, lawns, café Water · monitored, rated good
Lunch Haarlem old town

Dry off over lunch on the Grote Markt

Grote Markt, Haarlem

3.6 km from Veerplas · ~15 min ride

The Grote Markt square in Haarlem with the Grote Kerk and historic houses
Haarlem's Grote Markt, under the great church of St Bavo. Photo: Wikimedia Commons.

A short ride brings you into Haarlem proper. Park the bikes around the Grote Markt, the old market square framed by the towering Grote Kerk (St Bavo) and the stepped gables of the Vleeshal. Plenty of terraces and lunch spots line the square and the lanes off it — the right place to refuel before the final push to the coast.

Swim 3 Bloemendaal aan Zee

Into the North Sea surf

Bloemendaal aan Zee · through Zuid-Kennemerland dunes

9.0 km from Grote Markt · ~35 min ride

Beach club and sand dune at Bloemendaal aan Zee
Bloemendaal aan Zee — beach clubs above a wide sweep of sand. Photo: Wikimedia Commons.

From Haarlem the road climbs west through the dunes of the Zuid-Kennemerland National Park and drops you at the sea. Bloemendaal aan Zee has a 4.3 km sweep of sand and a strip of beach clubs — livelier and more social than Zandvoort next door. This is the first taste of salt water and the real reward of the day: a swim in the open North Sea.

Type · North Sea Beach · 4.3 km sand Scene · beach clubs Note · check flags & currents
Swim 4 · optional Zandvoort Beach

One more dip, if there's time

Zandvoort aan Zee

Busy summer beach at Zandvoort aan Zee with beach tents and bathers
Zandvoort's broad beach, a short ride south along the coast. Photo: Wikimedia Commons.

A short ride south down the coast leads to Zandvoort, the best-known resort beach on this stretch and conveniently right at the train station. If the day and the weather allow, it's a fine spot for a last swim before heading home — and if energy is fading, you can skip straight to the platform.

Type · North Sea Bonus · station on the beach Status · optional
Finish Zandvoort aan Zee station

Train home

Stationsplein, Zandvoort aan Zee

0.8 km from Zandvoort Beach · ~5 min ride

The line from Zandvoort aan Zee runs back via Haarlem to Amsterdam — bikes on board outside peak hours. Salt-stiff hair, three (or four) swims done, and the city twenty-odd minutes away.