From OpenStreetMap Wiki
Jump to navigation Jump to search
Public-images-osm logo.svg crossing = marked
Fussgaengerueberweg an einem Kreisverkehrs-Bypass.jpg
A generic crossing with no traffic-signals of any type, just road markings Show/edit corresponding data item.
Group: crossings
Used on these elements
may be used on nodesmay be used on waysshould not be used on areasshould not be used on relations (except multipolygon relations)
Useful combination

When tagged as node:

When tagged as way:

Status: de factoPage for proposal

This tag describes a pedestrian crossing that is marked but not controlled by traffic lights or people.

The type of marking can still be described explicitly with crossing_ref=*

Another common way to map such crossings is to use crossing=zebra (only if the markings are zebra markings) or crossing=uncontrolled.

How to map

Set a node node on the highway where the transition is and add highway=crossing + crossing=marked.

If the crossing is also mapped as a way way, tag it as highway=footway footway=crossing crossing=marked or highway=cycleway cycleway=crossing crossing=marked as appropriate.

Tags to use in combination

  • tactile_paving=yes/no - Indicates whether a blind or visually impaired pedestrian can detect or follow the feature using a cane
  • crossing:island=yes/no - Specifies whether a pedestrian crossing has a refuge island
  • crossing_ref=* - Used to reference a specific type of crossing markings
  • crossing_ref=zebra - A crossing with zebra markings
  • bicycle=yes/no - if the crossing is expressly also to be used by cyclists
  • lit=yes/no - Indicates whether a feature is lit.
  • kerb=* - Used to indicate height and thus accessibility of a kerb
  • crossing:markings=* - The existence and style of pedestrian crossing markings
  • wheelchair=* - Indicate if a special place can be used with wheelchairs

Software support


Starting from v2.12.0, released Dec 2018, iD described crossing=zebra as "outdated" and encouraged users to switch to crossing=marked + highway=crossing. This has attracted controversy.

This change was reverted in v2.17.0, released Dec 2019, due to ambiguity issues raised by mappers.[1]


OsmAnd draws gray and white stripes along the crossing way and adds a pedestrian pictogram at the crossing node.

Straßenraumkarte Neukölln reserves a parking-free buffer zone around the crossing that is smaller than for crossing=zebra or crossing=traffic_signals. [1]

osm2streets (see AB Street) draws parallel white bars, as opposed to transverse white lines that denote crossing=unmarked.


OpenSidewalks converts crossing=uncontrolled and crossing=zebra to crossing=marked. [2]

MOTIS Per Pedes Routing indicates whether the crossing is marked [3][4][5] and can calculate a detour that avoids unmarked, unsignalized crossings. [6]

Tagging schemes and tag growth evolution

Graphs of different schemes are shown on the following page link:
📈 http://taghistory.raifer.tech/#***/crossing_ref/zebra&***/crossing/zebra&***/crossing/marked&***/crossing/uncontrolled&***/crossing/traffic_signals

The amount of objects increased exponential after implementation of a iD preset end of 2018 via v2.12.[2]

The growth of the amount of objects stopped immediately after implementation an update of iD preset end of 2022 via id-tagging-schema v5.10, see chart above (green line).[3]

See also


  1. https://github.com/openstreetmap/iD/blob/release/CHANGELOG.md#2170
  2. Bryan Housel: Switch crossing presets to "marked"/"unmarked", retain "zebra" as unsearchable. Github, 2018-10-02 online
  3. tyrasd: Merge pull request #590 from openstreetmap/crossing_markings . Github, 2022-11-09 online