Loading the world’s railways…

Install Railway Atlas

Open the atlas from your Home Screen or apps.

Open your browser menu and look for Install app or Add to Home Screen, then follow its instructions.

In Safari on Mac (macOS 14 or later), choose File → Add to Dock, then Add.

The available options depend on your browser. Installation does not need the map to finish loading.

Help, licences and terms of use

Getting started

If a search source is unavailable or returns invalid results, any usable results remain visible with an incomplete-search notice. Invalid rows are omitted; missing coordinates never become a result at zero latitude or longitude. No matches from the available sources does not rule out matches in the unavailable source. Even a completed search is limited to the providers' coverage and stations already drawn on the map.

Search for a station, railway facility or place with the box at the top of the panel. The view buttons colour the railways by infrastructure, maximum speed, power, train control, gauge, loading gauge, axle load or owner, or show the urban rail services (metro, light rail, tram and commuter rail lines) along the tracks they run on; Map, Satellite, Hybrid and Carto choose the background. Click a station, line, level crossing or transport facility to inspect it; its panel links to the object on OpenStreetMap.

At the foot of the panel: the link button copies a link to the current view, the satellite button copies the GPS coordinates of the map centre, the gear opens the settings (what is drawn, the coordinate readout and the automatic globe), and ? opens this page. Beside the map: compass, zoom, your location, ⊞ (more detail), ✎ (drawing), 📏 (measuring), the mountain button (3D terrain) and the globe/flat-map switch. With the map focused, the arrow keys pan the map and Shift with an arrow turns or tilts it.

Railway Atlas is a worldwide railway map with prominent stations, infrastructure and service routes. Subdued roads and settlements, land and seabed relief, and drawing and measurement tools provide context for exploring railways.

Install Railway Atlas

The Install button at the foot of the controls opens installation options. On iPhone or iPad, use Safari’s Share menu, then Add to Home Screen; enable Open as Web App if shown, then tap Add. If the action is missing, scroll down to Edit Actions and add it. The atlas’s Copy map link button only copies a link; it does not open Safari’s Share menu. Other browsers may offer Install app in their menu. Safari on Mac (macOS 14 or later) offers File → Add to Dock.

Reading the map

At zooms 3–6, station names follow a manually curated shortlist of principal passenger stations, with provider labels filling remaining space from zoom 4. The independent OSM station-point overlay, when a complete worldwide snapshot has been published, draws all recorded locations from zoom 3 even when their names collide or are deferred. While that snapshot is still incomplete, the existing curated/provider dots remain in use. The shortlist is not a complete world ranking; from zoom 7 the provider station layers take over. Curated priority never overrides a station name: the displayed name and its translations come from OpenRailwayMap’s station data for that station, as for every other station label. Low-zoom station names use one colour by default. Settings can restore the earlier importance colouring: dark teal for stations classified as large and blue for the other displayed stations. In the curated list, the large classification corresponds to the stations reviewed for zoom 3; later curated tiers are normal. Provider ranking still reflects mapped route importance rather than passenger volume, and all coverage depends on the underlying OpenStreetMap data.

Speed colours use the provider’s numeric limit in km/h. Where directions differ, this is the preferred-direction limit, or the larger directional limit when no preferred direction is mapped. Track labels retain original units: bare numbers are km/h; mph is written explicitly. “A / B” means forward / backward; “A (B)” means preferred / opposite direction. A dash means missing data. These directions refer to the underlying OSM way.

Grey means no numeric speed is available. Railways under construction are drawn with long dashes, proposed ones with spaced round dots, disused ones with dash-dot lines, and abandoned or removed ones with sparse pairs of short dashes; they are not presented as operating lines. In the speed view they take the colour of their recorded (planned or former) limit where one is mapped. Bridges (dark edges) and tunnels (pale dashed core or faded line) are marked in every view. Recorded infrastructure limits are not train running speeds or a timetable.

Track strokes: overhead contact line is the track colour alone; Third rail (dashed, one side); Fourth rail (dashed, both sides); Ground-level supply (dotted centre); Inductive supply (dash-dot, one side); Linear motor (purple centre line); Rack railway (ladder ticks); Cable traction (long dashes, one side). Small amber dots with a dark outline are electrification signals, such as lower pantograph, main switch off and end of catenary, wherever a signal records railway:signal:electricity; they show mapped locations, not live aspects. Railway power and servicing facilities (substations, power stations, converters, refuelling and charging points, coaling stages, water towers, tanks and cranes) are drawn as they are mapped: outlines for areas, small dots for points. Hover or select one for what it is, its name and supplies. Tanks show mapped railway storage; storage alone does not establish a train servicing point. Dashed, faint shapes are planned or former facilities when those are enabled. The whole electricity grid and wider fuel supply chain are not yet covered. Missing facilities do not establish an absence of supplies; mapped facilities do not establish current availability.

