From OpenStreetMap Wiki
Jump to navigation Jump to search
Public-images-osm logo.svg cycleway
Dsc01078 clip.jpg
Cycle lanes or tracks provided within the carriageway or next to it. Show/edit corresponding data item.
Group: cycleways
Used on these elements
should not be used on nodesmay be used on waysshould not be used on areasshould not be used on relations (except multipolygon relations)
Documented values: 16
Status: de facto

Add the cycleway=* tag to a highway=* to map cycling infrastructure that is an inherent part of the road. This specifically applies to cycle lanes which are always a part of the road, and often also applies to separated cycle tracks if they are running parallel and next to the road.

Cycle lanes

A bicycle lane is an inherent part of the road itself. It has no physical separation from the other lanes except the painting on the road. In North America, known as a class II bicycle facility. Notably, there is no curb between the cycle lane and the road. If there is a space and possibly plastic marker posts, but no physical separation, this may be called a buffered bike lane.

Dedicated cycle lanes

Main article: Forward & backward, left & right
cycleway=lane is used to tag two-way streets where there are cycle lanes on both sides of the road, or sometimes for one-way streets where there is a lane operating in the direction of main traffic flow.
Consider using the cycleway:left=lane and/or cycleway:right=lane tags instead for a cycle lane which is on the left and/or right side.
Note that "right" and "left" are relative to the direction in which the way was drawn in the editor, and not necessarily the direction of real-world travel. (In the iD editor, for example, the direction is indicated by arrows at the mid-point of each segment of the way.)
It should then be assumed that cycle traffic is allowed to flow in the customary direction for traffic on that side of the road (which, for oneway=yes roads, is the same on both sides and in agreement with the motorised traffic).
Some countries have two different types of cycle lanes: One with a strict segregation that is reserved exclusively to cyclists and one with a soft segregation, usually a dashed line. To distinguish between these two types of cycle lanes, the cycle lane can additionally be tagged with cycleway:lane=exclusive or cycleway:lane=advisory respectively. Recording this distinction can be useful information for routers because exclusive cycle lanes are usually preferred by cyclists over dashed cycle lanes.

A contraflow cycle lane on the left side of a one-way street. Tagging (assuming OSM way direction is from far to near): cycleway:right=lane + cycleway:right:lane=advisory + oneway:bicycle=no + oneway=yes (indicates the oneway-motorcar-lane)
cycleway=opposite_lane with oneway:bicycle=no
You might use cycleway=opposite_lane for a contraflow cycle lane, that is, a cycle lane travelling in the opposite direction to all other traffic on a oneway=yes road.
These roads should normally also be tagged with oneway:bicycle=no.
Note: This value has some problems, see #Problems with opposite* values. Don't use the cycleway:left=opposite_lane and cycleway:right=opposite_lane tags either, see Talk:Key:cycleway:left.
Instead, use oneway:bicycle=no together with cycleway:left=lane and/or cycleway:right=lane. See in the section cycleway=lane one section above this one on this page or in the Forward & backward, left & right OSM wiki article for how OSM uses 'right' and 'left', which may not be the same as the real-world usage.
cycleway=opposite with oneway:bicycle=no
Use cycleway=opposite for situations where cyclists are permitted to travel in both directions on a road which is one-way for general traffic, in situations where there is no dedicated contraflow lane marked for cyclists.
Note: This value has some problems, see #Problems with opposite* values.
In practice there is typically a very short section of road, sometimes called a "cycle plug", where cycles are excepted from the no-entry by means of a short lane and/or a short track that is separated by an island.
These roads should normally also be tagged with oneway=yes and also with oneway:bicycle=no.
Streets like this are common in Belgium, the Netherlands and Denmark. They are less common in the UK, but have become increasingly frequent following a change in road signage that now allows 'no entry' signs to be qualified with "except cycles".

Buffered cycle lanes

Add cycleway:buffer=*
A buffered cycle lane is separated from the car lanes with extra space. This is still tagged as cycleway=lane but with cycleway:buffer=* added. For more specific tagging, the cycleway:left:buffer=*, cycleway:right:buffer=*, or cycleway:both:buffer=* variants can also be used.

Shared cycle lanes

Shared lane with "sharrows" in Toronto, Canada
Cyclists share a lane with motor vehicles, and there are markings indicating that motorists and cyclists should share this lane.
The road markings are usually there to highlight a cycle route or to remind drivers that you can cycle there. Used for the on-road shared-lane markings, also called  sharrows or pictogram corridors.
In Netherlands and Belgium in particular, the tag is also used to indicate suggestion cycle lanes (fietssuggestiestrook on Wikipedia). To distinguish between the two, it can additionally be tagged with cycleway:lane=pictogram for sharrows or cycleway:lane=advisory for suggestion cycle lanes respectively.

A contraflow bus lane which is also a contraflow cycle lane. Tagging: cycleway:left=share_busway + oneway:bicycle=no + oneway:bus=no + oneway=yes former cycleway=opposite_share_busway + oneway:bicycle=no + oneway:bus=no + oneway=yes
A special lane reserved for public transport on which cyclists are also allowed to bike.
On a oneway=yes road, this is a special contraflow lane that is reserved for public transport on which cyclists are also allowed to bike in the opposite direction to general traffic.
Note: This value has some problems, see #Problems with opposite* values
Consider using the cycleway:left=opposite_share_busway or cycleway:right=opposite_share_busway tags instead, as this describes on which side the contraflow shared bus lane is.
As the discussion on Talk:Key:cycleway:left shows, opposite* are no valid values for cycleway:left=* and cycleway:right=*. Use oneway:bicycle=no together with cycleway:left=share_busway and/or cycleway:right=share_busway, instead.
These oneway=yes roads should also be tagged with oneway:bicycle=no. Also tag with oneway:bus=no, or instead use oneway:psv=no if taxis are also permitted to use the contraflow bus lane.
In general, this indicates that cyclists share the road space with other traffic.
Note: This has also formerly been used on cycleways which were mapped as separate ways tagged as highway=cycleway before the segregated=* tag was formalized. Its use with highway=cycleway is now considered obsolete.

