Tag:restriction=no_entry
![]() |
| Description |
|---|
| Forbids the entry into a two-way street |
| Group: restrictions |
| Used on these elements |
| Requires |
| Useful combination |
|
| See also |
| Status: in use |
| Tools for this tag |
|
Denotes whether one is able to enter a road from one side or not without the road being an actual one-way road (i.e. one can turn around in the street, only entering it from one side is forbidden).
Rationale
Though the "No entry" sign is usually combined with one-way roads, it doesn't directly sets up a one-way road in many countries and merely tells vehicular traffic that they can't enter the road from that side (they're informally called "false one-way streets" or "faux one-ways" for that reason).[1] restriction= is an easy and straightforward way to set up no-entry restrictions on OSM without resorting to various hacks (see #Alternatives below).
Usage
Create a turn relation and select the
ways you can't enter the road from with , the
from
way you can't enter with and the
to
node at the intersection with . Unlike most other turn restriction,
viarestriction= can take multiple members. It still is limited to only one
from member, though.
to
If the no entry doesn't apply to every mode of traffic, add it to except=* (e.g. except=bicycle). If this restriction applies to only certain traffic modes, add a suffix of the vehicular mode to restriction=* (e.g. restriction:hgv=* for heavy goods vehicles).
Optionally, add a traffic_sign=* to the relation.
Support
Support for restriction= isn't universal and there are varying states of support between each tool:
Routers:
- All three routing engines on OSM (Grasshopper, OSRM, Valhalla) can evaluate
with the correct behaviour - OSRM v6.0.0-rc.1 introduced support for multiple
and
frommembers. [1]
to
Editors:
- iD:
- Doesn't provide a
template (being treated as "other restriction" and requires the user to enter it manually) - Can't set a
in the in-editor turn restriction support - Can read a
in the in-editor turn restriction support.
- Doesn't provide a
- JOSM:
- Unable to select
restriction=andrestriction=no_exitin turn restriction template, requiring the user to manually enter it[2] - Throws (false positive) errors at multiple
members even though the documentation mentions that this is legal for
from.[3][4] - Doesn't display a "no entry" sign when it does for other turn restrictions.
- Unable to select
Alternatives
Because of limited support compared to restriction=no_left_turn, only_right_turn, etc., overlap in usage and general disputes, there are alternatives to restriction=:
Using multiple turn restrictions:
- Split a
into multiple turn restrictions with the appropriaterestrictiontype, each with only onemember.
from - Keep in mind that this is unwieldy to set up with amount of turn restrictions (easier prone to errors).
Using oneway=*:
- For any non-one-way road (de jure and de facto): Split a small portion of the road (around one metre or up to the next footway crossing) and tag it as
oneway=yesand whichever exceptions apply. The intend is to minimise routing errors (in that the router forbids you to go backwards even though you legally can) for reasonable users as many as possible (this can be seen as a variation for tagging for the router). oneway=yesmight be more accurate for a de jure non-one-way road (missing out the one-way sign) if the drivers have to turn into a single direction on side roads anyway (de facto oneway road). This can be seen as tagging for the renderer since only roads withoneway=yesare rendered with arrows.
Using vehicle + *:forward=*/*:backward=* tags:
- Same limitation as
oneway=*with no rendering support. - Might be more useful if a street cannot be entered from both sides except for certain vehicles (such as buses - think of a short
Transit mall).
See also
restriction=no_exit- for the opposite scenario i.e. a road one can enter but not leave at that intersection.oneway=*- Linear features that users can only go one direction in. Used in highways, zip lines, and other features
