|The name tag is the primary tag used for naming a Element.|
ITO Map has a layer to highlight named and unnamed and/or addressed buildings.
Descriptions and examples.
- name=* – Default name
- name=Channel Tunnel
- int_name=* – Internationally known as
- nat_name=* – Nationally known as
- nat_name=That debt-ridden hole in the ground (obviously a joke, not an actual valid tag usage)
- reg_name=* – Regionally known as
- reg_name=Gateway to France
- loc_name=* – Locally known as
- loc_name=The way to Carrefour
- old_name=* – Historically or previously known as
- old_name=A long swim (obviously a joke, not an actual valid tag usage)
- alt_name=* – when alternative name exists (which doesn't fit in one of the tags name above) (recognized by Nominatim)
- short_name=* – for a common abbreviation, useful for searching (recognized by Nominatim)
- official_name=* – The fully qualified official name. It has been created for country names, but we need a clarification for other cases between name, int_name, loc_name and official_name.
- official_name=Principat d'Andorra [where name=Andorra]
- sorting_name=* - name, used for correct sorting of names.
- sorting_name=Communication street (where name=street of Communication)
Abbreviation (don't do it)
If the name can be spelled without an abbreviation, then don't abbreviate it. Computers can easily shorten words, but not the other way (St. could be Street or Saint). If the signs have abbreviated words and you don't know what the full word is, then use it temporarily until someone else completes it. Using short forms is a decision of software, i.e., the underlying data should have the full street name. This will allow a renderer, a router or a location finder to introduce abbreviations as necessary. See, for instance, the list of abbreviations used by Name Finder and Nominatim.
Use mixed case with the first letter of each word capitalised, e.g., Church Street, not Church street. Note: Regional rules have preference over general rules. For example, in Flemish, capitalisation of last names gives a hint about the nobility status of the person. Street or company names derived from those last names should copy the same capitalisation. In non-Latin based languages, it's often not even possible to capitalise a name.
Apart from following the above rules, you should always enter the full name as it appears on the street name signs.
Be aware that street signs may contain errors.
Watch out for apostrophes. The same rule applies. If the street sign has an apostrophe, the OSM data should have an apostrophe. There is no obvious consistency; the London Underground station Barons Court is adjacent to Earl's Court, one with an apostrophe, one without.
Name is the name only
The names should be restricted to the name of the item in question only and should not include categories, types, descriptions, addresses or notes. If something really doesn't have a name, don't add one to OpenStreetMap. Any additional information should be included in separate tags (see, e.g., aforementioned links) to identify its meaning.
Some examples of incorrect usage:
- Manchester City (for a city named Manchester, do not add a descriptive City; note that New York City may be correct as the common name for The City of New York)
- Multipolygon Baldo Forest: do not include the object type or other OSM terminology, if it does not apply outside of OSM
- The Royal Albert Hall, London: do not otherwise include the location London as part of the name, even if there are multiple objects of the same name
- closed pub (due for demolition): do not describe the object in lieu of a name. Consider the description tag and also adding an old_name tag
- no name (see #No name, below)
- Interstate 5 southbound lanes: do not separately name parts of the same object where they are separate in OSM, but not outside of OSM.
Streets which have no name could be tagged noname=yes, but there are several tagging proposals under discussion: Proposed features/Noname. The idea is to clearly indicate that the street genuinely doesn't have a name, because the absence of a name tag is increasingly used to indicate areas which need to be surveyed still.
By now the majority of rendering systems can deal with unicode characters, so you can use the local script for the default name tag. There is no need to use the Latin script.
See also Multilingual names
For adding localized names in different languages, add additional name tags with a two letter suffix on the name key. For example, name:fr, for the name in French and name:en for the name in English. The default name (occupying the 'name' tag without suffix) should be the name in whatever language is used locally.
Here is an example of the usage. All these tags might appear on the same element :
name=Irgendwas (the default name, used locally) name:en=Something (the name in English) name:el=Κάτι (the name in Greek) name:de=Irgendwas (the name in German) name:pl=Coś (the name in Polish) name:fr=Quelque chose (the name in French) name:es=Algo (the name in Spanish) name:it=Qualcosa (the name in Italian) name:ja=何か (the name in Japanese) name:ko=뭔가 (the name in Korean) name:ko_rm=Mweonga (the name in Romanised Korean)
This leads to a more precise definition of alternative names.
Example of language codes according to the alpha-2 code of ISO 639-1 :
de German pl Polish el Greek en English es Spanish fa Persian fr French it Italian ja Japanese ko Korean ru Russian zh Chinese
ko_rmRomanised Korean (NOT conforming to BCP 47 standard, should be: )
A short discussion on this language suffixes can be found on the discussion page.
Renderer support: There are a few experimental rendering systems displaying these localised names. See Map Internationalization
Import: using osm2pgsql allows users to define new .style files which can include other language's name columns and bring them into the database. In order to render from these columns it is necessary to set up PostGIS views which present these columns as 'name' instead of 'name:languagecode'. An easier alternative might be to use a lua style file to move "name:XX" if it exists to "name".
Editor support: JOSM builds 1044 and newer support the display of local names. It detects the current system locale and tries to display names in this language first. You can change the order JOSM looks for names in the JOSM expert settings. Example: To display names written in Thai first, even if the current locale is 'en' set the following property:
Transliteration is the process of taking a name in one language, and simply changing letters from one script to another. In general we should avoid doing this with tags in the OpenStreetMap database. Everything with a name could have auto-generated transliterations, so not just city names, but every road, and every cafe! This kind of automatic augmenting with data is best left for data users. For example, Sven Geggus has demonstrated the principle of rendering with auto-generated transliterations. We want to avoid adding in tags into our database for every named object via automated or semi-automated Import.
Instead we only put commonly used names in other languages into the database. While we typically think of these as translations, in most cases names that fit this criteria are not literal translations, example: the lake that the city of Geneva lies on is in French (Geneva is a French speaking city) Lac Léman, in German Genfersee. These are names which have been used by people on the ground, speaking in different languages (In general we're following Good practice#Map what's on the ground)
For example, small towns in England probably don't have a special Russian name, unless there is a local Russian community or something. Their names can all be transliterated into Russian script, but it's not a good idea to add lots and lots of tags to all the towns in England containing these transliterated names.
loc_name is for the name of a feature as it is known locally, but only where this is deemed to be too much of a slang name or otherwise unofficial-sounding. Ordinarily though, the name which local people use is the name we set in the name tag! Examples where we have used loc_name:
- There is a bridge in Glasgow known as the Squinty Bridge, but its official name is the Clyde Arc. I have never heard anyone calling it that, so the bridge is tagged loc_name=Squinty Bridge name=Clyde Arc.
- In Reading there's Union Street, but it's been known for decades as Smelly Alley on account of the fishmongers that lined it. The loc_name is ideal.
Apply when an alternative name exists, e.g., a street name has different syntax, sometimes even on street signs, although it is not only for street names.
Don't use it for abbreviations and only when one of the other name types don't apply, e.g., reg_name or name:lg_code for regional translations.
These alternative names are usually not rendered, but can be used by applications like Nominatim.
sorting_name=* is a proposed approach to supply an alternate name which systems can use for the purpose of sorting alphabetically. This would be useful for street names in some languages/countries, particularly Russian, where words like "Street" are frequently used as a prefix. This is problematic if you simply sort on the main "name" tag.
Date namespace suffix for historical names
The date namespace suffix can be used for historical names, e.g., "name:1953-1990 = Ernst-Thälmann-Straße".
- United States Postal Service Official Abbreviations, e.g., street-type abbreviations.