Farleda
EN

Rail corridor · Berlin → Amsterdam

Berlin to Amsterdam by train: connections, duration and CO₂ compared with flying

What actually runs between Berlin and Amsterdam, how long it typically takes, and how rail compares with flying and driving in a modelled CO₂e balance — calculation included.

Rail ≈ 624 km · flight 593 km great-circle (BER → AMS) · road 656 km

Model calculation · methodology v1.1 · not measured data

The connection

What runs on this corridor

NS International describes a direct ICE between Amsterdam and Berlin and currently gives approximately 5 hours 51 minutes for the Amsterdam–Berlin direction. The opposite direction and individual travel dates can differ.

Compare the station-to-station itinerary with your full air journey, including access and airport time. This page does not calculate individual door-to-door travel time.

Operator information reviewed on 11 October 2026. Exact departures, stops and availability must be checked in the journey planner.

Operators
DB ICE · NS International
Typical duration
Around 6 h; varies by direction and date
Changes
direct, roughly every two hours
Route
via Hanover, Osnabrück, Bad Bentheim and Hengelo

Timetable sources:NS International · Berlin connections and planner

Train vs flight vs car

CO₂e per journey: one person or one car

Each mode uses its own activity distance: rail the route length, flying the great-circle distance between airports, driving the routed road distance. Ranges come from the published factor bands, not from measurement error.

ModeFactor usedkg CO₂eRange
Traingrid model, endpoint average × 0.09 kWh/pkm29 g/pkm × 624 km18.2 kg15.1–21.4 kg
Flight128 g CO₂e/pkm, DESNZ 2026 short-haul with RF128 g/pkm × 593 km76 kg75–112 kg
Car (whole vehicle)166 g CO₂e/vehicle-km, DESNZ 2026 average car166 g/veh-km × 656 km109 kg36–184 kg

58 kg CO₂e

Difference, rail vs flight

About 76% below the flight value in this model — per person, one way.

How this was calculated

  1. Rail: the annual grid snapshot gives 381 g CO₂e/kWh for Germany and 268 g CO₂e/kWh for the Netherlands. A cross-border leg averages its endpoint countries, so 325 g/kWh × 0.09 kWh per passenger-kilometre = 29 g CO₂e/pkm. Over 624 km of route that is 18.2 kg CO₂e per person. The range spans the two endpoint countries taken separately. Scenario distance for Amsterdam–Berlin: 624 km.
  2. Flight: UK DESNZ 2026 short-haul average passenger with radiative forcing, 128 g CO₂e/pkm (range 126–189), over the 593 km great-circle distance between the airport pair = 76 kg CO₂e per person. Great-circle distance is an approximation between airport coordinates, not the flown track, and it excludes getting to and from the airport.
  3. Car: UK DESNZ 2026 average car, 166 g CO₂e per vehicle-kilometre (range 55–280), over the 656 km routed road distance = 109 kg CO₂e per vehicle. That is the whole vehicle: shared between two or four people, the per-person figure drops accordingly.
  4. Cross-check: the static catalogue factor for national rail (31 g CO₂e/pkm) would give 19.3 kg over the same route. The grid model can sit well below it on low-carbon electricity. Rail figures cover electric intercity operation — diesel sections, actual occupancy and upstream energy are not modelled.
  5. All values are model calculations from published factors under Farleda methodology v1.1, not measurements, and describe one-way travel. Rail and flight are per person; the car row is per vehicle.

The record

What the signed record for this route looks like

When a plan for this corridor is saved in Farleda, the result is a Trip Carbon Passport: a canonical payload with distance, modes, rounded leg summaries, traveller count and declared methodology/comparison versions, signed by the server with HMAC-SHA256. Anyone can check any passport publicly, without an account. A valid result shows the payload has not changed since Farleda signed it — it does not prove the journey physically happened, and it is not an offset or a certificate.

Public access depends on the API release. The verification page explains the current access to the service.

Tickets and coverage

What is and is not covered

  • The Deutschlandticket is not valid on long-distance trains and does not cover the ICE on this corridor.
  • There is normally no compulsory reservation on the ICE, but a seat reservation is sensible at peak times.

Ticket rules change. Check the operators’ conditions and the KlimaTicket validity map linked below.

Questions

Frequently asked about this corridor

How long does the train from Berlin to Amsterdam take?

Exact journey times depend on the date and direction. Check the linked operator journey planner; the overview above describes the reviewed connection.

Is there a direct train from Berlin to Amsterdam?

Yes. DB and NS International operate the ICE through via Hanover, Bad Bentheim and Hengelo — no change of train.

How much CO₂ does the train save compared with flying?

In our model calculation roughly 58 kg CO₂e per person one way: about 18.2 kg by rail against about 76 kg by air. Both are modelled ranges from published factors, not measurements.

Is the train faster than flying Berlin–Amsterdam?

The flight itself is shorter, but the rail journey is city centre to city centre. Whether rail wins depends on your access times to and from the airports — we do not model door-to-door time on this page.

Does the Deutschlandticket cover this journey?

No. The Deutschlandticket is not valid on long-distance trains, so it does not apply to the ICE between Berlin and Amsterdam.

How are the CO₂ figures on this page calculated?

Rail uses the German and Dutch grid snapshot averaged and multiplied by 0.09 kWh per passenger-kilometre; flying uses 128 g CO₂e/pkm (UK DESNZ 2026, with radiative forcing); the car row uses 166 g CO₂e per vehicle-kilometre. The footnote under the table shows every step.

Farleda consumer beta

Plan Berlin → Amsterdam rail-first

Farleda plans European trips rail-first and records a saved plan as a signed calculation record. Public beta is planned for 31 October–31 December 2026; dates are planning targets and are updated openly.

Join the beta list