OpenStreetMap Tags: Complete Reference for Export

2026-07-155 min read
OSMtagsdatamappinglayers

Tags are the foundation of OpenStreetMap data. Every object on the map (building, road, park, cafe) is described by a set of "key=value" pairs. Understanding tags is important for two tasks: getting the right data during export and correctly interpreting the result.

How the Tag System Works

Every OSM object has one or more tags in key=value format:

building=yes
name=Moscow Kremlin
tourism=attraction
historic=castle

Tags are free-form — there's no rigid schema. Any mapper can add any tag. But the community has agreed on standard tags that are supported by renderers, navigators, and exporters.

Object Types

  • Node — a point. Address, tree, streetlight, ATM.
  • Way — a line or closed polygon. Road, fence, building, lake.
  • Relation — a group of objects. Bus route, region boundary, multipolygon.

Key Tags by Category

building — Buildings

building=yes              — building (type unspecified)
building=residential      — residential building
building=apartments       — apartment building
building=commercial       — commercial building
building=industrial       — industrial building
building=retail           — retail building
building=church           — church
building=school           — school building
building=hospital         — hospital building
building=garage           — garage
building=shed             — shed

Additional building tags:

building:levels=5         — number of floors
building:material=brick   — wall material
building:colour=#ff0000   — building color
roof:shape=flat           — roof shape (flat, gabled, hipped, dome)
addr:street=Lenin St      — street
addr:housenumber=42       — house number

During export: the "Buildings" layer contains all objects with building=*. Floor count is used for 3D export (STL, glTF, IFC).

highway — Roads and Paths

highway=motorway          — motorway
highway=trunk             — trunk road
highway=primary           — primary road
highway=secondary         — secondary road
highway=tertiary          — tertiary road
highway=residential       — residential street
highway=service           — service road
highway=footway           — footpath
highway=cycleway          — cycleway
highway=path              — path
highway=track             — track
highway=pedestrian        — pedestrian area
highway=steps             — stairs
highway=bus_stop          — bus stop

Additional road tags:

name=Main Street          — name
lanes=4                   — number of lanes
maxspeed=60               — speed limit (km/h)
surface=asphalt           — surface type
oneway=yes                — one-way
bridge=yes                — bridge
tunnel=yes                — tunnel
lit=yes                   — lit

During export: the "Roads" layer includes all highway=* objects. Line width depends on road type (motorway thicker, footway thinner).

amenity — Amenities

amenity=restaurant        — restaurant
amenity=cafe              — cafe
amenity=bar               — bar
amenity=fast_food         — fast food
amenity=school            — school
amenity=kindergarten      — kindergarten
amenity=university        — university
amenity=hospital          — hospital
amenity=clinic            — clinic
amenity=pharmacy          — pharmacy
amenity=bank              — bank
amenity=atm               — ATM
amenity=post_office       — post office
amenity=fuel              — gas station
amenity=parking           — parking
amenity=police            — police station
amenity=fire_station      — fire station
amenity=library           — library
amenity=theatre           — theater
amenity=cinema            — cinema
amenity=place_of_worship  — place of worship

During export: the "POI" layer contains all objects with amenity=* and other "point" tags.

landuse — Land Use

landuse=residential       — residential area
landuse=commercial        — commercial zone
landuse=industrial        — industrial zone
landuse=retail            — retail zone
landuse=forest            — managed forest
landuse=meadow            — meadow
landuse=farmland          — farmland
landuse=cemetery          — cemetery
landuse=military          — military area

During export: the "Landuse" layer is rendered as filled polygons. Color depends on type.

natural — Natural Features

natural=water             — water body (lake, pond)
natural=wood              — natural forest
natural=grassland         — grassland
natural=wetland           — wetland
natural=beach             — beach
natural=peak              — mountain peak
natural=coastline         — coastline

leisure — Leisure and Recreation

leisure=park              — park
leisure=garden            — garden
leisure=playground        — playground
leisure=pitch             — sports field
leisure=sports_centre     — sports center
leisure=swimming_pool     — swimming pool

shop — Shops

shop=supermarket          — supermarket
shop=convenience          — convenience store
shop=clothes              — clothing store
shop=electronics          — electronics store
shop=bakery               — bakery

tourism — Tourism

tourism=hotel             — hotel
tourism=museum            — museum
tourism=attraction        — attraction
tourism=viewpoint         — viewpoint

waterway — Waterways

waterway=river            — river
waterway=stream           — stream
waterway=canal            — canal

How Tags Affect Export

Map Layers

During export in osm2cdr, data is grouped into layers based on tags:

Layer Main Tags Description
Buildings building=* All structures
Roads highway=* Road network
Water natural=water, waterway=* Water features
Green landuse=forest, leisure=park Green areas
POI amenity=, shop=, tourism=* Points of interest
Landuse landuse=* Land use areas
Railways railway=* Railways
Boundaries boundary=administrative Boundaries

Filtering During Export

You can include or exclude layers:

{
  "bbox": [37.58, 55.74, 37.65, 55.76],
  "format": "svg",
  "layers": ["roads", "buildings", "water"]
}

Tags and 3D Export

For 3D formats (STL, glTF, IFC), floor tags are critical:

building:levels=5    → building height = 5 * 3m = 15m
building:height=20   → exact height = 20m (priority over levels)
roof:shape=dome      → dome roof instead of flat

Tags and Navigation Formats

For Garmin IMG, OsmAnd OBF, and other navigation formats:

highway=*            — road type (affects routing)
maxspeed=60          — speed for ETA calculation
oneway=yes           — traffic direction
access=private       — access restriction

Finding Tags

TagInfo

taginfo.openstreetmap.org — the main OSM tag reference. Shows usage frequency, geographic distribution, combinations, and trends.

OpenStreetMap Wiki

wiki.openstreetmap.org — documentation for all standard tags.

Overpass Turbo

overpass-turbo.eu — tool for querying OSM data by tags.

Tips for Working with Tags

  1. Don't rely on a single tag. A cafe might be amenity=cafe, cuisine=coffee, or shop=coffee.

  2. Check regional differences. Schools in Russia are often tagged amenity=school + isced:level=1, while in Germany it's amenity=school + school=primary.

  3. Consider nesting. A building may contain multiple POIs: ground floor pharmacy, second floor dentist.

  4. name:en vs name. For English export, use name:en if available. The name tag may be in any language.

  5. Validate data. Tags like building:levels=five (text instead of number) are real cases. Always check value formats.

Conclusion

The OSM tag system is flexible and powerful but requires understanding. For quality export, it's important to know which tags describe the objects you need and how they're grouped into layers. TagInfo and the OSM Wiki are indispensable tools for working with tags.

← All articles