Method and sources
Everything on TrainTrips is calculated from open data, not copied from booking sites.
Connections
We calculate connections ourselves with MOTIS, an open-source journey planner, using the official open timetables of the rail operators. We search on a regular Tuesday, in the morning and afternoon, and show journeys with at most two changes.
Timetable sources
- Netherlands: OpenOV (CC0)
- Germany: DELFI e.V., Deutschlandweite Sollfahrplandaten (CC BY 4.0)
- Belgium: NMBS/SNCB open data
- France: SNCF, via transport.data.gouv.fr (ODbL)
- Eurostar: via data.gouv.fr (Licence Ouverte / Etalab 2.0)
- European Sleeper (ODbL)
- Switzerland: SBB and all Swiss operators via opentransportdata.swiss (opendata.swiss terms, attribution)
- Trenitalia France (Licence Ouverte / Etalab 2.0)
- Spain: Renfe and other operators (open GTFS)
Earlier routes were retrieved via Transitous. Our route data (trips and changes) is a derived database of these sources.
Punctuality
We use the Rijden de Treinen train archive (CC BY 4.0) and, for German stations, the open delay data of Deutsche Bahn (CC BY 4.0, via piebro/deutsche-bahn-data), with real arrival times. For TGV routes (also international, such as Paris–Zurich or Paris–Milan) we show SNCF's monthly punctuality per route (Régularité mensuelle TGV par liaisons, ODbL). For a connection we count how often the train arrived early enough to change with 8 minutes to spare. Cancelled trips count as missed.
Train or plane
We calculate CO₂ emissions with the UK Government GHG Conversion Factors 2025 (DESNZ). For the train we use the real rail distance and a deliberately high factor. It remains an estimate.
Maps and photos
Maps based on Natural Earth (public domain). Photos via Unsplash.