This is a proposal for a set of tags and members making a relation to represent postal addresses.

An address consists of hierarchy of address elements. This hierarchy is mapped to a hierarchy of relations, each of which is_in the parent address area. The list of possible address elements is taken from RFC 4119. An exception is the postal code (pc), which can appear anywhere in the hierarchy.

Members

The parent node from which higher level address elements are taken. The parent node must have type=address. However, the address:type may be missing for intermediate areas that don't appear in postal addresses.* Multiple parent nodes may be allowed for other relation types; in this case, exactly one must have type=address to avoid ambiguous addresses.

alt_is_in

zero or more

Alternative parent node. This may be used if a site, building, etc. has multiple addresses.

label

zero or one

A hint for the renderer where to place the label (name) of the area. Shared with other definitions.

border

zero or one

The outline of the area associated with the postal address. Shared with other definitions.

none

zero or more

Anything that has the postal address or more specific addresses. Should not be used for relations; these should have is_in=this relation instead.

Address Elements

The address elements are used in address:type and in address:element tags. The civicLoc format defined in RFC 4119 is used:

Addr. Element

Definition

Example

country

countries or nations, as defined by the ISO 3166-MA.

USA, Taiwan, Palestine

a1

national subdivisions (state, region, province, prefecture)

New York

a2

county, parish, gun (JP), district (IN)

King's County

a3

city, township, shi (JP)

New York

a4

city division, borough, city district, ward, chou (JP)

Manhattan

a5

neighborhood, block

Morningside Heights

a6

street

Broadway

prd

Leading street direction

N, W

pod

Trailing street suffix

SW

sts

Street suffix

Avenue, Platz, Street

hno

House number, numeric part only

123

hns

House number suffix

A, 1/2

lmk

Landmark or vanity address

Low Library

loc

(not applicable to OSM) Additional location information

Room 543

flr

(not applicable to OSM) Floor

5

nam

(not applicable to OSM) Name (residence, business or office occupant)

Hans Mayer

pc

Postal code

10027-0401, AA9A 9AA, 12345

Examples

A simple street address

This is the example from RFC 4119, the representation of which is the following XML fragment:

Intermediate address elements

Regierungsbezirke (~ administrative districts) in Bavaria are at a level between a1 and a2. Fortunately, they don't appear in addresses. As there is no address element defined for this hierarchy level, it does not have an address:type tag.

This example is the Landkreis Rosenheim, which is part of Regierungsbezirk Oberbayern in the German state of Bavaria.

Note that each of the three parts of the street has a different type=address relation. Note that each of these three relations has multiple is_in members but only one of them points to another type=address relation (the other one is a hypotheticaltype=street relation).

multiple address elements in one address part

streets

A street can have a complex name, which will usually be given in a single relation: