From OpenStreetMap Wiki
(Redirected from Key:lanes:forward)
Jump to navigation Jump to search
Public-images-osm logo.svg lanes
Dscf0444 600.jpg
Total number of traffic lanes available for motorised traffic. Edit or translate this description.
Group: Properties
Used on these elements
should not be used on nodesmay be used on waysshould not be used on areasshould not be used on relations
Useful combination
See also
Status: de facto


Use the lanes=* key to tag how many traffic lanes there are on a highway (described on this page) or other features like a piste or running track (described on the respective pages). To tag individual lanes of a road, see the article about the lanes suffix. Count excludes cycle lanes and motorcycle lanes that do not permit a motor vehicle. For tagging cycle lanes see cycleway=*. For tagging motorcycle lanes see motorcycle=* or lanes.

Note that it is valid to tag lanes count also in case where lanes are not marked with paint on the surface[1]


The lanes=* key should be used to specify the total number of  lanes of a road.

The following lanes should be included:

  • General purpose [W] traffic lanes suitable for vehicles wider than a motorbike.
  • [W] Bus lanes, that are reserved for public service vehicles (PSV), for example buses and taxis. Additionally to the total number of lanes, consider to tag the number of lanes reserved for PSV with lanes:psv=*. Similarly, one may do similar with lanes:bus=*, lanes:taxi=* etc.
  • [W] High-occupancy vehicle lanes (sometimes also called carpool lanes, commuter lanes, express lanes, transit lanes). The number of such lanes could be tagged using lanes:hov=*.
  • Lanes that are available to traffic at certain restricted times, for example during the rush hour, indicated by variable message signs. These lanes are called  spitsstroken(nl) in the Netherlands and Belgium, and  temporäre Standstreifen(de) in Austria, Germany and Switzerland. The "smart lanes" concept in the United States is similar, repurposing the roadway's shoulder=*. [1]
  • Longer slip-roads, for example on motorways and other fast major roads. Turning lanes for minor roads are not normally included. See turn=* for further details about tagging turning lanes.

And the following lanes should be excluded:

  • Minor slip roads without a deceleration/acceleration lane, i.e. the main road is wider only because of the intersecting road.
  • Lanes dedicated and marked for parking. Use parking:lane=* to provide information on if and how cars park.
  • Bicycle lanes. Use the tag cycleway=lane for those.
  • Emergency [W] shoulder lanes. See shoulder=* for further details.

If the number of lanes changes it is necessary to split the OSM way. This should be done as soon as:

  • a new lane has started (regardless of width), or
  • a lane has finished disappearing (usually a merge with another lane)

width:lanes:start/end can be used to mark that a lane gradually gets narrower.

Remark for data consumers
Many ways have not yet been tagged with the total number of lanes at all points, but only with the number of through lanes of a longer section. Therefore, data consumers can mostly treat the lanes tag as a minimum rather than an exact number.

If there are no marked lanes, the key width=* can be used.

Extended tagging

Lanes in different directions

If the lanes on a two way road are not distributed evenly between the driving directions, the keys lanes:forward=* and lanes:backward=* can be used in addition to the lanes tag. The key lanes:forward=* hereby refers to lanes which direction is equal to the direction of the OSM way, and lanes:backward=* to the opposite direction.

The lanes=* tag is widely misused to mean the lanes in each direction rather than the total lanes. If the mapper chooses to describe the forward and backward lanes, this potential ambiguity is avoided.

lanes:both_ways=* can be used for lanes which allow traffic in both directions, e.g., passing and center turn lanes.

See below for some examples of the usage of those keys.

Lanes reserved for specific vehicles

The number of lanes which are reserved for specific types of vehicles can be tagged by using the key lanes and adding a suffix that indicates the transport mode from the key access=*, e.g. lanes:bus=1 for a single lane reserved for buses. If it is necessary to specify the direction of those lanes, add the suffix :forward or :backward like in the previous section, i.e. lanes:taxi:forward=1 refers to single lane reserved for taxis in the same direction as the OSM way.

NOTE! The lanes:*=* key type can only be used to indicate the number of lanes that are reserved for a specific transport type on a way. It does not and cannot specify which lanes a transport type is restricted to.

