|highway = stop|
|Used to mark stop signs|
|Used on these elements|
|Status: de facto|
|Tools for this tag|
There are two common situations: (1) some approaches don't stop (minor road stop); (2) all approaches must stop (all-way stop). At cross-streets, they are called 4-way stops.
How to map
There have been numerous views and proposals on how to map stop signs, and different methods have coexisted so far. If we are now to distinguish minor road stops from all-way stops, give way junctions, motorway merges and uncontrolled intersections — in support of smartphone safety apps — we should try to be more consistent.
For the purposes of this article, "stop line" refers to the point at which a driver or cyclist is normally expected to stop. Depending on local laws, in the absence of a painted stop line, this point may be at the nearer edge of a crosswalk, an imaginary line where the stop sign is posted, or the nearer edge of the intersection.
Tagging minor road stops
Insert a node with tag highway=stop on the approach way(s) that must stop, at the stopping point. Drivers may be required to give way (yield) whether or not a physical sign is present; but if you also want to capture the signs, you can use a traffic_sign=* tag as well. In all-way stop countries you could also add stop=minor to distinguish 2-way from 4-way stop signs.
As this minor road highway=stop node is NOT at the intersection point, we know it just shows the stop line. The roadway approaches that do not stop will have no highway=stop nodes before the conflict point. Do NOT tag the conflict points — the node(s) at which the ways intersect — with highway=stop, because not all the approaches will stop.
Since the stop line on the approach applies to only one travel direction, that direction can usually be deduced by finding the shorter distance to the priority intersection. However, a few stop signs are on 2-way streets between closely-spaced junctions, making it necessary to identify the travel direction that stops. Where needed, this can be done using direction=forward or direction=backward, relating stop direction to OSM forward/backward of the way that contains the highway=stop node.
Presently, reversing the forward direction of a segment in the Potlatch 2 editor will break the direction tag. If you still use Potlatch 2, be aware when editing to correct all relations as such, including the direction=* tag. JOSM (after release 11223) gives a warning when reversing ways with direction-dependent nodes and proposes the opposite value. iD now automatically changes these values too.
About direction=*, here is how to map it correctly:
On the picture: way direction is shown by white arrows, the direction of the way is from upper-left to lower-right. The picture shows a right-driving country, so cars stop on the white lines.
- The stop on the left is mapped with direction=forward because if we follow the way, we can see the stop traffic sign and we must stop.
- The stop on the right is mapped with direction=backward because if we follow the way, we have to look backward to see the traffic sign and we must not stop.
Tag the priority junction node
At major road priority junctions (which require minor roads to stop or give way), tag the intersection node(s) where traffic conflicts can occur with highway=priority, to identify the actual conflict point that is controlled by a priority rule. This will help a safety app or automated vehicle know that emerging side-road vehicles may create a hazard at that main-road junction node. Tagging the junction with highway=priority can also help eliminate directional ambiguity on the map (by identifying the actual priority intersection controlled by nearby stop or give way signs).
Tag priority road on the ways
Main road ways that do not stop can be further emphasized using priority_road=*; either (priority_road=designated or priority_road=yes_unposted). The designated value is used in countries that sign some priority roads (main roads) with a yellow diamond with a black border on a white surround.
All-way stops should ALWAYS be shown using highway=stop at the intersection node. If you also want to add the individual stopping points, say for use by a safety app (so that the exact stopping points have been recorded) do NOT remove the intersection node highway=stop, which confirms that this junction is an all-way stop.
If you want to further confirm that this is an all-way stop, you can add stop=all to the intersection's highway=stop node. However, tagging minor road stop junctions achieves the same distinction, and also warns drivers crossing the conflict point to look out for emerging side road traffic.
On many rural roads in the United States, indicates that a vehicle approaching the intersection must stop if turning left or continuing straight ahead but must not stop if turning right.  Typically, the sign is posted at a T-intersection between two two-lane roads where most traffic is expected to turn.  There are multiple experimental approaches to tagging these intersections:
- type=stop relation from the roadway on which the user stops, via the intersection node, to the roadway(s) in the direction that require(s) stopping. This approach repurposes an earlier proposal for mapping mandatory stops as relations, but with the to members by analogy with turn restrictions. 
- highway=stop except=right_turn tagged on a node at the stop line along the roadway. 
Earlier mapping proposals
In the USA, nearly 700,000 police-reported motor vehicle crashes occur annually at stop signs, and about one-third of these crashes involve injuries. If we successfully mapped all stopping points, nav systems or safety apps could warn drivers to stop.
The UK scrapped its "halt" signs in the 1960s, replacing them with "Give Way" (Ireland/US: "Yield", highway=give_way) signs. Stop signs now require special authorization, and are only used at very few, especially hazardous junctions. Adoption of "Give Way" caused no increase in accidents. Since then, in fact, UK accident rates have fallen well below their US counterparts.
In the all-way stop countries, crashes occur at minor road stops because drivers pull out in front of moving traffic, wrongly believing it will stop. Therefore, we need to distinguish all-way stops from minor road stops so safety apps can tell drivers that the other road does not stop.
Give way to the right countries in mainland Europe such as France and Belgium also had problems with side-road drivers emerging into fast traffic. To mitigate that, some minor road were marked as Stop or Give Way, and a new yellow diamond sign priority_road=designated was introduced to label priority roads that don't stop. So, of course, nav systems and safety apps must distinguish priority roads from the minor roads that stop or give way.
Potential goals in mapping stops for smartphone safety apps include alerting drivers on the main road when an approaching side-road driver fails to slow; warning minor road drivers who do not slow as they approach a stop or give way line; or simply making a subtle (Pavlovian) sound as each yield point is approached. Some defensive drivers might welcome such GPS app support. Fully automated vehicles might also benefit from an unambiguous representation of each junction's priority rules.
Popular mobile navigation applications annotate stop signs along the route on the map, helping users distinguish between major and minor intersections. Some applications measure the upcoming distance to a maneuver as a number of blocks, for consistency with colloquial American English, for example "In three blocks, turn left." These voice instructions ideally account for the difference between controlled and uncontrolled intersections – that is, whether the user encounters a stop sign or traffic signal at the intersection.