From OpenStreetMap Wiki
(Redirected from Key:traffic sign:backward)
Jump to navigation Jump to search
Public-images-osm logo.svg traffic_sign
UK traffic sign 545.svg
Traffic signs give instructions or provide information to road users. Edit or translate this description.
Group: Highways
Used on these elements
may be used on nodesmay be used on waysmay be used on areasshould not be used on relations
Status: de factoPage for proposal

The traffic_sign=* tag is used to map traffic signs such as city-limit signs or any other traffic signs.


Traffic signs give instructions or provide information to road users. Some signs are only relevant at the place where they're mounted (like e.g. a stop sign - called point-related signs from now on), while others affect a section of the road (like e.g. a "no overtaking" sign - called section-related signs).

How to map

Traffic signs can be mapped by adding the traffic_sign=* tag to either a single node or a way (or, if applicable, also an area).

Point-related signs can be mapped by tagging a node, while section-related signs can be mapped by tagging a way (or area). You may also map a section-related sign by tagging it as a node if you only know where the section begins or if you just want to explicitly specify its physical location. Keep in mind that additional tagging is necessary to indicate the end of the section in this case.

The implications of a traffic sign should always be tagged on the concerned section of the road itself as well. When mapping a speed limit sign for example: always add a maxspeed=* and a source:maxspeed=sign tag to the road itself.

On nodes

It is possible to use a node which is part of a way, or to create a separate node beside the road. While both methods are used in practice, if you put the node aside the way the direction of the sign usually becomes clear and the position typically is more accurate. If you put it on the highway, information about these properties is lost in both cases, but the way it belongs to is explicitly given.

As part of a way

Create a new node within the relevant way next to the sign. This method allows software algorithms which operate on ways (like e.g. routing algorithms) to consider the sign, but makes it impossible to know the exact position of the sign. A renderer can at best assume that the sign is located somewhere next to the road.

You can use traffic_sign:forward=* to specify that this sign affects vehicles moving in the same direction as the OSM way. The opposite direction can be tagged with traffic_sign:backward=*. Formerly the direction=* key has also been used to describe the affected direction. But its common meaning has changed to Relative to Geographic North.

Only the affected direction can only be specified by using nodes which are part of exactly one way way. Avoid junction nodes and nodes between two ways as well (where they have been split, but are connected by a node). If in doubt, better simply insert a new node into the way instead of using an existing one.

As a separate node

Create a separate node beside the road at the position of the actual sign. This allows to map the exact physical position of the sign, but it is impossible to reliably deduce the affected road or travel direction in this case. Software algorithms which operate on ways will thus generally not be able to consider the traffic sign, but only the tags of the way instead.

You can use the direction=* tag to describe the facing orientation of the sign by using an angle or cardinal direction.

Note that the sign is facing against the direction of travel. So if you encounter a traffic sign when traveling north, then the sign is facing south. So you can add direction=180 or direction=S. Likewise, when traveling west, signs are facing east, so you tag them with direction=90 or direction=E.

On a way or area

When tagged on a way or an area, the traffic_sign=* tag describes the traffic sign(s) that apply to that way or area. The tag is not meant to mark the actual position of the sign in this case, but the affected way or area instead. It should however be assumed that the physical location of the sign is at the beginning and / or the end of the affected section (but note that the affected section may be comprised of multiple ways within OSM).

You may use traffic_sign:forward=* to specify that this particular sign affects vehicles moving in the same direction as the way, or traffic_sign:backward=* to specify that the opposite direction is affected.


It is common to use both human-readable values (like city_limit) as well as national traffic sign IDs (like DE:310).

Multiple signs can be tagged by using different separators. Traffic signs which are unrelated to each other (like e.g. speed limit and no parking) are separated by semicolon ;. Related signs (like e.g. no entry plus except buses) are separated by comma ,.

Human-readable values

