United States/Tags

From OpenStreetMap Wiki
Jump to navigation Jump to search
United States openstreetmap.us Projects Tags TIGER fixup
OpenStreetMap US Users Data Imports Resources Category

This page is a supplement to Map Features that describes how to map in the United States. Whereas Map Features and other pages in the Key: and Tag: namespaces of this wiki offer general advice that applies globally, this page describes tagging conventions that are peculiar to the U.S. in OpenStreetMap and offers examples that are familiar to Americans.

General considerations


In all 50 states, the District of Columbia, and the U.S. Virgin Islands, names are assumed to be in English by default, but name=* should be set to the most prominent signposted name or most common name, regardless of language. If a road, POI, or other feature is named in a language other than English, also indicate its language using the appropriate language subkey (an ISO 639 code). For example, a Mexican restaurant named "El Picante" would be tagged name=El Picante name:es=El Picante. On the other hand, a city named Clermont can be tagged just name=Clermont without necessarily having name:fr=*, because the name has been borrowed from French rather than the welcome signs being deliberately signposted in French. Similarly, a restaurant named "Kremer’s" can be tagged name=Kremer’s without name:de=* or name:nl=*.

The table below lists ISO 639 codes of languages with some form of official government recognition, which means place=* and other features may be expected to have translations tagged on name:*=* subkeys:

Officially recognized languages
Language ISO 639 code Recognized in
English en 30 states
Hawaiian haw Hawaii
Inupiat ik Alaska
Central Siberian Yupik ess
Central Alaskan Yup'ik esu
Alutiiq ems
Unangan (Aleut) ale
Dena'ina tfn
Deg Xinag ing
Holikachuk hoi
Koyukon koy
Upper Kuskokwim kuu
Gwich'in gwi
Lower Tanana taa
Upper Tanana tau
Tanacross tcb
Hän haa
Ahtna aht
Eyak eya
Tlingit tli
Haida hai
Coast Tsimshian tsi
Dakota (Lakota, Nakota) dak or lkt South Dakota
Spanish es Puerto Rico
Chamorro ch Guam, Northern Mariana Islands
Samoan sm American Samoa
Carolinian cal Northern Mariana Islands
Cherokee chr Cherokee Nation (Oklahoma)

The tables below list ISO 639 codes of other commonly spoken languages that may also be tagged on name:*=* subkeys of some features, particularly businesses that focus on non-English-speaking clientele:

Most commonly spoken languages
Language ISO 639 code
English en
Spanish es
Chinese zh[1]
Tagalog tl
Vietnamese vi
Arabic ar
French fr
Korean ko
Russian ru
German de
Haitian Creole ht
Hindi hi
Portuguese pt
Italian it
Polish pl
Urdu ur
Yiddish yi
Japanese ja
Persian fa
Gujarati gu
Telugu te
Bengali bn
Thai th
Lao lo
Greek el
Punjabi pa
Tamil ta
Armenian hy
Serbo-Croatian sh[2]
Hebrew he
Hmong hmn
Swahili sw
Khmer km
Navajo nv
Most commonly spoken Native American languages
Language ISO 639 code
Navajo nv
Dakota dak
Yupik ypk
Apache apa
Keres kee or kjq
Cherokee chr
Choctaw cho
Zuni zun
O'odham (Pima) ood
Ojibwe (Chippewa) oj
Hopi hop
Inupiat (Inupik) ik
Tewa tew
Muskogee (Creek) mus
Crow cro
Shoshoni shh
Cheyenne chy
Tiwa tix or twf
Towa (Jemez) tow
Inuit (Eskimo) ik
Austronesian languages
Language ISO 639 code
Hawaiian haw
Samoan sm
Chamorro ch
Carolinian cal

Punctuation is valid in street names according to the "on the ground" rule. TIGER has no way to represent any punctuation, even where required, so if you are using the TIGER Roads layer, avoid overriding detail that others have added.


OpenStreetMap is an international project, so measurements are in the metric system by default, but customary units are allowed. Category:Keys indicating measurements lists the keys that are set to measurements. Most of them can be measured in customary units as long as the unit is explicitly indicated using a valid abbreviation. If you are tagging a measurement based on a sign, use the same unit as the sign. For example, tag a speed limit as maxspeed=25 mph, not maxspeed=25 or maxspeed=40.2.

Opening hours

