From OpenStreetMap Wiki
Jump to navigation Jump to search
Public-images-osm logo.svg junction = yes
Small rendering example for crossroad names.png
A road junction as such Edit or translate this description.
Group: Named spots instead of street names
Used on these elements
may be used on nodesshould not be used on waysmay be used on areasshould not be used on relations
Useful combination
See also
Status: approvedPage for proposal


The tag junction=yes explicitly declares that an object is a road junction as such (crossroads, T intersection, Y intersection, any other type…).

However, typically on a node, a junction is implicitly defined by two roads sharing the same node. Therefore the explicit tagging is only necessary if the node has further properties, e.g. a name=* for named junctions in some countries.

The tag is also used on highway areas that need to be declared to be junctions.

When not to use

Do not use junction=yes for:

  • junction nodes being shared by roads, without further properties
  • motorway (or similar) junctions that can be tagged with highway=motorway_junction, as they serve for orientation and transport at great distances (and not for orientation in the local area).

How to use on a node

Simple crossroads

Junction yes example 1.png

Tagging the node that connects the two ways.

Simple 3-way intersections (Y intersection, T intersection)

Junction yes example 4.png

Tagging the node that connects the two ways.


If appropriate, you can optionally add highway=traffic_signals on the same node. If you also add a name=* tag, it might to better/clearer to use highway=traffic_signals on the connecting node and draw the junction=yes element as an area – so it is unambiguous where the name belongs to.

How to use on an area

Example id junction area.png

Draw an area (a closed way or a multipolygon) around the junction area as found on the ground. The area is tagged with junction=yes. The area shares nodes with the incoming and outgoing ways, so routing/turn-to-turn navigation engines can determine which ways are concerned. To define clearly what belongs to the area and what does not belong to the area, we require for each shared node (shared between the area and the incoming/outgoing highways)

  • that it shall not have any tags itself.
  • that it is shared between the area and only one highway, not multiple highways.

Usage examples

  • In some countries (Korea…), people orient themselves in the local area using the names of road junctions rather than the names of streets. While street names may also exist, they are less important for orientation. See “Named spots instead of street names” for details. In other countries (Poland…) some big junctions (usually interchanges) are named. A rendering engine should render the name of the junction. In these countries, you use junction=yes together with name=*.
  • This tag can give information about the extension of a junction. This can be useful for routing/turn-to-turn navigation engines. Because they know now what exactly belongs to a junction, they could count them and say for example “Go to the left at the second junction.” In countries like Korea, routing/turn-to-turn navigation engines could say things like “Go to the right in the XYZ junction.”