From OpenStreetMap Wiki
Jump to: navigation, search
Available languages
Public-images-osm logo.svg maxspeed
Specifies the maximum legal speed limit on a road, railway or waterway
Group: Restrictions
Used on these elements
may be used on nodes
may be used on ways
may be used on areas
should not be used on relations
Useful combination
Status: Unspecified

The maxspeed=* tag is used to define the maximum legal speed limit for general traffic on a particular road, railway or waterway. By default, values will be interpreted as kilometres per hour. If the speed limit should be specified in a different unit the unit can be added to the end of the value, separated by a space (see Examples).


The maximum speed limit for a highway=*, railway=rail, waterway=river etc can be specified as follows:

Type Example Meaning
numeric maxspeed=60
maxspeed=50 mph
maxspeed=10 knots
The maximum fixed numeric speed limit, followed by the appropriate unit if not measured in km/h when no units should be included. For example maxspeed=60 for 60 km/h and maxspeed=50 mph for 50 mph.
variable maxspeed=signals Indicates that there is a (variable) maximum speed limit displayed on electronic variable signs. Please do not use this tag for railway lines and tag instead the maximum allowed speed there.

Note: There is a commonly used alternative that suggests tagging variable speed limits with maxspeed:variable=*. It is already used for more than 50% of all tagged variable speed limits (Nov 2014):



none maxspeed=none Indicates that there is no fixed maximum numeric speed limit for this section of road (on some German autobahns and a very few other places. Not to be used for situations where there is a limit but it is not known. Where the limit is not known do not include a maxspeed tag.
walk (proposal) maxspeed=walk In Austria and Germany the speed limit for living street (german: Wohnstraße bzw. Verkehrsberuhigter Bereich) is defined only as being a walking speed but there is no defined numeric value for this. The maxspeed walk proposal suggests that walk should be used, but it is not commonly used.

implicit maxspeed=<countrycode>:<zone type> In some places, notably Romania and Russia, it is common to find that maxspeed holds a value of the form '<countrycode>:<zone type>' for areas where the speed limit is indicated on the street by use of a symbol or icon rather than a number. The format includes a country code followed by a ':' and a zone identifier (For example 'IT:urban' or 'DE:rural'). In most other places it is more common to place the appropriate numeric value in maxspeed and then identify the type of limit in the '<countrycode>:<zone type>' format using either source:maxspeed=* or maxspeed:type=*. For more information on this, and for a table of common values see Speed limits.

Extended tagging


Where different speed limits are posted for different classes of vehicles these should be specified using maxspeed:<vehicle>=*. The possible values for <vehicle> correspond to the values for transport modes of the key access=* (see also Examples).

'Note: Where a lower blanket speed limit is applied for certain classes of vehicle across all roads within the jurisdiction then this should not be tagged at the individual road level.

Driving direction

Main article: Forward & backward, left & right

Where different speed limits are specified for each driving direction those can be specified using maxspeed:forward=* resp. maxspeed:backward=*, whereas forward applies to the speed limit for the same direction as the OSM way and backward to the speed limit for the opposite direction.


Where different speed limits are specified for each lane of a road those can be specified using maxspeed:lanes=*. Each lane’s maxiumum speed has to be seperated with the “|” character. The first maximum speed is the maximum speed of the leftmost lane (viewed from the direction of the OSM way), the second maximum speed is the speed of the lane right from the leftmost lane and so on until the rightmost lane. Further if they should be specified for each driving direction separately the key maxspeed:lanes:forward=* resp. maxspeed:lanes:backward=* can be used, whereas lanes:forward applies to the speed limit of the lanes for the same direction as the OSM way and lanes:backward to the speed limit of the lanes of the opposite direction. See therefore also the Examples as well as the article about mapping individual lanes.

Time or other conditions

Main article: Conditional restrictions

Example: The maximum speed is 100 km/h between 6am and 7pm but otherwise is 120 km/h:
maxspeed:conditional=100 @ (06:00-19:00)


Identification Tagging Remark
maxspeed=60 + source:maxspeed=sign Alternatively maxspeed=60 km/h can be used.
MUTCD R2-1.svg
maxspeed=50 mph + source:maxspeed=sign The speed limit is specified in the unit is is legally defined and will not be converted to km/h.
Zeichen 393.svg
maxspeed=50 + source:maxspeed=DE:urban or maxspeed=DE:urban + source:maxspeed=implicit

maxspeed=100 + source:maxspeed=DE:rural or maxspeed=DE:rural + source:maxspeed=implicit
maxspeed=none + source:maxspeed=DE:motorway or maxspeed=DE:motorway + source:maxspeed=implicit

On all roads in Germany, where no explicit speed limit is defined, the corresponding implicit values can be specified.
10 knots maxspeed=10 knots The speed limit is specified in the unit is is legally defined and will not be converted to km/h.
Cholupice, proměnná značka rychlosti před Cholupickým tunelem, rozostřený pohled.jpg
maxspeed=signals The (variable) speed limit is announced on speed limit signs.
UK National Speed Limit Sign.jpg
maxspeed=60 mph + maxspeed:type=GB:nsl_single + source:maxspeed=sign A speed limit of 60 miles per hour on a road in the UK based on a "national speed limit" sign.
CH-Hinweissignal-Anzeige von Fahrstreifen mit Beschränkungen.svg
maxspeed:lanes=100|100|80 A speed limit of 80 kilometres per hour on the rightmost lane on a road with an assumed general speed limit of 100 kilometres per hour.
Maxspeed 60 km h for hgvs.jpg


A speed limit of 60 kilometres per hour valid only for heavy good vehicles - 80 kilometres per hour otherwise.


Speed limits for part of northern Europe using the speed limit mapping from ITO Map



Regular expression for numeric values only:

^([0-9][\.0-9]+?)(?:[ ]?(?:km/h|kmh|kph|mph|knots))?$

Regular expression which catches numeric values and implicit values, e.g. like none or signals:

^([^ ]+?)(?:[ ]?(?:km/h|kmh|kph|mph|knots))?$

One mile per hour corresponds to 1.609 km/h and one knot to 1.852 kilometres per hour.

Related keys

See also