If, for example, on a three lane motorway, heavy-good vehicles are restricted to the rightmost lane only, lanes:hgv=1 will not express that meaning! (lanes:hgv=1 means that hgv vehicles have one lane of the motorway reserved for them and doesn't specify which one, either.)

Restrictions for vehicles can be tagged using the :lanes suffix and tagging scheme, e.g. hgv:lanes=no|no|yes would restrict heavy-good vehicles to the rightmost lane.

Restrictions that only apply at certain times and days

For lanes that are restricted for parts of the day only, use the additional lanes conditions tag to indicate when the conditions apply. For example: lanes:bus:conditional=* or lanes:psv:conditional=*. See Conditional restrictions for more details.

No lane markings

Many narrow, cobblestone and rural roads do not have lane markings. Also, in some places, even broader roads that function as 4-laned highways may not have lane markings. To signify that a road has no lane markings, it is recommended to use an explicit tag like lane_markings=no or similar instead of an odd value for the lanes=* key like 0, 1.5 or none because the latter is ambiguous and may not be processed correctly by data consumers.[2]

For narrow roads (without marked lanes) in particular, it is very useful to tag the width=* of the road, see below.

Narrow roads

There exist roads with no marked lanes, which are two-way roads but without marked lanes and so narrow, that vehicles must slow down to pass each other. It is strongly recommended in such a case to tag the width of the carriageway using width=* (Note: do not mistake this with maxwidth=*). If the width varies a lot, the minimum width of the carriageway should be specified. If it is not possible or reasonable to determine the exact width, use an estimation and tag additionally source:width=estimated, e.g. as follows:


Sometimes on narrow roads  passing places exists, which allow vehicles to pass each other (see examples). They can be tagged using highway=passing_place. The lanes-count is not affected by them.


Photo Tags Remarks
Kingsteignton Street - - 89779.jpg lanes=2 A two-way residential road with two lanes. Consider additional tagging with parking:lane=*.
Dscf0444 600.jpg lanes=2 on the first line
lanes=2 on the second line
Each direction individually
A dual 2-lane highway, represented by two ways as there is a physical divider between them (each with oneway=yes).
Reelsen1.JPG lanes=2
Two-way road without marked lanes, but it has 1 lane in each direction. White markings on sides are delineators indicating boundary of the road. These lines do not, however, mark the individual lanes, only the edge of the road, so lane_markings=no should be used.
Narrow road.jpg lane_markings=no
and optionally:


A narrow two-way road without marked lanes and with an estimated width of four metres. It is not qualifying for tagging as road with two lanes as there is not enough space for vehicles to comfortably pass each other.
Scotland Kinlochewe SingleTrackRoad.jpg highway=passing_place (on the node) A passing place on a road.
cycleway with two marked lanes highway=cycleway
A cycleway with two marked lanes.
HillsideRdCaversham.jpg Either
depending on the country.
A road with two lanes and a median. Depending on the country, special road restrictions may apply to the middle lane. If the middle lane can be considered a separate lane, using the suffix :both_ways could reduce this to lanes=3 and lanes:both_ways=1, because the number of lanes in forward and backward directions are then evenly distributed and need not to be tagged explicitly
Simpleuklanes middle.jpg lanes=5
Assuming the OSM way runs from left to right
A road with five lanes, whereas three lanes run in forward direction, i.e. in the same direction as the OSM way. The turning lanes should be tagged using turn=* on the way.
Zeitabhängige Busspur.jpg lanes=3
lanes:bus:conditional=1 @ (Mo-Fr 07:00-19:00)
A road with three lanes where the rightmost lane is dedicated to buses at the given time. The merging of the leftmost lane should be tagged with the key turn=*. See the article Conditional restrictions for an detailed explanation of the :conditional suffix.


If for a two way road only the total lane count is tagged and this number is even, it is assumed that the lanes are allocated evenly to both driving directions (e.g. lanes=6 assumes the road has 3 lanes for each direction).

Although it is advisable to always add the lanes tag to roads with lanes, as usual data will be sometimes missing. It is usually reasonable for data consumer to try guessing. Data consumer may make any guesses, but following assumptions often work well:

Tag(s) Assumed lane-count
two way
Assumed lane-count
one way
2 1 If the actual number of lanes is equal to the given assumption, the lane count is usually not tagged.
1 1 If the actual number of lanes is equal to the given assumption, the lane count is usually not tagged.
These should usually be mapped as two separate ways 2 or more The actual number of lanes should always be tagged.

Displaying the number of lanes

Related tags

See also

  1. see discussion from June 2019 on tagging mailing list ( ) and discussion on German forum from September 2019 ( ), additionally several remarks on the discussion page. The change to explicitly mentioning "marked" was made 2014 as result of another discussion in the German forum but not from anywhere else.