A tag consists of two items, a key and a value. Tags describe specific features of map elements (nodes, ways, or relations) or changesets. Both items are free format text fields, but often represent numeric or other structured items. Conventions are agreed on the meaning and use of tags, which are captured on this wiki.

Contents

Keys and values

Tags are presented for humans as key=value: key and value separated by an equals sign. Sometimes, the key or value is surrounded by quotes to avoid confusion: key="value" or "key"="value"; the quotes (and, indeed, equals sign) are not part of the tag content.

Tags are applied to elements or changesets (i.e., tagging them) resulting in a collection of tags of any size. However, each collection may only contain a key once. Where a tag is not present, there are often considered to be default values or values inherited from parent elements.

The key, therefore, is used to describe a topic, category, or type of feature (e.g., highway or name). Keys can be qualified with prefixes, infixes, or suffixes (usually, separated with a colon, :), forming super- or sub-categories, or namespace. Common namespaces are language specification and a date namespace specification for name keys.

The value details the specific form of the key-specified feature. Commonly, values are free form text (e.g., name="Jeff Memorial Highway"), one of a set of distinct values (an enumeration; e.g., highway=motorway), multiple values from an enumeration (separated by a semicolon), or a number (integer or decimal), such as a distance.

Here are a few examples used in practice:

highway=residential a tag with a key of highway and a value of residential which should be used on a way to indicate a road along which people live.

name=Park Avenue a tag for which the value field is used to convey the name of the particular street

maxspeed=50 a tag whose value is a numeric speed and speed unit. The unit, km/h, is implied, but can be explicitly specified; miles per hour can be alternatively specified by appending mph. Across OSM, metric units are the default.

Technical specifications

Elements describes the technical limitations, encoding and formatting of Tags.

Use in an editor

Some OSM editors (for example iD, Potlatch 2) hide the tags of objects by default, making them not directly editable; instead users fill in a form. However, in most editors all tags can be displayed and edited by entering some kind of advanced mode of your editor.

For the example editors:

iD

(only needed if you created a new object) Select the generic feature type preset (it is the bottom one). For example select “point” if you created a new “point” object.

select “All tags” (bottom left)

Potlatch 2

select “Advanced”

Metadata

Some tags were used in data elements only for attaching metadata displayed in map editors or in quality assurance tools (such as completion status, things to do, approximations, data or imagery source, tool or editor version, etc.). Since version 0.6 of the API, map editors and import tools are encouraged to attach a few metadata tags to the changesets they create (changesets are not data elements) instead of tagging every added or modified data element: these tags are now documented on this wiki as "discardable", meaning that they may be silently deleted from data elements by editors when they update them (they are still usable in changesets, and these tags are still visible in older versions of elements where these discardable tags have been removed and you can still inspect these old tags from old changesets that did not use this now preferred tagging method because these changeset still point to the older versions of elements that had these tags).