|The key turn can be used to specify the direction in which a way or a lane will lead|
|Used on these elements|
|Tools for this tag|
The turn=* key can be used to specify the indicated turn or merge direction for a way or lane. The key is predominantly used with the lanes suffix (turn:lanes=*) to tag indicated turn markings for individual lanes at intersections or other junctions. While turn lane markings are the most obvious method of indicating turn directions, the turn=* key can be used in any situation where a manoeuvre is signed, marked or otherwise implied by road markings.
In situations where the turn=* key is insufficient to map an intersection correctly (where there are complex lane connections or manoeuvres, or where the indicated turn doesn't represent the actual lane connections) the connectivity relation can be added to represent the exact relationships between lanes.
Indicated vs Restricted
Lack of the indicated turn for a lane or way does not mean that some turn is not allowed. In some cases missing turn signage does not mean that it is banned.
At intersections where turn=* and turn:lanes=* keys are used, legal turning restrictions are expected to be also specified, turn:lanes=* tagging does not replace turn restrictions, it is merely an addition providing extra detail.
Identifying a turn indication
The shape and method of indicating turns vary significantly between jurisdictions, and even within the same road network. A turn can be indicated through a variety of means, including regulatory signs, turn markings, road geometry or other road markings.
A guide sign with one arrow per lane or a diagrammatic sign that depicts each lane
When markings are not indications
An arrow pavement marking may be used for something other than a turn indication, in which case it is unnecessary or counterproductive to add a turn:lanes=* tag:
A one-way arrow is often painted onto either end of a parking aisle to avoid awkward conflicts between vehicles. Use oneway=yes instead of turn:lanes=through.
In the United States, particularly in California, wrong-way arrows are often painted onto the end of a one-way road or near a merge to alert drivers who are going the wrong way. These arrows have a different arrowhead than turn lane arrows. Despite the straightness of the arrow a driver can turn left or right from here.
Signage which use arrows or other symbols to indicate sharp bends or turns is also not indicative of a "turn", and are best mapped using keys such as traffic_sign=* and hazard=*.
How to map
The turn=* key is used on the way or ways:
- from the first indication via road markings, signposts or similar indications (including traffic being guided by solid lines into a particular turn, e.g. "turn pockets")
- to the junction or the completion of merge.
Indicated turns by direction
On bi-directional ways, the turn indications for one direction of the road can be specified using the turn:forward=* or turn:backward=* suffixes. While not technically required, the turn:both_ways=* key can be used to explicitly indicate the indicated turns apply to both directions of the way.
There is generally no need to apply a direction suffix to the key when specifying the indicated turns for a one-way highway. Using a direction prefix on a one-directional way is generally confined to situations where there are vehicle-specific direction restrictions, or alternating one-way highways.
Indicated turns by lane
- Where the indicated turn differs between lanes on a way, the
:lanessuffix is used to specify each lane's indicated turn (see Lanes for further details on the suffix). In short:
- The key changes to turn:lanes=*
- View the road in the direction of the osm-way.
- Add the lane-values to the value, starting with the leftmost lane and ending with the rightmost. Separate each lane-value with a | (vertical bar)
Indicated turns by direction and lane
- The direction and lanes suffixes can be combined to define the indicated turns for each lane in a specific direction for a way: turn:lanes:backward=*, turn:lanes:forward=* , and turn:lanes:both_ways=*
- When using the ":lanes" suffix, the number of values specified separated by vertical lines (
|) must match the number of lanes according to their direction.
Same indicated turn for all lanes
- The turn=* key can be used without the :lanes suffix to specify the indicated turn for all lanes in a way. This usage is significantly rarer amongst taggers and is less supported by tools and data consumers that the widely adopted turn:lanes=* variant.
- A majority of editors will use the turn:lanes=* tag even in situations where the indicated turns are the same for each way, or where there is only a single lane.
These values can be used by themselves: to indicate that a lane or way can only make a particular turn; or combined with other values to create multiple turn directions for a way or lane.
If you specify multiple values any one of separate lanes, the lanes order must be preserved and must still be separated by vertical lines. A lanes tag whose value is given as turn:lanes=a1;a2|b1;b2 specifies values for two lanes, not three, each lane having two values, and is equivalent to turn:lanes=a2;a1|b2;b1 but not to turn:lanes=a1;b2;a2|b1.
by separating them with a semicolon (
|left;through / through;left||left turn & through (only) (the variant of used values is to be discussed, see table of some distribution examples here: distribution)|
|right;through / through;right||through & right turn (only) (the variant of used values is to be discussed, see table of some distribution examples here: distribution)|
Rarely Used Tags
More complicated or unique turn indications can be mapped using user defined tags.
There is turn:lanes=slight_left|slight_left;slide_right|slight_right mapped once, this is sole case of turn:lanes=* value containing "slide" text.
|slide_left||slide to left. Note: This is a new tag that is hardly ever used. You can create a similar tag with a more appropriate name|
|slide_right||slide to right. Note: This is a new tag that is hardly ever used. You can create a similar tag with a more appropriate name|
Motorway with links and destinations
The following example shows a motorway with two links.
|lanes=3 (lanes=1 on ramp roads)|
Example for a one-way
There are three lanes on a one-way, and the leftmost lane will turn left, the rightmost lane will turn right and the lane in the middle will go straight through the next junction.
Example for a road with both directions
There are two lanes on the road in each direction. Those lanes running in the same direction as the osm-way are considered to be "forward"; the others "backward". The left lane of the forward direction will turn left and the right lane will go straight through and also turns right. The left lane of the backward direction will go straight through, the right lane will turn right and also continue straight through.
Special turn indications for specific vehicle types
In some cases, some vehicles—typically buses or all psv vehicles or bicycle or taxi will have special turn indications.
turn:bus:lanes=* / turn:psv:lanes=* / turn:bicycle:lanes=* / turn:taxi:lanes=* may be used for such tagging.
As with other
:lanes tags vehicle type is added before "
:lanes" part (e.g.
hgv:lanes, see Lanes).
- TurnLanes-tagging plugin - graphical tag editor for uni and bidirectional turnlanes
-  - style for lane tags
-  - preset for lane tags
Adding a visual turn lane editor to iD was stated as planned during July-August 2016.
- OsmAnd supports
turn:lanes=*to show lane recommendations in navigation mode. Note, however, that the basic turn=* tag is not supported, and there are no plans for supporting it in the foreseeable future (see OsmAnd/issues/12481).
- Organic Maps navigation supports
- Magic Earth navigation supports
- OSM2World uses
turn:lanes=*to render 3d roads with painted road markings.
- OSM Lane visualizer
- The Mapbox Navigation SDK, which is powered by OSRM and Valhalla, displays lane icons during turn-by-turn navigation based on the turn:lanes=* tag of the way immediately preceding the intersection.
Quality assurance tests
- Lanes for the description of the turn:lanes=* suffix.
- Forward & backward, left & right for describing the direction of the highway.
- change=* – turn lanes often come with lane change restrictions
- destination:lanes=* - for describing the name of the city the street is heading to.
- The proposal for the lanes suffix
- Legal turning restrictions using the restriction relation
- Lane assist - best practices for lane assistant using turn=* and destination=*
- road_marking=* – A road marking or line, usually painted. Please note this tagging is highly experimental