|Oneway streets are streets where you are only allowed to drive in one direction.|
|Used on these elements|
|Documented values: 4|
|Status: de facto|
|Tools for this tag|
The oneway tag is used to indicate the access restriction on highways and other linear features for vehicles as appropriate. This means that this tag should be used when this way can only be used in one direction by vehicles. Note that a no entry sign prohibiting entry from one side or across one point of the road, does not automatically imply that the entire road is oneway (look for oneway signs or road markings along the road).
Take a look on the access=* page to add more detailed restrictions.
How to map
To mark a highway (or other linear feature) as oneway, simply add a oneway tag:
Note that the oneway tag is defined in relation to the direction the linear feature ("way") is drawn in OpenStreetMap. Identifying the direction of a way describes how to determine the direction of a way in the main OpenStreetMap editors.
If the oneway restriction is in the opposite direction to the drawn way, the fix in most cases is to turn the way around ("reverse way" tool in the map editors) and apply oneway=yes. If in a (very) rare case, the direction of the way cannot be changed, you can instead tag it as oneway=-1.
If the road is only a oneway road in certain parts, you'll have to split up the way in several parts.
Implied oneway restriction
Some tags or tag combinations (such as junction=roundabout, highway=motorway and maybe others) imply oneway=yes by definition (separate carriageways for the two directions of traffic are part of the defining characteristics for motorways in the Vienna Convention on Road Traffic) and therefore the oneway tag is optional. If a tag implies a oneway value this may be noted on the implying tags wiki pages, but read implied on such pages with caution, since not all mentioned implied values are implied by definition. Besides the mentioned tags there is no general agreement which tags imply oneway=yes, different applications may handle this differently, so it is generally recommendable to be explicit whether there is a oneway restriction.
oneway = no
oneway=no is used to confirm that (a part of) a street is not a oneway street. (Use only in order to avoid mapping errors in areas where e.g. oneway streets are common, or to override defaults.)
False oneway streets (Faux oneway)
False oneway streets (German: Unechte Einbahnstraßen) are a concept in some countries which refers to two-way streets which have a no entry sign at one end. These can be identified by their lack of oneway sign.
There are two alternatives of how to map this:
- Split a small section (about 1 metre) at the entrance to the street and tag it with oneway=yes. (Prefered by some, but perhaps less accurate since it is not a true oneway street).
- Using a restriction relation where the no entry sign is. The tag of the relation is then e.g. restriction=no_entry, and exeptions can be mapped using except=* (e.g. for bicycles, busses, etc.)
Subkeys and exceptions
Oneway can be used in conjunction with vehicle type in order to tag exceptions. I.e. oneway:moped=no for a one-way streets where mopeds are allowed to drive in the opposite direction, oneway:bicycle=no for bicycles. Use cycleway:left=* / cycleway:right=* / cycleway:both=* to detail bicycle infrastructure or use the older cycleway=opposite/opposite_lane/opposite_track, see Bicycle for examples. See Key:access for other possible sub-values.
Time conditional restrictions
If a road is one-way at certain times of day, and one-way in the other direction at other times then it can be tagged with oneway=reversible along with applicable oneway conditional restrictions. If the direction changes often, oneway=alternating might be more appropriate.
Legal oneway restrictions for a mandatory direction of travel for boats on waterways can be mapped with oneway= as well, for instance when signposted with a seamark or when this is part of legislation. The direction of flow of water is normally defined by the direction of the osm way. For special cases in areas with bi-directional water flow please consider different tags from oneway=, since oneway= describes the legal direction of travel, not the physical direction of flow.
flow_direction=both was used on natural waterways and pipelines to tag that flow can happen in both directions.
List of values
- oneway=yes (discouraged alternatives: "true", "1")
- oneway=no (discouraged alternatives: "false", "0")
- oneway=-1 (discouraged alternative: "reverse")
- oneway=reversible - Roads that alternate between different directions regularly but infrequently. This tag could be used with additional conditional restrictions as explained on its page
- oneway=alternating - Roads that alternate between different directions regularly and often
The semantics of any other value is undefined and the use of other values is discouraged.
Note: The value -1 is only needed when the direction of oneway travel is in the opposite direction of that used when the way was drawn. One can avoid this situation by reversing the direction of the drawn way before applying the oneway tag.
Interpretation for routing
The oneway tag can be interpreted (for routing purposes) to the generic system as follows:
This assumes that oneway restrictions do not apply to pedestrians. This in in line with the meaning of common one-way traffic signs, such as sign C, 1a in the Vienna Convention on Road Signs and Signals ("entry is prohibited for all vehicles").
Note that even on a formal highway=footway (with a "footway" traffic sign that in general means that vehicles may not enter, such as D, 5) some vehicles may still enter; for instance when certain types of vehicles (such as bicycles) or certain groups of road users (such as destination traffic) have been exempt from this prohibition by an additional panel. Even in such cases oneway=* may not apply to pedestrians but only to vehicles.
Although unusual, oneway on pedestrian highways (path, footway, track) is possible in some countries. While it is sometimes represented with the disputed tag: oneway:foot=* it has been argued that the tag foot:backward=no should be preferred, as it doesn't suffer from the problems of the former. In the past highway=path + oneway=yes was used by some mappers to mark that pedestrians may move only in one direction, these situations should be corrected, as oneway in OSM only applies to vehicles. Furthermore a highway=path may be open to others road users such as cyclists.
Not all current usage reflects the above theory. For example, in late 2021 highway=path + oneway=* used on 32000 (out of total 72000) objects, oneway:foot=yes on 550 (out of 2200 total oneway:foot=* objects, mainly used as "oneway=yes + oneway:foot=no") and foot:backward=no on 110 (out of total 260), showing that some mappers consider oneway=* valid for all kinds of movement, including foot. On the other hand, there is a massive number of one-way streets tagged only with oneway=yes which are bidirectional for pedestrians. Data consumers could follow the vehicle-only theory in most cases but pay special attention and possibly deviate from that theory if oneway:foot=* is present or if oneway=* is set on a footway. Of course, data consumers may always decide to interpret tags however they deem suitable.
Cases of oneway pedestrian traffic includes some hiking trails - some permanently, some during the high season crowding, border crossing, exit-only passages and more. Mandatory oneway traffic for pedestrians also has been used as a measure for social distancing against COVID-19.
The following table lists country-specific information needed for correct interpretation of oneway tags.
|Country||Country-specific implications of oneway tags|
|Netherlands||Oneway restrictions apply not just to vehicles, but to "voertuigen, ruiters en geleiders van rij- of trekdieren of vee". In OSM context, this e.g. means oneway=yes implies not just vehicle:backward=no but also horse:backward=no (unless oneway:horse=no).|
|United Kingdom||Oneway restrictions also apply to horse riders. In OSM context, this e.g. means oneway=yes implies not just vehicle:backward=no but also horse:backward=no (unless oneway:horse=no).|
Possible tagging mistakes
Do not use access-tags to specify exceptions to oneway-tags. Exceptions to oneway-tags must also be specified with oneway-tags. For example:
- access=* - General access restriction key.
- Set of tags that imply oneway=yes according to iD editor
- Pull request to consider implied onewayness in Default Map Style
- foot:backward=no consistent oneway restriction for pedestrians
- oneway:foot=* - disputed oneway restriction that apply to pedestrians