Road signs in the United Kingdom
- Argentina (es-AR)
- Belgium (en-BE)
- Brazil (pt-BR)
- Colombia (es-CO)
- Czechia (cs-CZ)
- Germany (de-DE)
Spain (es-ES)
- France (fr-FR)
- United Kingdom (en-GB)
- Italy (it-IT)
- Japan (ja-JP)
- Netherlands (nl-NL)
- Peru (es-PE)
- Philippines (en-PH)
- Poland (pl-PL)
- Portugal (pt-PT)
- Russia (ru-RU)
- Slovakia (sk-SK)
- Slovenia (sl-SL)
- Turkey (tr-TR)
- Uganda (en-UG)
- Ukraine (uk-UA)
- United States (en-US)
This page is under construction, and perhaps always will be. It is intended to help those mappers in the UK that are new to the project, or those more experienced but encountering something new to them, work out what is probably the best way to tag it.
Please note: This is intended as a guide based on what contributors to the page think is best. There may be other equally acceptable alternatives - if so add them to this page with an "or" separator, or discuss first on the discussion page.
Please also note: Some of the tags here may not appear in Map Features and are suggestions instead to cover a requirement. As a result some validator tools may highlight them as errors to be checked.
Warning signs (generally triangular)
Note: Not many warning signs are currently shown here, as there doesn't seem to be much in information on how to tag them. In the longer term, many warnings will apply to a section of road between similar warning signs at either end of the section (such as "Wild Animals"), but there doesn't seem to be a wild_animals=yes tag at present. Feel free to add more warning signs with a suggested tagging method.
Sign | Image | Description | Tags/Comments |
---|---|---|---|
510 | ![]() |
Roundabout |
See junction=roundabout on how to tag the roundabout itself. |
611.1 | ![]() |
Mini Roundabout | Add highway=mini_roundabout to the intersection node where the mini roundabout is located. Also add direction=clockwise. |
516 | ![]() |
Road narrows on both sides ahead | Add traffic_calming=choker on the part of the way |
523.1 | ![]() |
Steep hill downwards |
incline=%age Note: in OSM the percentage is +ve or -ve to indicate up or down relative to the direction the way has been drawn. See Key:incline. The tag should be applied between the warning of steep hill downwards at the top and (if present) the warning further down the hill of steep hill upwards for oncoming traffic. |
524.1 | ![]() |
Steep hill upwards |
incline=%age Note: in OSM the percentage is +ve or -ve to indicate up or down relative to the direction the way has been drawn. See Key:incline |
530 | ![]() |
Height restriction warning |
maxheight=14′6″ Where only imperial dimensions are given it is recommended that the tag value be entered exactly as is on the sign, which is likely to always include inches even if they are 0. A conversion to a metric height is unlikely to be the same as the limit imposed if the restriction is later updated to a dual units sign, as there are rules to do with rounding that are used for safety reasons. |
543 | ![]() |
Traffic Lights |
See highway=traffic_signals on how to tag the traffic lights. |
545 | ![]() |
Children Crossing / Playing | Using the proposed Hazard scheme something like hazard=children to a way/node. |
549 | ![]() |
Sheep | Using the proposed Hazard scheme something like hazard=sheep to a way/node. |
548 | ![]() |
Cattle | Using the proposed Hazard scheme something like hazard=cattle to a way/node. |
550.1 | ![]() |
Horse Riders | Using the proposed Hazard scheme something like hazard=horse_riders to a way/node. |
552 | ![]() |
Cattle Grid | Mark a node on the way where the grid is located and tag it as barrier=cattle_grid |
557 | ![]() |
Slippery Road | Using the proposed Hazard scheme something like hazard=slippery_road to a way/node. |
528 | ![]() |
Hump Back Bridge | Mark the bridge with bridge=humpback |
559 | ![]() |
Falling Rocks | Using the proposed Hazard scheme something like hazard=falling_rocks on a way/node. |
Regulatory signs (generally round)
Speed limit signs
Sign | Image | Description | Tags/Comments |
---|---|---|---|
670V50 | ![]() |
Maximum speed |
maxspeed=50 mph Note: While units are (usually) mentioned as being allowed in Map Features, there is a time when they weren't and some mappers tried tagging with just a number based on the speed converted to km/h (with no units, maxspeed is in km/h) with various different roundings, most of which didn't match those posted on signs at exits of ports. It is therefore better to add the mph suffix to be precise. Note: When a speed limit begins at a T-junction, the sign may be up to 20 metres from the start of the limit. It's not correct to tag a short way with the same limit as the main road! |
671 | ![]() |
National speed limit |
maxspeed=60mph + maxspeed:type=GB:nsl_single or maxspeed=70mph + maxspeed:type=GB:nsl_dual or maxspeed=70mph + maxspeed:type=GB:motorway The relevant national speed limit applies. For cars, this is currently 70 mph on motorways and dual carriageways, 60 mph on non-motorway single carriageways, including street-lit roads - but only when signed with the national speed limit sign. Because the national limit varies by road type and vehicle type, and because Parliament could change the limit in future without all signs needing changing, it was previously suggested that it might be better to use maxspeed=national rather than maxspeed=60 mph (or whatever) in case any future changes then force a resurvey of every way tagged with =60 mph. The current recommendation is to tag the highest limit across all vehicle types using the maxspeed key and then add a maxspeed:type key with country-specific values, such as GB:nsl_single or GB:nsl_dual (the non-standard country code "UK" is also seen in places). This has the benefits that clients such as the OSRM Open-source Routing Machine can simply use the maxspeed key (but could additionally support country-specific, vehicle-specific maximum speeds), but still permit the update of country-specific national speed limits non-ambiguously. |
672 | ![]() |
Minimum speed |
Vehicles must keep their speed above the stated minimum speed.
minspeed=30 mph |
674 | ![]() |
Entering 20mph zone |
maxspeed=20 mph 20 zones tend to be residential areas with traffic calming measures, with a 20 mph maximum speed throughout the zone. At the exits from the zones there is a different sign which indicates both the end of the 20 mph limit and what the new speed limit is beyond the zone. Unlike ordinary 20mph limits, 20 zones are intended to be self-enforcing by the traffic calming system. Note: The similar-looking 'Twenty's Plenty' signs (with a green, not red, circle) are not legal limits and should be signed with maxspeed:advised=20mph. |
Vehicular type restrictions
Sign | Image | Description | Tags/Comments |
---|---|---|---|
619 | ![]() |
No motor vehicles |
|
617 | ![]() |
No vehicles except bicycles being pushed |
vehicle=no foot=yes A bicycle=dismount tag may be useful to show cyclists can still use the way if they push their bicycle. |
619.1 | ![]() |
No motor vehicles except solo motorcycles |
motorcycle=yes |
619.2 | ![]() |
No motorcycles |
motorcycle=no |
622.7 | ![]() |
No towed caravans |
caravan=no |
951 | ![]() |
No cycling |
bicycle=no |
625.1 | ![]() |
No pedestrians |
foot=no |
952 | ![]() |
No vehicles designed to carry more than 8 passengers (excluding driver) or local buses |
bus=no |
622.6 | ![]() |
No ridden or accompanied horses |
horse=no |
622.5 | ![]() |
No horse-drawn vehicles |
horse_drawn=no |
622.4 | ![]() |
No articulated vehicles |
articulated=no |
622.1A | ![]() |
No goods vehicles exceeding maximum gross weight shown (in tonnes) |
maxweight=7.5 or, to perhaps tag more precisely maxweight:hgv=7.5 See also Size/weight restrictions below |
622.8 | ![]() |
No vehicles carrying explosives |
I can't find any relevant tags mentioned in the wiki, so have used the access:prefix to suggest that it is access that is prohibited by the carrying of explosives, rather than just have explosives=no (as per discussion here |
Size/Weight restrictions
Sign | Image | Description | Tags/Comments |
---|---|---|---|
629.2A | ![]() |
Maximum height (metric and imperial) |
maxheight=4.4 Where both metric and imperial dimensions are given it is recommended that the metric version be used, which is the default unit for the tag. The metric height is unlikely to be an exact conversion of the imperial. |
629.2 | ![]() |
Maximum height (imperial only) |
maxheight=14'6" Where only imperial dimensions are given it is recommended that the tag value be entered exactly as is on the sign, which is likely to always include inches even if they are 0. A conversion to a metric height is unlikely to be the same as the limit imposed if the restriction is later updated to a dual units sign, as there are rules to do with rounding that are used for safety reasons. |
629A | ![]() |
Maximum width (metric and imperial) | maxwidth=2.0
Where both metric and imperial dimensions are given it is recommended that the metric version be used, which is the default unit for the tag. The metric width is unlikely to be an exact conversion of the imperial. |
629 | ![]() |
Maximum width (imperial only) |
maxwidth=6'6" Where only imperial dimensions are given it is recommended that the tag value be entered exactly as is on the sign, which is likely to always include inches even if they are 0. A conversion to a metric width is unlikely to be the same as the limit imposed if the restriction is later updated to a dual units sign, as there are rules to do with rounding that are used for safety reasons. |
626.2AV2 | ![]() |
Maximum weight |
maxweight=7.5 It is believed maximum weight limit are all signposted in metric, which is the default for this tag. |
629.1 | ![]() |
Maximum length (imperial only) |
maxlength=32'6" Where only imperial dimensions are given it is recommended that the tag value be entered exactly as is on the sign. |
Give way and stop signs
Sign | Image | Description | Tags/Comments |
---|---|---|---|
602 |
Give way |
||
601.1 |
Stop |
Turn restrictions
Note: It should not be necessary to tag restrictions such as no left turn where the destination which is prohibited is oneway in such a way that it would be no entry from that end anyway. Turn restriction relations are more for use in situations such as no right turn onto a busy twoway road from a side road. In other words it isn't necessary to add a turn restriction relation every time there is a sign (though there should be no harm in doing so if correctly tagged and not contradicting other tags).
Sign | Image | Description | Tags/Comments |
---|---|---|---|
613 |
No left turn |
See Relation:restriction for details. | |
612 |
No right turn |
See Relation:restriction for details. | |
614 |
No U turn |
See Relation:restriction for details. |
Other Prohibitory signs
Sign | Image | Description | Tags/Comments |
---|---|---|---|
616 | ![]() |
No entry |
when the direction of the way is the same as the driving direction: oneway=yes when the direction of the way is the opposite of the driving direction: oneway=-1 |
642 | ![]() |
No Stopping | Currently the tag with the most uses is parking:lane:both=no_stopping (or parking:lane:left / parking:lane:right, whichever is applicable, depending on the direction of the way, and on the side for which the restriction applies to).
Previously suggested tags include stopping=no on the way, or traffic_restriction=no_stopping as suggested by Jonathan Bennett on the talk-gb list, the latter being the more common one of these two at the moment. |
632 | ![]() |
No Overtaking | Use the overtaking tag. See wiki page for details |
Cycle and Pedestrian signs
Image | Description | Classic tagging style | Alternative tagging style |
---|---|---|---|
Shared cycle/pedestrian path | highway=cycleway | highway=path; foot=designated;bicycle=designated; surface=paved | |
Segregated cycle/pedestrian path | highway=cycleway; segregated=yes |
highway=path; foot=designated; cycleway=lane; (implies bicycle=designated) surface=paved | |
Cycle only path (not intended for pedestrians) | highway=cycleway; foot=no* |
highway=path; bicycle=designated; foot=no*; surface=paved |
* : The route is not intended for pedestrians, but use is not prohibited. Before tagging as foot=no please check that there is a convenient alternative route for pedestrians nearby (e.g. a footway or road).
Information signs (generally rectangular)
Sign | Image | Description | Tags/Comments |
---|---|---|---|
816 | ![]() |
No through road |
noexit=yes There is an argument that this tag is unnecessary as it should be possible to determine whether a road is a through route or not based on the topology of ways. Some validation tools apparently can use this tag to distinguish between a no through road that ends near another road, and giving a warning for a road which perhaps hasn't been properly joined to a nearby road. |
801 | ![]() |
Parking |
Note for laybys, some have been tagged as: amenity=parking fee=no parking=surface name=Lay-by such as this one on the A14 near Ipswich. |
968.1 | ![]() |
Cycle parking |
|
820 | ![]() |
Unsuitable for motor vehicles warning |
This is only a warning, so the access tags currently aren't really suitable for tagging this sign as they currently relate more to whether you can legally use the route rather than whether it is physically suitable to do so. It is probably best to do something like note=Unsuitable for motors until something better is available. |
878 | ![]() |
Speed Camera in Operation | See Relation:enforcement#Example_3:_Speed_Camera for marking any actual cameras |
2713.1V | ![]() |
SOS Point | There is a proposed tag of amenity=emergency_phone - see Proposed_features/emergency_phone |
817.2 | ![]() ![]() |
Escape lane | highway=escape |
811 | ![]() |
Priority over oncoming vehicles | priority=forward/backward |
Exceptions - examples and how to handle them
Image | Description | Tags/Comments |
---|---|---|
![]() |
No cycling during the hours shown |
Not easily done with the current tagging scheme. Something like: bicycle=no bicycle:day_on=Monday bicycle:day_off=Saturday bicycle:time_on=09:00 bicycle:time_off=18:00 There are occasional proposals to use syntax a bit like Key:opening_hours uses, which would change this to something like: bicycle=Mo-Sa 09:00-18:00 no |
![]() |
No motor vehicles except those specified |
motor_vehicle=no goods=yes hgv=yes taxi=yes Note: taxi=yes might not currently be documented on Key:access |
![]() |
No motor vehicles at certain times except those specified |
motor_vehicle=no motor_vehicle:time_on=10:00 motor_vehicle:time_off=16:00 psv=yes goods=destination As mentioned above, there are occasional proposals to use syntax a bit like Key:opening_hours uses, which would change this to something like: motor_vehicle=10:00-16:00 no psv=yes goods=destination |