Value Element Sign Comment Additional tags on the way
city_limit node Zeichen 310-50 - Ortstafel (Vorderseite) mit Kreis, StVO 1992.svg City or village sign. source:maxspeed=DE:urban (inside) and source:maxspeed=DE:rural if not overridden by other maxpseed source (or with other appropriate country code)


maxspeed node UK traffic sign 670V50.svg Maximum speed sign. Like all traffic signs these should be tagged as a node. Usually not part of the highway, so the direction can be inferred. Add maxspeed=* to specify the sign. maxspeed=* + source:maxspeed=sign
stop node UK traffic sign 601.1.svg Stop sign. Usually tagged implicity on a node of the highway with highway=stop instead. highway=stop (on a node)
give_way node UK traffic sign 602.svg Give way sign. Usually just highway=give_way is tagged instead. highway=give_way (on a node)
overtaking nodeway UK traffic sign 632.svg No overtaking sign. overtaking=no
maxwidth nodeway UK traffic sign 629A.svg Maximum width sign. maxwidth=*
maxheight nodeway UK traffic sign 629.2A.svg Maximum height sign. maxheight=*
maxweight nodeway Ireland road sign RUS 053.svg Maximum weight sign. maxweight=*

Traffic sign IDs

Signs specific to a particular country should be mapped by the country-indicating prefix followed by a colon and then the traffic sign.

  • The country prefix should be the two-letter code. This prefix is separated by a colon : from the sign
  • Traffic signs should be represented by their official ID.
  • Multiple unrelated signs should be separated with a semicolon ;.
  • If traffic signs are related, the additional sign IDs should be separated from the main sign by comma ,
  • Where the traffic sign requires a value, you can supply it after the ID using brackets [value]. The value may contain a dot . as decimal separator and a minus - for negative values.


UK traffic sign 956.svg traffic_sign=GB:956
UK traffic sign 616.svg
UK traffic sign 954.svg
UK traffic sign 523.1.svg traffic_sign=GB:523.1[-10]
Belgian road sign F4a.svg traffic_sign=BE:F4a
Zeichen 260 - Verbot für Krafträder und Mofas und sonstige mehrspurige Kraftfahrzeuge, StVO 1992.svg
Zusatzzeichen 1020-30 - Anlieger frei (600x330), StVO 1992.svg
Zeichen 265 - Verbot für Fahrzeuge, deren tatsächliche Höhe einschließlich Ladung eine bestimmte Grenze überschreitet (600x600); StVO 1992.svg
MUTCD-CA SW59.svg traffic_sign=US:CA:SW-59

Lists of IDs per country

The following table links to resources for looking up sign IDs specific to each country or country subdivision (in some cases where country subdivisions have their own sign standards).

