World Train Map

About

About World Train Map

Articles and posts

BILDt3nMaps ManiaGisplay

Voted onto the front page of

Hacker NewsLemmy’s map community

Carried by

weeklyOSM365tipů

None of the write-ups was pitched or paid for. Each logo belongs to its owner and links to what they published, where it is still online; the Lemmy logo is by Andy Cuccaro (AGPL-3.0).

Particular thanks

OpenStreetMap community forumRailUK Forums

The members of both forums have made this atlas measurably better with their corrections and route suggestions. The OpenStreetMap logo is by Ken Vermette (CC BY-SA 3.0).

World Train Map is working on mapping every passenger rail service in the world: every train you can buy a ticket for and ride, drawn on the track it really runs on, with its distance, its fastest journey, who runs it and the story of the line. It holds 1,516 routes in 120 countries so far, and more go on every week.

It has been built and is run by one person, based in Norway, as a hobby project. AI was used in the code and in the initial data collection. The routes, every correction and every fact published here are vetted by humans.

It is not finished, and the map shows how far it has got. Most of Europe and Japan are drawn in depth; much of Asia, Africa and the Americas is still thin. Blank space between the lines means a railway this map has not drawn yet, not an absence of track, and thin coverage of a country is a to-do, not a verdict on its railways.

People who know rail maps ask how this differs from OpenRailwayMap. OpenRailwayMap draws infrastructure: every track, siding and signal in OpenStreetMap, and it is excellent at that. This atlas draws passenger services — the journeys a train will actually take you on, end to end, with distances, times and the story of the line. One maps the railway, the other maps the ride; much of the geometry here is traced from the same OpenStreetMap data, so they agree about where the rails run.

How routes get on the map

The map grew in layers: the famous named trains first, then the high-speed networks, the everyday intercity corridors between them, night trains, scenic lines, heritage railways and mountains. Since September 2026 new routes are also found systematically. A discovery chain reads the passenger train routes mapped in OpenStreetMap, keeps the ones that run on track this map has not drawn yet, and asks a journey planner whether a scheduled train really runs them today. Each one still needs a sourced opening year, read from the line's own article in its own language, before it goes on. And readers suggest routes all the time, above all on the OpenStreetMap and RailUK forums.

Three rules decide what goes on. It must be a scheduled passenger service you can actually ride: no freight lines, no closed alignments, and a line under construction waits until there is a train to ride. Each railway is drawn once: a service whose whole path already lies on drawn lines is folded into those cards rather than drawn again, which is why the Glacier Express and the local trains that work the Rhône and Rhine valleys all day share one line on the map. And every line is drawn from real track and then measured against it, and its route page says how.

What is written about each train comes from approximate published figures gathered from public sources: train operators' sites, railway timetables, Wikipedia. The schedules shown are not live and cannot be used to book. For up-to-date times and fares, always check with the relevant operator, or use a railway journey planner. For most of Europe the best one-stop planner is bahn.de, the German railways' one, which has been answering timetable queries on the web since 1995 and covers far more than Germany.

The route facts are open data under CC BY 4.0, archived with a DOI (OSM-traced geometry stays © OpenStreetMap contributors, ODbL), and the map can be embedded on any site for free.

The same person also builds three sister maps: Castle Map, Movie Scene Map and Destinations Map.

For partnerships and sponsorships, see this page.

How much of it has been checked

Every route page says what can actually be shown about that line, under “How this line was checked”, and the counts below are the same claims added up. Each one is a record, not a judgement: nothing here is inferred, and where there is no record the page says nothing at all rather than something weaker.

Drawn from a named OpenStreetMap relation
1291 of 1516 routes
Measured against real OpenStreetMap track
1515, sitting a median 4 m from it
…of those, on track from end to end
1214
Checked against a live running timetable
780
Carrying a Wikipedia article
1298
Listing every station the train calls at
695

You do not have to take any of it on trust. The map has a switch, OpenStreetMap railways, that draws the railway itself under every route — 1,735,000 km of it, in three weights. The brightest is track a route here is drawn from: switch every route off and what is left on screen is exactly what our lines claim to follow. The middle weight is a railway OpenStreetMap describes end to end that this atlas has no route for yet, 543 of them. The faintest is every other railway OpenStreetMap knows, 997,000 km of it, welded from individual ways with no route relation over them at all — which is what turns a blank patch of map from "we have not drawn this" into "there is no railway here". Where a line of ours leaves the grey one it is wrong, and you can see exactly where. Hovering either of the first two names the relation it came from.

These are two different kinds of claim and the difference matters. A relation is where a line came from: somebody who knows that railway listed the ways it uses, the line here is built from their nodes, and the route page links the relation so you can open it and disagree. A measurement is where the line actually lies: 1340 routes were walked in ten-kilometre legs on a router that can only travel along OpenStreetMap track, and our drawing compared with what came back, in metres. Of the two, the measurement is the one worth more to a reader, because where a line came from is a story and where it lies is a fact.

Until August 2026 this page also claimed that most of the atlas was “traced onto the OpenStreetMap rail graph”, on the strength of how many decimal places each line's coordinates carried — the tools that write them round differently, so the rounding identifies which tool wrote a line last. That is a fingerprint of a tool and not evidence about where a line is, and it has been removed rather than reworded. It is why the first number above is smaller than the one that used to sit here. The licence is unchanged: much of this geometry is derived from OpenStreetMap whether or not each route can prove it, so the ODbL attribution stays.

The other 175 are the railways that router has never heard of: funiculars, forest railways, 60 cm gauge and island steam lines, which are not in a graph built for trains that go somewhere. They were measured against the track OpenStreetMap maps around them instead, which is a slightly weaker answer — track nearby rather than track you can travel along — and it is recorded as such. A line that strays says so on its own page, and names the longest stretch it strays for.

Errors get fixed

An atlas of 1516 routes will contain mistakes. Any errors or omissions can be reported to me: corrections are usually made within one day, and every major modification is dated and credited in the changelog.

Found one? Email ceoflightmussy@gmail.com, open an issue on the dataset's GitHub repo, or mention it wherever the atlas is being discussed.