Cycle tracks

A cycle track is separated from the road by curbs, parking lots, grass verges, trees, non-flexible bollards or another physical barrier, but is running parallel and next to the road. In North America this is called a protected bike lane, separated bike lane, greenway, green lane, or class IV facility[1].

Note that a cycle track may alternatively be drawn as a separate way next to the road which is tagged as highway=cycleway[2]. Both methods each have their pros and cons. While adding a single tag to an existing way takes less time and still often describes the cycle track accurately, a separately tagged cycle way is generally more flexible and allows to capture more detail (note here that higher complexity increases the potential for routing errors). When mapping a cycle track as its own way, do not use any of the tags described below.

It is of paramount importance, to properly connect separately drawn cycle tracks to general roads and to other paths. This is both to reflect ground truth and to aid routing algorithms, which cannot 'understand' or take a chance on this by themselves, even though the distance might be less than a metre, or even if lines cross but the ways do not have merged nodes.

This indicates a cycle track which is associated with a highway. As with cycle lanes, you can use cycleway:left=track and cycleway:right=track to indicate on which side of the road the track lies, relative to the direction in which the way was drawn in the editor.
In the USA, general practice is to use this tag when the bike lane is protected by parking with or without bollards/flex posts. E.g. the parking lane is between the vehicle travel lane and the bike lane. Where the bike lane is bi-directional and protected by bollards, general practice has been to draw this bike lane as a separate way even if it is not vertically separated from the vehicle travel lanes.
Use cycleway=opposite_track for a contraflow cycle track, that is, a cycle track travelling in the opposite direction to other traffic on a oneway=yes road.
Note: This value has some problems, see #Problems with opposite* values
Consider using the cycleway:left=opposite_track or cycleway:right=opposite_track tags instead, as this describes on which side the contraflow track is.
As the discussion on Talk:Key:cycleway:left shows, opposite* are no valid values for cycleway:left=* and cycleway:right=*.
Use oneway:bicycle=no together with cycleway:left=track and/or cycleway:right=track, instead.
These roads should normally also be tagged with oneway:bicycle=no.

Other values

Advanced stop line in Toronto
Indicates an advanced stop line or bike box at junctions. Use cycleway=asl on a node forming part of the road's way, located at the position of the secondary stop line. Data users either need to work out the closest junction that it relates to and thus the direction of traffic that it applies to themselves, or alternatively you can use direction=forward or direction=backward to make it explicit and unambiguous.
Used to indicate that a road has no designated infrastructure for cyclists, but shoulders (a.k.a. breakdown lanes) are navigable and legal to cycle on. Especially on rural roads with high speed limits, the existence of a shoulder usable by cyclists can make the difference whether the road is usable at all (semi-)safely for cyclists. Not every shoulder=* is automatically usable for cyclists: Some shoulders are used for parking (parking=shoulder) instead, not all shoulders are paved (with asphalt, e.g. grass pavers). Additionally, shoulder=yes is typically only mapped for shoulders that are broad enough to accommodate a car. For cyclists however, a less wide shoulder is fine, too.
Can be used to indicate that a cycle track associated with a highway has been mapped as a separate OSM element (i.e., is tagged with highway=cycleway). Usage is limited, but the meaning is similar to the use of sidewalk=separate, and can potentially be used when simplifying geometries for rendering. It also acts as a hint to avoid duplicating an existing cycleway by adding cycleway=track to a highway. It has the same intended meaning as cycleway=sidepath. Don't confuse with segregated=yes
Used to indicate that road has no cycleway infrastructure. Note that it may be placed on almost all ways polluting tag list without significant benefit, but it allows to explicitly note that road was surveyed for bicycle infrastructure.
Bicycle crossing.
See taginfo for some other commonly-used values.

Problems with opposite* values

opposite* values were invented in a time when using oneway:bicycle=* and suffixes for directions and sides were uncommon. But the tagging system evolved.

As several paragraph on the discussion page show, opposite* values are problematic as they combine the direction and the infrastructure in one value and do not leave room for different types of cycleway on each side.

A better alternative, seems to be using oneway:bicycle=no together with cycleway:left=* and/or cycleway:right=*. See discussion page.

Note: As the discussion on Talk:Key:cycleway:left shows, opposite* are no valid values for cycleway:left=* and cycleway:right=*, which is another point for consistently using :left and :right instead of opposite*.

Supplementary details

If tracks or lanes for bicycles are tagged on a highway, the prefix cycleway: can be used as a namespace for other tags. This has the meaning of limiting the details to just the cycleway. Additionally the namespace can be combined with :left, :right, :both suffixes in the usual way, resulting in cycleway:both=*, cycleway:left=*, cycleway:right=* tags and their variants:

This is not currently widely understood by rendering software or other data consumers. For high level of complexity like tagging surface, for tracks in particular, consider drawing the track as its own way way, parallel to the road: see highway=cycleway.

Possible tagging mistakes

If you know places with this tag, verify if it could be tagged with another tag.
Automated edits are strongly discouraged unless you really know what you are doing!

See also

External links

  •  Bike lane
  •  Bikeway safety - a measure of how protected a bike lane is from other traffic, could be a possible data value to inform planning