Prefix Country or region OSM Wiki Wikipedia Wikipedia en Wiki Commons External source
AT Albania available (it) (sq)
AD Andorra available (it) available
AR Argentina available (es) available pdf (es) pdf (es)
AM Armenia available (it) (ar)
AU Australia available available
AT Austria available (de) available available
AZ Azerbaijan available (it) (az)
BY Belarus available (be-tarask) available pdf (ru)
BE Belgium available available (de) (fr) (nl)
BA Bosnia and Herzegovina available pdf (bs)
BW Botswana available
BR Brazil available (pt) available (pt) available pdf (pt)
BN Brunei available
CA Canada available
CL Chile available (es) available available pdf (es)
CN China available available
CO Colombia available (es) available available pdf (es)
HR Croatia available (it) pdf (hr)
CY Cyprus available (it) (el)
CZ Czechia available (cs) available (cs) available available pdf (cs)
DK Denmark available (de) available (da)
EC Ecuador pdf (es)
EE Estonia available (ee)
FI Finland available (fi) available available (fi)
FR France, Monaco available (fr) available (fr) available pdf (fr)
GE Georgia available (it) pdf (ka)
DE Germany available (de) available (de) available available (de)
GR Greece available (el) available available pdf (el)
HK Hong Kong available
HU Hungary available (it)
IS Iceland available (is)
ID Indonesia available
IR Iran available (fa) available
IE Ireland available available
IL Israel available (he) available pdf (he)
IT Italy, San Marino, Vatican City available (it) available (it) available available
available (fr)
JP Japan available (ja) available available (ja)
KZ Kazakhstan available (it) (ru)
LT Lithuania available (it) pdf
LU Luxembourg available (it) (fr)
MK North Macedonia available (it)
MY Malaysia available
MT Malta available (it)
MU Mauritius available
MX Mexico available (es) available (es) (pdf)
MD Moldova available
NP Nepal available available
NL Netherlands available (nl) available (nl) available available pdf (nl)
NZ New Zealand available available
NO Norway available available Norway (no)
PE Peru available (es) pdf (es)
PL Poland available (pl) available (pl) available available pdf (pl)
PT Portugal available (pt) pdf (pt)
PR Puerto Rico (es)
RO Romania available (it) (ro)
RU Russia available (ru) available (ru) available (ru)
RS Serbia available (it)
SG Singapore available
SK Slovakia available (sk) available pdf (sk)
SI Slovenia available (sl) available (de) pdf (sl)
ZA South Africa available (af) available
KR South Korea available (ko) available available
ES Spain, Andorra available (es) available
LK Sri Lanka available
SE Sweden available (sv) available available (sv)
CH Switzerland, Liechtenstein available (de) available available pdf (de)
available (fr)
available (it) pdf (it)
TH Thailand available
TR Turkey available (tr) available (it) pdf (tr)
UG Uganda available pdf
UA Ukraine available (ua) available (ua) available (ru)
GB United Kingdom available available available pdf
US United States available available available 2002 chart
2004 standard
2012 supplement
2014 Revision 2 Chart
US:CA United States: California
US:DE United States: Delaware
US:IL United States: Illinois
US:IN United States: Indiana
US:KY United States: Kentucky
US:MI United States: Michigan
US:MD United States: Maryland
US:MN United States: Minnesota
US:MO United States: Missouri
US:NY United States: New York
US:TX United States: Texas
US:OH United States: Ohio
US:OR United States: Oregon
VN Vietnam available available (vi)
ZW Zimbabwe available

Editor support

JOSM has an icon for the value city_limit and also renders icons for the keys maxspeed=*, maxweight=*, maxheight=* and some more if tagged together with traffic_sign=*. While for maxspeed the actual value is shown, the other keys use a generic icon, which always shows the same value independent from the actual value specified in the respective tag.

The style Lane and Road Attributes currently renders traffic signs for maxspeed and overtaking. For maxspeed the icon shows the actual value specified in the tag.

The following table list some examples together with the actual rendering result in JOSM.

Tags Description Rendering result in JOSM
Speed limit of 50 km/h JOSM Screenshot Maxspeed 50.png
End of speed limit JOSM Screenshot Maxspeed implicit.png
maxspeed=30 mph
Speed zone with 30 mph JOSM Screenshot Maxzone 30mph.png
Overtaking forbidden JOSM Screenshot Overtaking no.png
Overtaking allowed JOSM Screenshot Overtaking yes.png
Overtaking forbidden and a speed limit of 70 km/h JOSM Screenshot Overtaking no Maxspeed 70.png
End of speed limit and overtaking is allowed. JOSM Screenshot Maxspeed implicit Overtaking yes.png

The style Traffic_signs currently renders traffic signs with two-letter codes . Works for the traffic signs of Austria, Belgium, Belarus, Czech Republic, Estonia, Finland, France, Germany, The Netherlands, Norway, Poland, Spain and Sweden.

The preset Traffic_signs currently helps to put traffic_signs with two-letter codes. Works for the traffic signs of Belgium, The Netherlands and Spain. Finland in construction.

See also