From OpenStreetMap Wiki
Jump to navigation Jump to search
Public-images-osm logo.svg railway = station
Paddington Station.jpg
A railway station. Show/edit corresponding data item.
Rendering in OSM Carto
Rendering-railway-tram stop-mapnik.png.png
Rendering in OSM Carto area
Group: railways
Used on these elements
may be used on nodesshould not be used on waysmay be used on areas (and multipolygon relations)should not be used on relations (except multipolygon relations)
Useful combination
See also
Status: de facto
Main article: Railway stations

A railway station is a railway facility where trains stop to load & unload passengers and/or freight. It generally consists of at least one platform, one track, and a station building providing such ancillary services as ticket sales, waiting rooms etc. There should be only one railway=station element for each station (refer to One feature, one OSM element).

This page is solely about the railway=* schema.

How to map

As a node   node

Map an unconnected node as near to the middle of the station as is practicable, in respect of the platforms & rails. Additionally, a polygon tagged as landuse=railway maybe mapped to include the extents of the land owned & used by the operator as a station.

As an area   area

Map a polygon to surround public accessible areas ie railway=platform & building=train_station.

Railway=Station Tagging.svg


Key Value Description
railway station
subway yes / no Should be added if it's a subway station.
name <station name> The name of the station. For preference use the name on the signs at the station.
landuse railway When railway=station is mapped as a node this tag can be added to a closed polygon mapped to indicate the extents of the land owned & used by the operator as a station.
railway:ref <station code> The code used for the station. In North America, this might be something like NYP for New York Penn Station or OSB for Old Saybrook Station if it's an Amtrak station. In Germany, the Ril 100 code would be something like KN for Neuss Hbf. Abbreviations used by companies other than the operator can be tagged using railway:ref:(company)=*.
uic_ref <number> UIC's (International Union of Railways) assigned reference number for the station.
uic_name <name> UIC's (International Union of Railways) assigned name for the station.
railway:station_category <station category>
railway:position <number> The milepost of the station.
operator <operator_name> The station's operator.
network <network_name(s)> The name of the network the station belongs to. There maybe multiple values.
operating_times <operating times>
start_date <date> The date the station was put into service. For formatting the tag, refer to the start_date=* page.
end_date <date>
image <filename or URL>
ele <number>
wikipedia <lang>:<article name> The Wikipedia article relating to the actual station (Not the railway's operator or network). For formatting the tag, refer to the wikipedia page.

Station types

Where railway stations share the same station building, consider if they should be modelled as separate stations or as a single station. The associated Wikipedia articles of the facilities might assist with the decision. If the facilities are run by separate organisations[1] (for example a heritage station next to a mainline station) then it is probably better to map them using two separate railway=station tags.

For freight stations, add railway:traffic_mode=freight. Data consumers should consider that not all railway stations are passenger-only.

Distinction between halt and station

The distinction between railway=halt and railway=station might differ from country to country. A halt is occasionally distinguished by its smaller size compared to a station, although it's unclear what size defines the difference. It can also be classified as a request stop. To make it explicitly clear, tag a request stop station as request_stop=yes.

  • In Britain, after a discussion, railway=halt has been removed. All are now railway=station. It was felt the definition of halt was too ambiguous & subjective for OSM. Additional, objective, sub-tags are being added to stations such as request_stop=*, usage=*, platforms=* etc.
  • In Belgium, railway=station is only for staffed stations. NMBS/SNCB stations without any station building or stations where ticket offices are permanently closed are tagged as railway=halt.
  • In Denmark, Hungary, Italy and German-speaking countries, stations without points ("switches") where only passenger trains stop are tagged as halt. For more information see the German page.

Things to avoid

  • Do not add the words "railway station" in the name=*; i.e. avoid name=Station Newton
  • Do not use abbreviations, even if the railway company use them. Use short_name=* in addition.
  • If the official name in documents differs from the name signs at the station, use official_name=*.


See also



Forum topics


  1. For example, see Berlin Zoologischer Garten: S-Bahn / light rail in the north-west and heavy rail in the south-east.