Railway stations
![]() |
![]() |
Description |
A place where trains stop. |
Tags |
|
Railway stations are often complex and include both transport connections and varying amenities. A complex station can be mapped to varying degrees of detail using the following tags and descriptions.
Overview
A railway station may be mapped using the structure and tags shown in the diagrams below:[1]


See Talk. A public_transport=station
tag can be on a node as seen here or on a polygon area identical or similar to one tagged landuse=railway
+ railway=station
, also seen here. How these and area:railway=station
may interact (and why the question mark is there) remain under discussion, as all of these tagging styles exist in OSM. Semantics visually described here are not an exact be-all and end-all, they are intended to be pedagogical / teaching aids. Yet more complex stations and their features (for example Tag:railway=platform_edge), such as termini and other main stations possibly with underground levels are mapped to further detail, not diagrammed here; see below for suitable tag descriptions.
Location

- A node
or alternatively an area
should be tagged as
railway=station
orrailway=halt
to mark the actual station/halt, the latter also conveys the infrastructural boundaries of the station. - A node
on a track way
should be tagged as
railway=stop
to mark the estimate point at which the actual train stops. - Tracks within a station should be ways
that are tagged as
railway=rail
. - To aid in route planning, platforms should be drawn and tagged as
railway=platform
andref=*
- Optionally, station concourses and galleyways should be tagged as
highway=footway
, with optionalname=station concourse / galleyway name
when a specific name is known, and should link platforms. - If a station has multiple entrances, consider
railway=train_station_entrance
.
Building
For larger stations it is often convenient to mark the entire station building. To complete this, create a closed way and use the tag, building=train_station
. Currently there are a number of proposals relating to subterranean stations (subway, underground).
It is especially convenient in route planning to include the building entrances. This is accomplished by tagging the appropriate nodes in a building's boundary as building=entrance
or railway=subway_entrance
or railway=train_station_entrance
. These entrances will often be seen as the intersecting node of a buildings boundary way and a station concourse (footway) way.
If it's open to the public, add the building as a member to a public_transport=stop_area
relation.[1]
Element | Key | Value | Description | Additional tags | Comment | Image |
---|---|---|---|---|---|---|
Station buildings![]() |
building | train_station
|
Outline of the station building(s) | Optional tags:
Number of floors |
Care may be needed when the station consists of a number of buildings. | ![]() |
Entrance![]() |
entrance | yes / main / exit / service / emergency
|
Entrance to a building | On main entrances add railway=train_station_entrance or railway=subway_entrance and also ref=* and/or name=* if these exist.
The tag A system of 2 relations is use to indicate a different name for an entrance and an exit at the same place, as indicated on Guidelines for pedestrian navigation Other optional tags: |
![]() | |
Canopy or over-roof | building:part | roof
|
Rain protection on platforms. | See Key:building:part | Image © Paul Bryan (excerpted) | ![]() |
Indoor mapping
Multilevel and underground stations can be described precisely with the Simple Indoor Tagging model.
For ways within the paid area after the fare gates, add toll=yes
into them such that routers are aware that the user needs to pay a toll (train ticket) to use that way. Do not tag them with access=destination
, access=customers
, or similar as it will prevent routing engines (such as OpenTripPlanner) from using these ways to access a train service, when the train station is not the final destination.
Railway infrastructure
Infrastructures in multilevel stations should be placed on the Z axis using level=* and layer=*.
Element | Key | Description | Additional tags | Comment | Image |
---|---|---|---|---|---|
Rails | railway=rail
|
Metal rails allowing the circulation of any form of transport, including, main lines, subways, old lines and tramways | Use railway:preferred_direction=* to specify the usual direction of trains on the segment.
Optional tags:
|
Always link the rails to a line using a relation, do not use name=* for this.
See Railways for more details |
![]() |
Stop position | railway=stop
|
Used to indicate approximate stopping point of the train in the station (in the middle of the train). | local_ref=* reference of a track.
Example: Allows to link with tag Optional tags: |
Ensure that name=* is the same than the one used for railway=station
|
![]() |
Platform
|
railway=platform
|
A space next to the rails where passengers wait for trains |
Optional tags:
|
Create an area that covers the whole platform, or different areas if you want to distinguish platforms with different name=* and/or ref=* .
|
![]() |
Rail crossing | railway=crossing
|
A node where pedestrians can cross the tracks | Optional tag: | ![]() | |
Buffer stop | railway=buffer_stop
|
Stops the train at the end of a track | ![]() |
Amenities
Station buildings often contain many amenities. Where appropriate, these amenities can be individually marked by a node and tagged.
Some amenities often found in station buildings and around their locality can be found below:
amenity=atm
amenity=cafe
amenity=fast_food
highway=bus_stop
railway=subway_entrance
amenity=pub
amenity=telephone
amenity=vending_machine
withvending=public_transport_tickets
,vending=food
,vending=drinks
,vending=sweets
orvending=parking_tickets
amenity=ticket_validator
All public amenities at a station should be added as members to a public_transport=stop_area
relation.[1]
Freight railway stations and shunting yards
railway=yard
—a railway station for freight. This includes yards that don't involve the loading or unloading of freight.
The mapping is documented at yard and freight station tagging and follows the OpenRailwayMap tagging system.
Stations and sites which are not currently in operation
If the station is not currently in service, it should generally not be tagged railway=station
.[2]
- Station temporarily out of service (might be run down, but is still a station)
- Station permanently out of service (definitely not coming back, maybe it's a hotel now)—mappable only where recognizable remains are present
abandoned:railway=station
(OpenRailwayMap tagging scheme)historic:railway=station
; or (no consensus)railway:historic=station
- Station has been dismantled (remnants such as old platforms are required to make it mappable)
Note that railway stations without any traces whatsoever (for example open pit mine is now where railway station used to be) should not be mapped in OSM, with exceptions for ones likely to be remapped as existing. Open Historical Map is a better fit.
- Station under construction
|