For tracks the hue is the current type (DC, or AC by frequency: 16.7, 25, 50 or 60 Hz) and the shade is the voltage, darker being higher, since a train needs both to match. The Train control view splits each line into parallel colour bands for its recorded train protection or control systems: related systems share a hue (for example ETCS with China’s ETCS-derived CTCS and Korea’s KTCS; PZB with LZB; AWS with TPWS), and the shade shows how advanced a system is, from warning only, through spot transmission and continuous transmission, to radio-based movement authority. Short system names in the legend and line details show full explanations on hover or when tapped. Clicking a line gives every recorded system. The Gauge view uses a continuous scale: gauges within about 10 mm of a common gauge (1432 and 1435 mm, 1520 and 1524 mm, 1668 and 1676 mm) share its colour, and a dual-gauge track is split lengthwise, one half in each gauge’s colour. The Loading gauge view colours each line by the height above rail of its loading gauge’s static profile, so equal envelopes match across regions whatever they are called (for example GC and G2 at 4.65 m, GA to GB2 at 4.32 m, Russia’s T at 5.30 m, AAR Plate C at 4.72 m); Britain’s W gauges share one height and differ in the containers they clear, so they form their own ladder from W6A to W12. Where several gauges are listed for a line, the largest is shown. The Owner view gives each infrastructure owner recorded in OpenStreetMap its own colour, the same everywhere; the owner is not always the operator. The Power legend is a fixed key: each standard voltage and current in the exact colour the track uses, with other values in a shade between them. The other legends name the values in view. Train control keeps a separate entry for each system; other views group values drawn in the same colour. These views show only what is recorded in OpenStreetMap; many lines have no train protection tagged. The Infrastructure view shows how many running tracks lie side by side as a boxed number, counted from the tracks mapped in OpenStreetMap; sidings, yards, spurs and crossovers are not counted, and a group wholly in tunnels has a grey-blue badge. Stations have an amber badge of their own: every track at the station, sidings included, on every level, for each kind of railway it serves. Both reflect how completely the tracks are mapped; main lines of different railways count together, while light rail and trams are counted on their own. The settings can hide the boxes.

The Map, Satellite and Hybrid buttons choose the background: the drawn map, satellite imagery alone, or the imagery under the railways and stations of the chosen view. The imagery is 10 m per pixel, so single tracks are not visible in it. A station's panel lists its next rail departures from published timetables, with live times and delays where the operator publishes real-time data (GTFS-RT), and links to plan a journey from or to it. Click a departure to expand the complete train schedule, including stops before and after this station. Timetable text can be selected and copied. The location button shows your position and follows it as you move; the position is used only in your browser. Use the Install icon beside Settings and Help to install Railway Atlas or see your browser’s installation steps.

The ⊞ button shows more detail in the same space, drawn at half and then a quarter size; a third press returns to normal, and its tooltip gives the scale. The ✎ button opens drawing tools (points, lines, smooth curves and areas, in a chosen colour and line style); a curve leaves and joins straight stretches without a corner, the small dot in the middle of each segment adds a point there, and with the tools closed, clicking a drawn line gives its elevation profile. Drawings stay in this browser and can be saved or opened as GeoJSON files. The 📏 button opens measurement tools with Distance selected by default. Distance measures several segments and the height difference/gradient between their ends. Curve radius fits an arc through at least three clicked points; both tools offer an Elevation graph button that charts the height along the displayed route or fitted arc. Point elevation shows the latitude/longitude and signed elevation at the last tapped location. Ocean depth is sampled from coarser bathymetry using the map’s ocean mask, preserving genuine below-sea land such as inland depressions. Heights are ground or seabed level, not the track on a bridge or in a tunnel. Missing or conflicting terrain and uncertain shorelines show unavailable heights or gaps rather than a guessed value; profile statistics cover only observed connected stretches. Under the scale bar are the coordinates under the cursor and the zoom (the settings can hide them).

Names and terrain

One language setting applies to map, station and line labels. Only names recorded in the source data are shown; nothing is automatically translated or transliterated. When no name is recorded in the chosen language, a related recorded name is used where one exists, such as the other Chinese script or English, and otherwise the local name.

Station translations are requested for the current view. Snapshot railways retain multilingual OSM tags; the current operating-line tile provider usually supplies only native names. The shared setting cannot recover translations omitted from a source. Search results use the names returned by the search service.

