Speed limits

From OpenStreetMap Wiki
Jump to: navigation, search
Available languages — Speed limits
· Deutsch · English · română · 日本語

Logo. Feature : Speed limits
One example for Feature : Speed limits
Defining speed limits on roads, railways and waterways.

Speed limits on roads, railway and waterways can be tagged together with the position of speed limits signs and infrastructure for enforcing speed limits.

Maximum and minimum speed limits

Maximum and minimum speed limits for a section of road/railway/waterway should be defined using maxspeed=* and minspeed=* on the way as approapriate.

These tags normally holds a numeric value, which should have a suffix giving the units (' mph' or ' knots') unless the speed is in km/h in which case no suffix should be used. Note that it is conventional to include a space between the number and the units, so it would be 'maxspeed=30 mph', and preferably not 'maxspeed=30mph'. For a speed of 30 km/h it would simply be 'maxspeed=30'.

For more information about how to tag speed limits that vary by lane within the same carriagway see: Lanes#Different_maxspeed_per_lane_.28with.2Fwithout_default_values.29

For speed limits depending on the way direction, see maxspeed:forward=*.

Advisory speed limits

In some places there are signposted or implicit advisory speed limits. These speed limits are not legally binding (you do not have to obey to the speed they suggest) but they will typically serve for orientation at which speed you can safely drive and which speed you should expect other drivers to drive there. These can be tagged with maxspeed:advisory=*. In case of additional qualifiers it is suggested that you keep the maxspeed:advisory part intact, e.g. maxspeed:advisory:forward=* or maxspeed:advisory:conditional=*.


The position of the actual speed limit signs can be added as nodes beside the road/railway/waterway as additional information. This should be tagged with traffic_sign=maxspeed (or traffic_sign=minspeed as appropriate) and information about the speed limit itself, for example maxspeed=50 for a speed limit sign displaying 50 km/h.

Signs that cancel current speed limits (hence setting the default limit) should be mapped as


Fixed speed cameras can be marked using highway=speed_camera as a node at the location of the camera. For average speed limits use maxspeed:enforcement=* (or alternatively enforcement:maxspeed=*) on the way or the Relation:enforcement. For physical measures on the road see traffic_calming=*.

Legal form and source information, country-specific trends

The meaning of the tag source:maxspeed=* to store information about the legal form of the speed limit (see 'legal form' below for an explanation of this) and the way the data was collected (see 'source' below) is recently disputed by some mappers from the UK (see Situation in the UK below). The international, longest standing and mostly used meaning of source:maxspeed=* is to hold information about the legal form of the speed limit.

'legal form' information

Sometimes a speed limit is given by a nearby sign with a numeric limit, in others the speed limit is given as a legal category where the actual numeric value is prescribed by legislation. By way of example, the speed on motorways in the UK is not shown as a number, but by a diagonal line which for the time being relates to a particular numeric speed of 70 mph for motorways and dual-carriageways and 60 mph for single carriageways.

Some people suggest that source:maxspeed=* should be used for this, others suggest use of maxspeed:type=*. Whichever tag is used, there is agreement that the form of this data should be of the form <country-code>:<category> where the first two letters (in capitals) form a country code and rest defines the type of the limit. By way of example: use 'DE:urban' for the German limit as used in towns, and 'GB:national' for the 'unrestricted' sign found on motorways and other fast roads in the UK.

'source' information

If maxspeed:type=* is being used to hold information about the legal form of the speed limit then source:maxspeed=* can be used to hold information about how the information was gathered. For example source:maxspeed=survey) where the information was collected by a manual ground survey or source:maxspeed=massgis where the date came from an official Massachusetts source in the USA (use suitable text to describe your source). Some people add a date to this, for example source:maxspeed=survey 12 May 2012

Situation in the UK

Some mappers in the UK have subsequently decided to use a different tag maxspeed:type=* for the legal form and use source:maxspeed at object level to hold meta information about how the data was collected. An alternative is also source:maxspeed=*, but generally there is an agreement that source tags should go to the changeset and not to the objects.

Situation in Romania

In a small number of places, notably Romania, the maxspeed tag is used to hold a value of the form '<country-code>:<category>' instead of (source:maxspeed or maxspeed:type).

Country code/category conversion table

Please note, you should tag both, the implied maxspeed explicitly and the source:maxspeed for the reason (sign or country specific area). Commonly used values:

Country value numeric equivalent
Austria AT:urban 50
AT:rural 100
AT:trunk 100
AT:motorway 130
Switzerland CH:urban 50
CH:rural 80
CH:trunk 100
CH:motorway 120
Czech Republic CZ:urban 50
CZ:rural 90
CZ:trunk 130 (outside city), 80 (in city)
CZ:motorway 130 (outside city), 80 (in city)
Denmark DK:urban 50
DK:rural 80
DK:motorway 130
Germany DE:living_street 7
DE:urban 50
DE:rural 100
DE:motorway none
Finland FI:urban 50
FI:rural 80
FI:trunk 100
FI:motorway 120
France FR:urban 50
FR:rural 90
FR:trunk 110
FR:motorway 130
Hungary HU:urban 50
HU:rural 90
HU:trunk 110
HU:motorway 130
Italy IT:urban 50
IT:rural 90
IT:trunk 110
IT:motorway 130
Japan JP:national 60
JP:motorway 100
Romania RO:urban 50
RO:rural 90
RO:trunk 100
RO:motorway 130
Russian Federation RU:living_street 20
RU:rural 90
RU:urban 60
RU:motorway 110
Slovakia SK:urban 50
SK:rural 90
SK:trunk 130 (outside city), 90 (in city)
SK:motorway 130 (outside city), 90 (in city)
Slovenia SI:urban 50
SI:rural 90
SI:trunk 110
SI:motorway 130
Sweden SE:urban 50
SE:rural 70
SE:trunk 90
SE:motorway 110
United Kingdom GB:nsl_single 60 mph
GB:nsl_dual 70 mph
GB:national 'unrestricted' (60 or 70 mph depending on road class)
GB:motorway 70 mph
UK:nsl_single 60 mph
UK:nsl_dual 70 mph
UK:national 'unrestricted' (60 or 70 mph depending on road class)
UK:motorway 70 mph
Ukraine UA:urban 60
UA:rural 90
UA:trunk 110
UA:motorway 130



The internal JOSM mappaint style displays maxspeed values tagged on nodes as maxspeed signs. You can also add the map paint style Maxspeed (Preferences -> Map Settings -> Map Paint Styles) and this will show the ways with a maxspeed.


See also