Bicycle Network Analysis OpenStreetMap Tag Guidelines
One-way cycle track (protected lane)
Roads without bike infrastructure
Pedestrian Hybrid Beacon (HAWK)
Rectangular Rapid Flash Beacon (RRFB)
This document provides guidelines for how to tag bike infrastructure and other relevant features in OpenStreetMap (OSM) in support of PeopleForBikes’ Bicycle Network Analysis (BNA). Please keep the following in mind:
OSM data is formatted as key=value pairs called “tags” that can be extended for greater specificity, such as key:subkey=value. The key is a category or class of features and the value is a specification of that category. For instance, maxspeed is a key indicating the speed limit and the value would be entered accordingly. The value can be open-ended, e.g. maxspeed=25 mph, or it can be selected from a standardized set of options, e.g. cycleway=lane or cycleway=track. Key=value pairs are designated in OSM as depicted below.
Recognizing your time is valuable, it will be useful to understand how the BNA stress ratings operate so that you can prioritize tagging appropriately.
In the absence of data, the BNA makes assumptions where necessary in order to rate road segments. the default assumptions are provided as a downloadable file linked on the BNA methodology page. Your time is best spent in places where additional information may be the difference between a high stress route designation and a low stress route designation. For example, a conventional painted bike lane on a high-speed arterial roadway is not going to rate as low stress regardless of the detail available in OSM. This type of location is low priority for tagging. On the other hand, a collector road (tagged highway=tertiary) with moderate speeds and a bike lane may rate as high or low stress depending on the width of the bike lane, the speed limit, and whether parking is allowed. Such a facility should be prioritized for tagging.
Another common scenario to consider: local streets (tagged highway=residential) are assumed to be low stress unless certain factors such as high speeds or unusually narrow roadways with parking are present. Unless you know that these factors exist it is most efficient to dedicate your time and energy elsewhere in the map, since those roads will already be rated appropriately without additional information.
Across street types, designated bike infrastructure, traffic signals, and crossing aids are especially impactful tags to incorporate.
Priority Items |
Trails or sidepaths |
Cycle tracks (cycleway=track or highway=cycleway if drawn as a separate centerline) |
Traffic signals (highway=traffic_signals) |
Crossing aids (islands, RRFBs, HAWKs) |
Required tags | Optional tags |
highway=cycleway Note: Must be drawn as its own centerline. | surface=paved |
Required tags | Optional tags |
Right side of the road cycleway:right=lane parking:lane:right=no_parking Left side of the road cycleway:left=lane parking:lane:left=no_parking Note: Left and right are relative to the direction the line is drawn in OSM, not necessarily the direction of travel on the bike lane. For contraflow lanes see section on contraflow. | cycleway:right:width cycleway:left:width parking:lane:both=no_parking Note: Width values default to meters in OSM. To denote feet and inches, use the notation ‘ and “ respectively with no spaces between. E.g. cycleway:right:width=3’10” |
Required tags | Optional tags |
Right side of the road cycleway:right=lane parking:lane:right=parallel Left side of the road cycleway:left=lane parking:lane:left=parallel | cycleway:right:width parking:lane:right:width cycleway:left:width parking:lane:left:width Note: Width values default to meters in OSM. To denote feet and inches, use the notation ‘ and “ respectively with no spaces between. E.g. cycleway:right:width=3’10” Note: Cycleway width should either be measured from any parking-related pavement markings (such as a T) to the edge line, or as the leftover space after deducting eight feet for the parking. If both cycleway and parking widths are provided these should add up to the total width of the combined space. |
Required tags | Optional tags |
Right side of the road oneway=yes cycleway:right=opposite_lane Left side of the road oneway=yes cycleway:left=opposite_lane | cycleway:right:width cycleway:left:width Note: Width values default to meters in OSM. To denote feet and inches, use the notation ‘ and “ respectively with no spaces between. E.g. cycleway:right:width=3’10” |
Required tags | Optional tags |
Right side of the road cycleway:right=lane parking:lane:right=parallel Left side of the road cycleway:left=lane parking:lane:left=parallel | cycleway:right:width parking:lane:right:width cycleway:left:width parking:lane:left:width Note: Width values default to meters in OSM. To denote feet and inches, use the notation ‘ and “ respectively with no spaces between. E.g. cycleway:right:width=3’10” Note: Cycleway width should either be measured from any parking-related pavement markings (such as a T) to the edge line, or as the leftover space after deducting eight feet for the parking. If both cycleway and parking widths are provided these should add up to the total width of the combined space. |
Required tags | Optional tags |
Right side of the road cycleway:right=lane cycleway:right:buffer=yes Left side of the road cycleway:left=lane cycleway:left:buffer=yes Both sides of the road cycleway=buffered_lane | cycleway:right:width cycleway:left:width Note: Width values default to meters in OSM. To denote feet and inches, use the notation ‘ and “ respectively with no spaces between. E.g. cycleway:right:width=3’10” Note: Cycleway width in this case should include the width of the lane and buffer combined. |
Required tags | Optional tags |
Right side of the road cycleway:right=track Left side of the road cycleway:left=track | Cycle tracks can alternatively be mapped as a separate centerline, in which case they should be tagged as: highway=cycleway oneway=yes |
Required tags | Optional tags |
Right side of the road cycleway:right=opposite_track Left side of the road cycleway:left=opposite_track |
Required tags | Optional tags |
highway=cycleway Note: Two-way cycle tracks must be drawn as a separate centerline next to the main roadway. |
Photo credit: PeopleForBikes
Required tags | Optional tags |
highway=(residential, primary, secondary, tertiary, trunk, motorway, service, living_street, unclassified, trunk_link, primary_link, secondary_link, tertiary_link, motorway_link) Note: See https://wiki.openstreetmap.org/wiki/Key:highway for detail on all highway classifications Note: Service roads are assumed to be private streets and excluded from the analysis unless they are paired with the tag “bicycle=” and “designated,” “permissive” or “yes.” | maxspeed=* lanes:forward=* lanes:backward=* lanes:both_ways=* Right side of the road parking:lane:right=(parallel, diagonal, perpendicular, no_parking) parking:lane:right:width=* Left side of the road parking:lane:left=(parallel, diagonal, perpendicular, no_parking) parking:lane:left:width=* parking:lane:both:width=* Note: Insert whole number for maxspeed. Units default to kilometers per hour. For miles per hour, append a space and mph to the number. E.g. maxspeed=25 mph Note: Width values default to meters in OSM. To denote feet and inches, use the notation ‘ and “ respectively with no spaces between. E.g. parking:lane:right:width=8’10” |
Required tags | Optional tags |
highway=crossing crossing=traffic_signals Note: Crossing tags should be placed on a node feature at the point on the road centerline where the crossing is located. | May be combined with a line representing the crosswalk and tagged as either footway=crossing or cycleway=crossing |
Required tags | Optional tags |
highway=crossing flashing_lights=yes Note: Crossing tags should be placed on a node feature at the point on the road centerline where the crossing is located. | May be combined with a line representing the crosswalk and tagged as either footway=crossing or cycleway=crossing |
Required tags | Optional tags |
highway=crossing crossing=island Note: Crossing tags should be placed on a node feature at the point on the road centerline where the crossing is located. Note: This should only be used where the island provides sufficient space to offer safe refuge from passing vehicles (generally 6 feet). | May be combined with a line representing the crosswalk and tagged as either footway=crossing or cycleway=crossing |
Required tags | Optional tags |
highway=traffic_signals Note: Traffic signals should be placed on a node feature at the point on the road centerline where the signals are located. |
Required tags | Optional tags |
lanes:forward=* lanes:backward=* lanes:both_ways=* Note: Insert whole number, no units. E.g. lanes:forward=2 Note: Travel lanes are designated forward or backward in relation to the direction the line is drawn in, as denoted by arrows on the line in OSM. | turn:lanes:backward= see below turn:lanes:forward= see below turn:lanes:both_ways= see below Value options for all three turn lane keys include: (left, slight_left, sharp_left, through, right, slight_right, sharp_right, reverse, merge_to_left, merge_to_right) Note: To indicate turn lanes for multilane streets, use a vertical bar to separate lane designations and a semicolon to separate different options for a single lane. E.g. For three lanes in the backward direction -- turn:lanes:backward=none|through; right|right |
Required tags | Optional tags |
maxspeed=* Note: Insert whole number. Units default to kilometers per hour. For miles per hour, append a space and mph to the number. E.g. maxspeed=25 mph |
The BNA uses route stress ratings to determine how well people are connected to important destinations. Updating destination data for your city in OSM will enhance the accuracy of the BNA score. Large institutions like hospitals and universities are frequently already mapped in OSM, but smaller, neighborhood destinations can be more sparsely documented.
The following table provides a list of OSM tags that are used as destinations within the tool. Quoted descriptions derive from the wiki documentation.
Tag | Description | Wiki link |
Core Services | ||
amenity=clinic | “[M]edium-sized combined medical centres and polyclinics with tens of doctors, nurses and associated staff which offers outpatient care, diagnosis and treatment. Minor surgeries and ongoing treatments may be available here, as may drop-in emergency care.” | |
amenity=dentist | Dental practice | |
amenity=doctors | Doctor’s office | |
amenity=hospital | Hospital | |
amenity=pharmacy | Pharmacy | |
amenity= social_facility | Social services | http://wiki.openstreetmap.org/wiki/Tag:amenity%3Dsocial_facility |
shop=supermarket | Grocery store | |
Opportunity | ||
amenity=school | K-12 school | |
amenity=college | Vocational or technical college | |
amenity=university | University (or other institution of higher education) | |
Recreation | ||
amenity= community_centre | “Community centres are public locations where members of a community tend to gather for group activities, social support, informal and formal meetings, public information, events and festivities, and other purposes.” | http://wiki.openstreetmap.org/wiki/Tag:amenity%3Dcommunity_centre |
leisure=park | Park | |
leisure= nature_reserve | “A nature reserve is a protected area of importance for wildlife, flora, fauna or features of geological or other special interest, which is reserved and managed for conservation and to provide special opportunities for study or research.” | http://wiki.openstreetmap.org/wiki/Tag:leisure%3Dnature_reserve |
leisure=playground | Public playground | |
Retail | ||
landuse=retail | Area of predominantly retail commercial use | |
Transit | ||
amenity= bus_station | A bus depot where multiple bus lines stop. Not equivalent to a bus stop. | http://wiki.openstreetmap.org/wiki/Tag:amenity%3Dbus_station |
railway=station | Train station | |
public_transport= station | A transit station providing access to public transportation. |