The mountain-shaped terrain button opens a 3D view of the current location, zooming closer when needed so actual terrain heights can be seen. In Settings → Surroundings, the 3D vertical scale defaults to 3× for a more legible landscape at regional zooms, and can be changed to 1× (true scale), 2× or 5×. This changes the rendered mesh, not contour values or measurements. The initial 3D angle remains 60°, and you can tilt toward the horizon as far as 85° using touch or keyboard controls. Beyond 65° MapLibre draws more distant tiles at lower detail to limit tile loading rather than limiting the camera angle. Some rendering behaviour beyond 60° is experimental. Switching explicitly to 2D with the mountain button keeps the zoom and returns the camera to overhead. Tilting a 2D map also enables 3D land and seabed relief when terrain is switched on, but rotating the camera back to a 90° top-down view keeps the 3D mesh active. The mode changes only when you select 2D with the mountain button or turn Surroundings terrain off. Brown contours show land elevation; blue contours follow the seabed below sea level. Labels use signed metres or feet according to the unit setting. Heavier index contours are labelled. Seabed depth data is much coarser than land elevation. Around the poles on the globe, relief and contours come from NOAA ETOPO 2022 (about 1.85 km resolution).

Roads, cycling paths and walking trails remain visible beneath the railway network. Protected areas, military grounds, religious institutions and heritage sites provide context for drawing proposals. Purple boundaries show Indigenous territories where mapped as non-administrative jurisdictions, separately from administrative and conservation boundaries. The map does not establish legal boundaries or permission to build.

Infrastructure view marks level crossings (dark brown for road crossings, light brown for pedestrian ones), with their mapped equipment; they come from a worldwide OSM table refreshed weekly: snapshot date and counts; download the ODbL table. It marks explicitly tagged street-running track with an ochre roadbed. Street running is refreshed weekly from OSM: snapshot date and query; download the ODbL extract. It is not inferred from every tramway or a nearby road.

Every view draws aerial cableways and lifts (with ticks) and escalators, moving walkways and elevators mapped as OSM ways (with arrows for a mapped direction). Infrastructure and Power show their type; the other views colour them by that view's own value from their tags, such as owner or maximum speed, or as unknown. They are refreshed weekly from OSM: escalators snapshot date and query, ODbL extract; aerialways snapshot date and query, ODbL extract.

Zoom in on Infrastructure view for platforms and their boarding edges. Platform numbers and edge references appear from zoom 17; from zoom 19 an edge label pairs its reference with the length of the complete mapped boarding edge, in metres or feet. Platform numbers and lengths can take a moment to load. Signals (purple) appear from zoom 13 in Infrastructure and Train control, with references from zoom 16. Mapped train or subway station entrances (teal) appear from zoom 16; click them for mapped details and an OpenStreetMap link. Signal markers identify their location, not their current aspect. Coverage depends on the provider’s mapped data. Value labels hides their text while keeping the mapped shapes and markers.

Carto background: OpenStreetMap Standard, under the OSMF tile usage policy. Report a map issue.

Sources

Service frequencies: source credits and coverage. Detailed/thematic railway tiles: OpenRailwayMap vector. When those station tiles fail, the map can show rail POIs from the independently hosted En Liberté basemap and vetted hub points; neither fallback is a complete inventory. The neutral dashed railway backbone at zooms 4–6 uses generalized Natural Earth transport data hosted by Re:Earth Papers; it does not establish current operating status. Station search: OpenRailwayMap public API; place search: Nominatim (OpenStreetMap data). Departures and journey planning: Transitous (timetable sources and licences). Regional planned, construction and former lines: published OSM snapshot, extracted with Overpass (FOSSGIS); download the ODbL database; all ODbL download tables (manifest) (lifecycle, level crossings, branch lines, urban rail services). Relief: Mapzen Terrain Tiles / AWS, including NOAA ETOPO1 seabed data. Base map: En Liberté. Satellite imagery: EOxCloudless https://cloudless.eox.at by EOX IT Services GmbH (Contains modified Copernicus Sentinel data 2025), CC BY-NC-SA 4.0. Map data: © OpenStreetMap contributors, ODbL. Name regions: Natural Earth, timezone-boundary-builder (OSM, ODbL) and OSM boundary relations and geoBoundaries (Myanmar Analytics Project, CC BY 4.0; Royal Thai Survey Department / OCHA ROAP, CC BY 3.0 IGO). Renderer: MapLibre.

Project origins: Railway Atlas began as a fork of Open Railway Styles, the Hack4Rail 2025 project. Atlas's current application and worldwide data pipeline are developed in this repository.

This public map uses community-hosted services. Data availability and updates follow those providers. No account or API key is required. Map initialization can request TileJSON metadata from Re:Earth Papers (papers.reearth.land); at zooms 4–6, loading or panning automatically requests its tiles for the viewed area. These direct browser requests expose the requested tile coordinates, your IP address and ordinary browser request headers to that host. Search terms are sent to OpenRailwayMap and to OpenStreetMap's Nominatim geocoder only when submitted. Opening a station sends its position to Transitous for its departures; expanding a train requests its trip ID for the full schedule. Opening a level crossing asks the OpenStreetMap API for its tags. Panning loads planned and former railways from files published with this site; your viewport is not sent to Overpass. The snapshot date is recorded in its manifest. Detail tiles follow OpenRailwayMap updates. Shading and contours are derived from elevation, including seabed where recorded; they are not a nautical chart.

Other transport and major destinations use the existing OpenMapTiles basemap: airports, bus/coach and ferry terminals, cable car stations, hospitals, campuses, shopping centres, government/community facilities and visitor attractions. Shaded industrial, commercial and other facility grounds show potential trip destinations, not passenger volumes. Station panels list nearby transport within 500 m straight-line distance; this does not confirm a walkable interchange.

Data dates

When a source is unavailable, the map keeps its last checked data rather than showing none. The dates below say how old each dataset is. A date is the oldest the dataset vouches for: the OpenStreetMap data time where recorded, otherwise when it was built.

DatasetData from
Loading…

Licences

Terms of use

1. Acceptance. By accessing, loading, displaying, querying or otherwise using this website and the services it provides (the “Service”), by any means, manual or automated, you (the “User”) accept these Terms of Use in full and without reservation. A User who does not accept them is not authorised to access the Service and shall cease all use of it forthwith.

2. Restricted territories, authorities and organisations. No licence, permission or invitation to access or use the Service is extended to, and the Service shall not be accessed or used:

(a) from or within, or by means of any network, device, facility or intermediary located in or operated from, any territory in which effective governmental authority is exercised, de jure or de facto, by any of the following (each a “Restricted Authority”):

(b) by, on behalf of, at the direction of, or for the benefit of any Restricted Authority or any of the organisations named in paragraph (a), wherever located; or of any political party, movement, military organisation, security apparatus, council, collective governing body or other organisation that directly or indirectly exercises decisive political, military, security or financial control over any Restricted Authority (each a “Restricted Controlling Organisation”), whether or not it holds formal governmental office or is legally separate from that authority. The restricted organisations expressly include the Chinese Communist Party (CCP, also called the Communist Party of China or CPC), the Workers’ Party of Korea, the Communist Party of Cuba, United Russia, the New Azerbaijan Party (Yeni Azərbaycan Partiyası / YAP), the Office of the Supreme Leader of Iran and the Islamic Revolutionary Guard Corps (IRGC); the Presidential Administrations and Security Councils of Russia and Belarus; the Presidential Administration of Azerbaijan; and the Myanmar military organisations and councils named above.

(c) by, on behalf of, at the direction of, or for the benefit of any organ, agency, instrumentality, armed force, security or intelligence service, political bureau, committee, regional branch, military wing, state-owned or state-controlled entity, or other entity owned or controlled, directly or indirectly, by any Restricted Authority or restricted organisation; or by any person or entity acting for any of them. These restrictions include their aliases, renamed bodies, successor bodies and organisations operating under their direction or control, and apply to access through proxies, agents, contractors, intermediaries or third parties. For the avoidance of doubt, paragraph (b)’s express organisational restrictions apply wherever the organisation operates; paragraph (a)’s territorial restriction applies to territories governed by the authorities specified in that paragraph.

Any access or use in contravention of this clause is unauthorised, constitutes a material breach of these Terms, and is undertaken at the User’s sole risk and liability; all rights and remedies in respect of it are reserved in every jurisdiction, without limitation and without further notice.

3. No warranty; no reliance. The Service and all information in it are provided “as is” and “as available”, without warranty of any kind, express or implied, including as to accuracy, completeness, currency, availability or fitness for any purpose. The Service is not a navigation, safety, engineering, legal or operational instrument; railway data reflect what volunteers have recorded and may be wrong or out of date. No decision affecting the safety of any person or property shall be taken in reliance on it.

4. Limitation of liability. To the fullest extent permitted by applicable law, the operator and contributors shall not be liable for any loss or damage, whether direct, indirect, incidental, consequential or otherwise, arising out of or in connection with the Service or its use or unavailability.

5. Acceptable use. The User shall not use the Service in a manner that overloads it or the third-party services on which it relies, nor in breach of those services’ own terms and usage policies, nor for any unlawful purpose.

6. Relationship with other instruments. These Terms are to be read together with, and subject to, any instrument under which any material made available through or in connection with this website is furnished, whether to the operator or to any other person. Nothing in these Terms shall be read as derogating from, qualifying or otherwise affecting any such instrument, any right, permission or obligation arising under it, or its application according to its own terms; and in the event of any inconsistency, the relevant instrument shall prevail to the extent of that inconsistency, and these Terms shall be construed accordingly.

7. General. These Terms may be amended at any time by publication on this page; continued use constitutes acceptance of the amended Terms. Should any provision be held invalid or unenforceable, the remaining provisions shall continue in full force and effect, and the invalid provision shall be given effect to the greatest extent permitted.

Source code & report a problem ↗