The opening hours format applies to opening_hours=*, service_times=*, collection_times=*, and several other keys, as well as to conditional restrictions. Some considerations specific to the United States:

  • Use the PH specifier for signs that say "on holidays" or "except holidays". The specifier is ambiguous as to whether it applies to all federal and state holidays or whether it only applies to bank holidays. One popular parser interprets the specifier to apply to all state legal holidays]. Some counties and municipalities may add or remove from the list of paid holidays for the purpose of local government facilities such as schools, parks, and parking meters; however, only the state's legal holidays effect private employers under state labor laws. When it doubt, if possible, specify the holidays explicitly instead of using the PH specifier.
  • Use the SH specifier for school holidays. As of May 2020, this specifier has not been codified for any U.S. jurisdictions or school districts.


Road classifications

Main article: United States/Road classification

highway=* tags classify roads based on multiple factors, including route connectivity, build quality, and traffic volume. The high-level goal is for renderers to be able to display a coherent road network at various zoom levels and for routers to be able to prioritize or deprioritize "main" roads when choosing routes. Most data consumers interpret the same set of road classification tags the same way regardless of the country or locality, so we make some effort to keep classifications vaguely consistent, though differences are inevitable from region to region because of varying highway engineering practices.

We have developed our own OpenStreetMap-specific functional classification scheme for highway=* tags. The rules of thumb at United States/Road classification are based on route types, but consult your state's page for more specific criteria and examples. We do not follow the official Highway Functional Classification System (HFCS) published by the Federal Highway Administration or state highway departments. Many of the principles and considerations in HFCS are relevant to OpenStreetMap, but there is no one-to-one correlation between HFCS classifications and highway=* tags. Some mappers indicate the official HFCS classification of a road using the HFCS=* or designation=* key.

Numbered routes

Main article: United States roads tagging

The United States is home to a variety of national, state, county, and local route numbering systems. United States roads tagging describes many of these systems and how to tag them. If you are mapping numbered roads based on street-level imagery, especially along a freeway, consult this picture dictionary for the appropriate tags to use on each way and route relation.

Speed limits

Use maxspeed=* for white legal speed limit signs or pavement markings and minspeed=* for white minimum speed signs. Sometimes these signs are combined; use both tags.

Use the maxspeed:advisory=* tag for yellow advisory speed limit signs on highway on- and off-ramps (highway=motorway_link, highway=trunk_link, etc.), along curved sections of roadway, or near dangerous rural intersections. Highway ramps almost never have legal speed limits.

A school zone's 20 mph speed limit can be tagged if the school's drop-off, recess, and pickup times are known. For example, a high school's school zone might be tagged maxspeed:conditional=20 mph @ (Mo-Fr 07:45-15:30, SH off). See the Conditional restrictions and opening_hours=* documentation for details on the syntax for specifying times. If a sign lights up when the school zone is in effect, as indicated by a "When Flashing" sign, also use maxspeed:variable=school_zone. However, if all the sign says is "During Restricted Hours" and the school's hours are unknown, then use maxspeed:conditional=20 mph @ "restricted hours". Extend the any school zone–related tags up to the End School Zone sign.

Only tag speed limits based on signs or pavement markings. Do not assume, for instance, that an expressway has a higher speed limit than a two-lane rural road.

Weight restrictions

Posted weight restrictions in the U.S. are exceedingly complex, with signage that varies considerably from state to state. See Key:maxweight#United States, Key:maxaxleload#United States, Key:maxbogieweight#United States, and maxunladenweight=* for tagging examples based on typical signs.

Complex junctions

Examples of complex junctions:


Since there are many disparate bicycle route systems in the U.S., bicycle route relations should be tagged with cycle_network=US:* in addition to the usual network=ncn/rcn/lcn. See Key:cycle_network#United States for details.

Street furniture

Road signs

Road signs are tagged with traffic_sign=*; most values start with US:, followed by standard sign code. United States/Road signs#Sign codes links to national- and state-level traffic sign manuals that list the code for each sign.


Use flag:type=regional for state flags and flag:type=municipal for flags of municipalities and governmental units of similar scope (such as townships). flag:type=county is sometimes used for county flags. Use flag:name=* and flag:wikidata=* to clarify the specific jurisdiction that the flag represents.



Use the grades=* tag to list the official grade numbers served by the school according to the local system.

Emergency services

Many fire stations (amenity=fire_station) also house EMS/paramedic units with ambulances (emergency=ambulance_station). When there is no physical separation between the two services, put both tags on the same feature.

Post offices

Main article: Tag:amenity=post_office#United States

The name=* of a U.S. Post Office should be the local name if known.

Retail branches operated by commercial parcel carriers such as UPS and FedEx should also be tagged as amenity=post_office.

Gas stations

Indicate the gas station's level of service using self_service=* and full_service=*, especially if it differs from the normal level of service offered within the state.

Indicate the type of fuel offered using fuel:*=* tags. See Key:fuel#United States for details on indicating unleaded fuel grades, which are calculated differently than in most of the world.


Main article: Key:heritage#United States

Buildings on the National Register of Historic Places should be tagged:

heritage:ref=NRIS ID
ref:nrhp=NRIS ID

Historic districts are tagged similarly but also have place=neighbourhood. If you know the historic district's bounding streets, you can map it as an area rather than a node.

Each state has at least one similar register, and many cities have their own historic building programs too.

States, counties, and cities have numerous series of historical markers, which are generally tagged tourism=information information=board board_type=history, using network=* or operator=* to distinguish the series from each other.


Hospital heliports are often marked with weight restrictions (maxweight=*) and rotor diameter restrictions (maxrotordiameter=*).


place=* POIs identify population centers. Where these population centers happen to correspond to municipal corporations, they are additionally mapped as boundary relations; the place=* POI is added to the boundary=administrative relation with a role of label. Put the place=* POI at the location that is generally considered the center of the place, for example, a town square, a county courthouse, or the intersection that serves as the origin of a city's street grid.

The place=* tag does not necessarily correspond to the place's legal status. For example, each of Louisiana's parishes is tagged place=county, and countless legally incorporated cities throughout the country are tagged place=town or place=village. To indicate the place's legal status, add a border_type=* tag to the corresponding boundary relation.

Here are rules of thumb for choosing a place=* tag:

Cities at the center of metropolitan areas, generally with a metropolitan population above 100,000. Some boomburbs are also tagged as cities.
Medium-sized cities, including suburbs, generally with a population between 10,000 and 100,000 within corporation limits. Some cities with a population less than 10,000 are also tagged place=town if they are county seats or otherwise especially important. Some place=town POIs represent population centers within unincorporated areas. These POIs may lie within census-designated places (CDPs) but do not necessarily correspond to them.
Small cities with a population less than 10,000, as well as villages (with a population less than 5,000). Some place=village POIs represent population centers within unincorporated areas, such as former villages that have disbanded.
Neighborhood districts within cities that are tagged place=city. Often, these districts are historically separate cities that were annexed by the current city. When these districts are well-defined, they are also mapped as boundary relations with admin_level=10.
Neighborhoods (note the British spelling) within cities tagged place=town or within larger neighborhood districts tagged place=suburb. When these neighborhoods are well-defined, they may also be mapped as land use areas.

place=hamlet is for isolated settlements with fewer than 100–200 residents. Most of the place=hamlet features in OpenStreetMap are errors introduced by the TIGER import:

  • Residential subdivisions within urban or suburban areas should be remapped as landuse=residential areas.
  • Mobile home parks should be remapped as landuse=residential residential=mobile areas.
  • Rail stations should be retagged railway=station or deleted if they no longer exist.
  • Railway junctions should be retagged railway=junction and moved to the actual junction point if there is still a physical wye junction. Otherwise, if the junction is gone but the area is still named after the junction, another tag such as place=locality may be appropriate.


Main article: United States/Boundaries

Administrative boundaries may or may not correspond to population centers. admin_level=4–10 indicates the relative level of the administrative unit delimited by the boundary. Administrative hierarchies vary from state to state, with many exceptions and nuances, so consult United States/Boundaries and your state's page for specific criteria.

Census-designated places (CDPs) were originally tagged as administrative boundaries with admin_level=8 but should now be retagged as boundary=census.

See also


  1. In cases where the distinction matters, Mandarin is name:cmn=* while Cantonese is name:yue=*. Simplified Chinese is name:zh-Hans=* and Traditional Chinese is name:zh-Hant=*.
  2. Bosnian is name:bs=*, Croatian is name:hr=*, Montenegrin is name:cnr=*, and Serbian is name:sr=*.