|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.
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:
|Language||ISO 639 code||Recognized in|
|Central Siberian Yupik||ess|
|Central Alaskan Yup'ik||esu|
|Dakota (Lakota, Nakota)||dak or lkt||South Dakota|
|Chamorro||ch||Guam, Northern Mariana Islands|
|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:
|Language||ISO 639 code|
|Language||ISO 639 code|
|Keres||kee or kjq|
|Tiwa||tix or twf|
|Language||ISO 639 code|
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 unless otherwise noted, but explicit customary units are preferred for many purposes in the United States. 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.
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.
- 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.
- 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. The U.S. is also one of a few countries that associate cardinal directions with routes.
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 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.
The MUTCD specifies a "selective exclusion sign" that explicitly lists the prohibited modes of transportation.  The exclusions can differ between two freeways or two expressways in the same state, so always tag the specific exclusions on the sign using access tags. Here are some exclusions commonly posted at freeway and expressway entrance ramps:
- No non-motorized traffic: access=no motor_vehicle=designated
- No pedestrians: foot=no
- No bicycles: bicycle=no
- No motor-driven cycles: moped=no electric_bicycle=no
- No motor scooters (Illinois, Kentucky): moped=no electric_bicycle=no
- No off-highway motorcycles (Illinois): moped=no electric_bicycle=no
- No motorized bicycles (California, Minnesota): moped=no electric_bicycle=no
- No motorcycles under 125 cc (Michigan): moped=no electric_bicycle=no
- No bicycles or motorcycles less than 5 brake HP (Ohio): moped=no electric_bicycle=no
- No vehicles with lugs: grousers=no?
- No metal treads (Kentucky): metal_treads=no?
- No farm implements (Illinois, Kentucky): agricultural=no
- No farm machinery (Ohio): agricultural=no
- No farm tractors (Michigan): agricultural=no
- No self propelled farm implements (Michigan):
- No horses (New York): horse=no carriage=no
- No animals on foot (Kentucky): horse=no carriage=no (technically animal=no)
- No animals (Ohio): horse=no carriage=no (technically animal=no)
- No low-speed vehicles (Illinois):
- No all-terrain vehicles (Illinois, New York): atv=no
- No all-purpose vehicles (Ohio): atv=no
- No snowmobiles (Ohio): snowmobile=no
Some other selective exclusions are commonly posted on surface streets:
- No motor vehicles: motor_vehicle=no
- No commercial vehicles: goods=no hgv=no and possibly tourist_bus=no coach=no, depending on the state
- No off-highway vehicles (California): ohv=no 
- No non-highway vehicles (Illinois): ohv=no
- No recreational off-highway vehicles (Illinois):
- Authorized vehicles only: motor_vehicle=private
- Emergency vehicles only: motor_vehicle=no emergency=designated
- Government vehicles only (DoD): access=private
- No tactical vehicles (DoD): tank=no
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.
Examples of complex junctions:
- Single-point urban interchange (SPUI):
- Continuous-flow intersection (CFI):
- Diverging diamond interchange (DDI):
- Superstreet intersection:
- Turbo roundabout:
See United_States/Railroads. The 2007-8 TIGER Import brought into OSM not only a vast network of roads, but railways/railroads as well. ("Railway" — a more British English word — is often used in a more global OSM context, while "railroad" is a more US English word to describe the same concept(s), often used in an OSM USA-centric context). There are some USA-specificities to be aware of with OSM rail mapping, the wiki explains that to best modernize TIGER rail data in OSM, a state-by-state approach is taken to "divide and conquer" such a large undertaking as TIGER Review and cleanup. TIGER Review of rail is mostly done, but a significant amount of work still remains in some states. Importantly, rail mapping in the USA doesn't create route=tracks relations, rather, rail infrastructure is collected into route=railway relations (often as our familiar "subdivisions" and for disused and abandoned railways) and passenger route relations (route=train, route=subway, route=light_rail, route=tram, route=monorail...). More than half of US states have at least a rudimentary State/Railroads wiki, please take a look and see if you might improve OSM's rail data in your state, often starting with TIGER Review, or even start a new State/Railroads wiki!
Since there are many disparate bicycle route systems in the U.S., in addition to network=ncn/rcn/lcn, bicycle route relations should also be tagged with cycle_network=US:* (where the * is expanded to complete some US-specific namespace, like US:TX:Plano for Plano, Texas). See Key:cycle_network#United States and United States/Bicycle Networks for details.
Road signs are tagged with traffic_sign=*; most values start with US:, followed by standard sign code. MUTCD lists each standard sign code and its equivalent tags, not only for the road sign itself but also for anything described by the sign. 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.
Points of interest
To determine any business's correct tags, look up its NAICS industry code.
Use the grades=* tag to list the official grade numbers served by the school according to the local system.
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.
- Main article: Tag:amenity=post_office#United States
The name=* of a U.S. Post Office should be the local name if known.
Buildings on the National Register of Historic Places should be tagged:
historic=heritage heritage=2 heritage:operator=nrhp heritage:ref=NRIS ID ref:nrhp=NRIS ID
Cities and states
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.
place=* POIs identify population centers. 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.
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. See United_States_admin_level and/or United States/Boundaries.
The value of the place=* tag corresponds to the population and importance of a poplulation center rather than the legal incorporation status or the
admin_level=* of a municipality. The
admin_level=* of a municipal boundary is specifically tied to the governmental organization of an area. Different parts of the country have different nested levels of administration. In contrast to administration, the place=* value indicates the size and regional importance of the community, regardless of administrative boundaries. For example...
- In the New England region most municipalities have what is called "Town" government (admin_level=8). The clusters of population within these administrative areas may or may not be incorporated and may have population and amenities that make them place=hamlet, place=village, or place=town. If a sub-area of the Town is incorporated then it will have an additional admin_level=9 "incorporated village" boundary, but this sub-area may have a population and amenities that make them place=hamlet, place=village, or place=town.
- Each of Louisiana's parishes and Alaska's divisions (both often called "county equivalents") are tagged place=county and admin_level=6 — or should be! The sole exception to this is Alaska's Unorganized Borough, administered directly by the state of Alaska.
- Countless municipalities legally incorporated as "cities" are tagged place=town or place=village because of their smaller size and amenities.
Here are rules of thumb in the USA for choosing a place=* tag:
- Cities at the center of metropolitan areas, always incorporated, with a metropolitan population above 50,000 (a rather small city — most cities have much larger populations). Some boomburbs are also tagged as cities.
- Smaller-sized towns or cities (which may or may not be incorporated), including suburbs (as that word is known in US English to mean "smaller incorporated city near a different, large center city"), generally with a population between 10,000 and 50,000 within incorporation limits. In sparsely populated rural areas, cities with a population less than 10,000 are also tagged place=town if they are county seats or otherwise especially important centers of civic activity with amenities such as hospitals, universities, courts, dozens of commercial and/or industrial businesses, etc. 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 and villages with a population generally less than 10,000. In sparsely populated rural areas place=village will have fewer amenities than place=town with only a bare minimum of commercial and civic amenities. (A consensus is emerging that a "village" has at least a small commercial landuse area: a market, a fuel station/convenience store, a bank, a post office, etc.) Some place=village POIs represent population centers within unincorporated areas, such as former villages that have disbanded.
- For isolated settlements with fewer than about 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 (multi)polygons, plus a name=* tag.
- Mobile home parks should be remapped as landuse=residential residential=trailer_park (multi)polygons.
- 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 junction (sometimes a wye). Otherwise, if the junction is gone but the area is still named after the junction, another tag such as place=locality may be appropriate.
- Named rural localities with a population of not more than two households.
Places within larger incorporated places:
- 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 and exclusively residential, they may also be mapped as landuse=residential (multi)polygons.
- 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, United States admin_level and your state's page for specific criteria.
- Various states have more specific instructions and examples:
- United States/Projects for tagging suggestions related to relations
- 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=*.
- Bosnian is name:bs=*, Croatian is name:hr=*, Montenegrin is name:cnr=*, and Serbian is name:sr=*.
- Perhaps more specifically, mindisplacement:motorcycle=125 cc
- Perhaps more specifically, minpower:bicycle=5 bhp minpower:motorcycle=5 bhp.
- 603 KAR 5:025 bans "Vehicles with metal treads or caterpillar treads".