Key:crossing
![]() |
Description |
---|
Further refinement for nodes already tagged with highway=crossing or railway=crossing ![]() |
Group: Crossings |
Used on these elements |
Documented values: 7 |
Requires |
Useful combination |
|
Status: approved![]() |
|
Tools for this tag |
|
This tag is used for more accurately describing specific types of pedestrian crossings across roads and other types of crossing over road or rail. Crossing infrastructure for the convenience of pedestrians, cyclists etc. should first be tagged with highway=crossing or railway=crossing as appropriate. The specific type of crossing may be further specified with the crossing=* tag and other properties described below.
The tag is set for the node where both ways are crossing (footway and street, street and railway and so on). For detailed mapping it may be useful to additionally tag ways leading from a sidewalk to the crossing node with footway=crossing or cycleway=crossing as appropriate.
The crossing tag
(Note: In American English, a "crosswalk" is either a marked crossing or a signalized crossing, but not an unmarked, unsignalized crossing.)
Approved tags
- crossing=traffic_signals
- A crossing with traffic signals. (May or may not feature road markings.) Mostly near highway=traffic_signals.
- crossing=uncontrolled
- A generic crossing with no traffic signals of any type, just road markings; e.g., zebra-crossings.
- Mostly in combination with highway=crossing.
- crossing=no
- Where definitely no crossing is possible/legal. Used at places where one would expect a crossing, but where there isn't one. As crossing=no excludes the existence of a crossing, it must be used without highway=crossing.
Other used tags
- crossing=marked
- any marked crossing which hasn’t traffic lights. Duplicate of crossing=uncontrolled and in case of zebra markings crossing=zebra, i.e. a crossing with road markings, but no traffic lights.
- crossing=zebra
- A crossing marked with a striped pattern, but no traffic lights. In some countries, it gives priority to crossing pedestrians over vehicle traffic. Note that in some countries (e.g. in Italy, Spain, Switzerland, or United States), crossings with traffic lights are also marked with a striped pattern. However, tagging should give precedence to the traffic lights.
- This tag was initially documented as England only, but with the temporary adoption by iD editor has gained worldwide usage.
- crossing=* + crossing_ref=zebra is a more popular alternative to indicate that a crossing is marked with a stripped pattern independent of the presence of traffic lights.
crossing=island- Note: It is recommended to use the newer tag crossing:island=yes instead, which can be used in addition to crossing=traffic_signals/uncontrolled/unmarked.
- Note: If a path on a traffic island is mapped separately from the crossings, use footway=traffic_island with highway=footway instead.
- A crossing with a small traffic island for pedestrians in the middle of the road. Because this tag is orthogonal to traffic_signals/uncontrolled/unmarked classification, tagging highway=crossing with crossing=island makes it impossible to distinguish between crossing=traffic_signals and crossing=uncontrolled. For this reason, many editors do not use this tag, and some consider it as a broken tagging scheme.[1]
- Some mappers add crossing=island to the highway=footway + footway=crossing way on the traffic island.
Additional tags
Accessibility
- See also section Traffic signals below.
- kerb=yes/no/raised/regular/rolled/lowered/flush/...
- Used to indicate the height or type and thus accessibility of a kerb. On crossing ways, it is preferred to use barrier=kerb + kerb=* on a node
as part of the crossing
way. Alternatively, on the crossing node, kerb:left=* and kerb:right=* can be used.
- For routing, it is important that barrier=kerb + kerb=* should not be on the crossing
node that intersects with the road. In addition to that, the kerb node should not be connected to the sidewalk
way as that can prevent accessibility routing along the adjacent sidewalk.
- tactile_paving=yes/(no)/incorrect
- To indicate whether there is a pattern in the ground to aid the blind. Can be used on a node in conjunction with kerb=*.
Designation
- crossing_ref=*
- The traditional, region-specific reference, such as
toucan
orpelican
. Only add this tag if the reference is in common use in the region. The examples shown below are used in the United Kingdom and Canada.
Mode of transport
- bicycle=*
- A value of
yes
means that pedal cyclists are permitted to ride across the crossing.
- horse=*
- A value of
yes
means that horse riders are permitted to ride across the crossing.
- segregated=yes/no
- A value of
yes
indicates that crossing traffic of differing types is segregated from each other (that is, there is a separate crossing area for each mode of transport). At many traffic lights, crossing foot and bicycle traffic are segregated. A more regional example is the segregation of horse and foot traffic within some UK Pegasus crossings.
- Like many others, this parameter is
boolean, i.e. it can take the values
yes
orno
. Different from several other Boolean parameters, in this case no default is assumed.
Support
Crossing nodes are shared by both the road and the crossing way. A no value for an access tag like bicycle=* or horse=* on a highway=crossing node is meant to apply only to traffic on the crossing, not on the main road: (highway=crossing + bicycle=no) means that cyclists must dismount before crossing the road; it does not mean that cyclists on road must do this.
Nevertheless, most routers do not support this, which may lead to potentially undesired effects like blocking routing along the road for cyclists.
You may ask router authors to add support for this tagging. In most cases it is also possible to use more detailed tagging and split the crossing way into parts and add bicycle=no on applicable parts.
Traffic signals
- button_operated=yes/no
- Crossing light and/or sound on a traffic signal can be requested by a bicycle rider or pedestrian via button press.
- traffic_signals:sound=yes/no
- Pedestrian traffic with sound for the visually impaired.
- traffic_signals:vibration=yes/no
- Pedestrian traffic signals with vibration for the visually impaired.
Other features
- crossing:island=yes/no
- Indicates whether the crossing has a refuge island.
- supervised=yes/no
- A value of
yes
indicates that the crossing may be managed by aCrossing guard at busy times. The default is
no
.
- flashing_lights=yes/no/always/button/sensor
- A value of
yes
indicates that flashing lights warn drivers when a pedestrian is crossing. The default isno
. For more detail, consider using a value ofbutton
,sensor
(if the lights turn on automatically), oralways
(if the lights are constantly flashing).
Examples
The following table shows how the crossing might be tagged:
Description (and local name) | Tags | Image |
---|---|---|
A crossing for pedestrians only and no traffic lights (but may have a flashing amber globes on poles in some regions such as in the United Kingdom)
|
highway=crossing
|
![]() |
A crossing for pedestrians only with traffic lights (button operated or not).
|
highway=crossing
|
![]() |
A crossing for pedestrians and cyclists with no traffic lights (but may have a flashing amber globes on poles in some regions such as in the United Kingdom).
|
highway=crossing
|
![]() |
A crossing for pedestrians and cyclists with traffic lights (button-operated or not).
|
highway=crossing
|
![]() |
A crossing for pedestrians, cyclists, and horse riders with traffic lights (button-operated or not, often identified not by a crossing rideway but by very high buttons for the riders).
|
highway=crossing
|
![]() |
A pedestrian crossover (also known as PXO) with or without flashing lights, requires drivers to yield the whole roadway to pedestrians. Drivers must stop and wait until pedestrians finish crossing the street. Common in Canada, always accompanied by "Stop for pedestrians" sign. Usually used around schools and on roundabouts - see definition in Ontario rule book. | highway=crossing
|
|
An unmarked crossing with sloped curbs. | highway=crossing | ![]() |
A crossing with a traffic island (implicit mapping with a property or explicitly to mark a footway or similar on a traffic island crossing). | highway=crossing
The following method is obsolete:
|
|
A supervised crossing (additional property)
|
highway=crossing
|
![]() |
Traffic signals without a pedestrian crossing.
|
highway=traffic_signals | ![]() |
Tagging crossings as ways
Some mappers tag a way segment of a highway=footway or highway=cycleway that crosses multiple roads and/or railways with crossing=traffic_signals to indicate that there is only one traffic light controlling the cyclist or pedestrian, to avoid multiple nodes
being tagged as crossings.
Similarly, a way segment of a highway=footway is being tagged crossing=uncontrolled + crossing_ref=zebra to indicate its full length.
Disadvantage: Please note that this mapping style makes it difficult for routers and navigation systems to recognise that there is a crossing for pedestrians or cyclists along the road since there is no special crossing node on the route being evaluated.
Better alternative: For "controlled crossings" with traffic signals or give-way/stop signs you can add the place where you have to stop/where the traffic light or stop sign is as node with highway=traffic_signals, highway=give_way or highway=stop.
See also
- Approved features/Road crossings - the original proposal for this tag
- Cycle routes - closely linked with many toucan crossings
- Proposed features/Traffic island - an abandoned proposal about traffic islands
- Proposed features/crossing=marked - a proposal on crossing=marked as a solution to a semantic problem of certain crossing tags
- Proposed features/Unambiguous crossings - a page for organising other proposals about improving this key
External links
Pedestrian crossing - international differences and terminology
- Crosswalks - San Francisco Better Streets