# Full Address

Key: `geography.address.full_address`

Complete street address (number, street, city, postal code, country). Format and order locale-specific. May include apartment/suite numbers.

Page: <https://meridian.online/docs/projects/finetype/types/geography/address/full_address>

Samples: `123 Main Street, New York, NY 10001, USA`, `456 Oxford Street, London, W1C 1AX, UK`, `789 Rue de Rivoli, Paris, 75004, France`

## Background

### Origin

FineType defines Full Address as a complete street address of number, street, city, postal code and country, whose format and order are locale-specific.[[1]](https://github.com/meridian-online/finetype/blob/main/labels/definitions_geography.yaml) The Universal Postal Union says there are more than 200 address formats in the world.[[2]](https://www.upu.int/en/postal-solutions/programmes-services/addressing-solutions) The Universal Postal Union says at least 20 language scripts are officially used to write addresses.[[2]](https://www.upu.int/en/postal-solutions/programmes-services/addressing-solutions) Read a full address column as a family of national conventions rather than one format. (Meridian's view)

The Universal Postal Union has developed two addressing standards, S42 and S53.[[2]](https://www.upu.int/en/postal-solutions/programmes-services/addressing-solutions) UPU S42 comprises a generic list of address elements and country-specific templates that tell users how to turn those elements into an accurately formatted address.[[2]](https://www.upu.int/en/postal-solutions/programmes-services/addressing-solutions) UPU S53 facilitates the exchange of name and address data between postal authorities, businesses, mailers and other organisations.[[2]](https://www.upu.int/en/postal-solutions/programmes-services/addressing-solutions) ISO 19160-1:2015, Addressing — Part 1: Conceptual model, was published by ISO in December 2015.[[3]](https://committee.iso.org/standard/61710.html)

In most of the world, addresses are written in order from most specific to general, starting with the addressee and ending with the largest geographical unit.[[4]](https://en.wikipedia.org/wiki/Address) Chinese, Japanese, Korean and Taiwanese addresses written in their native scripts run from the largest geographical area to the smallest.[[4]](https://en.wikipedia.org/wiki/Address) When addresses are written inline, line breaks are replaced by commas.[[4]](https://en.wikipedia.org/wiki/Address)

### Use

Conventions on the placing of house numbers differ: either before or after the street name.[[4]](https://en.wikipedia.org/wiki/Address) In the UK, postal codes are written on a separate line at the end of the address.[[4]](https://en.wikipedia.org/wiki/Address) In Australia, Canada and the United States, postal codes usually appear immediately after the state or province, on the same line.[[4]](https://en.wikipedia.org/wiki/Address)

Google's Places API returns formattedAddress, described as a full, human-readable address for a place.[[5]](https://developers.google.com/maps/documentation/places/web-service/reference/rest/v1/places) Google's Geocoding API documentation says not to parse the formatted address programmatically, and to use the separate address components instead.[[6]](https://developers.google.com/maps/documentation/geocoding/requests-geocoding) When a source system also offers address components, keep them and treat the full address as a display string. (Meridian's view)

libpostal is a C library for parsing and normalising street addresses around the world using statistical NLP and open data.[[7]](https://github.com/openvenues/libpostal) libpostal's international address parser is trained on over 1 billion addresses in every inhabited country on Earth.[[7]](https://github.com/openvenues/libpostal) usaddress is a Python library for parsing unstructured United States address strings into address components.[[8]](https://github.com/datamade/usaddress) The usaddress documentation says it cannot identify address components with perfect accuracy, nor verify that a given address is correct or valid.[[8]](https://github.com/datamade/usaddress) Treat any parsed street, city or postcode as a best guess to be checked, not as a validated value. (Meridian's view)

RFC 4180 says fields containing line breaks, double quotes and commas should be enclosed in double quotes.[[9]](https://www.rfc-editor.org/rfc/rfc4180) Check that a CSV of full addresses quotes its fields, and count the columns on a few rows before loading it. (Meridian's view) Addresses identify people and places, so handle the column as personal data. (Meridian's view)

## Sources

1. [finetype/labels/definitions\_geography.yaml at main · meridian-online/finetype](https://github.com/meridian-online/finetype/blob/main/labels/definitions_geography.yaml) — FineType
2. [Addressing Solutions](https://www.upu.int/en/postal-solutions/programmes-services/addressing-solutions) — organisation
3. [ISO 19160-1:2015 - Addressing — Part 1: Conceptual model](https://committee.iso.org/standard/61710.html) — catalogue entry
4. [Address - Wikipedia](https://en.wikipedia.org/wiki/Address) — secondary source
5. [REST Resource: places \| Places API (New) \| Google for Developers](https://developers.google.com/maps/documentation/places/web-service/reference/rest/v1/places) — documentation
6. [Geocoding request and response \| Geocoding API \| Google for Developers](https://developers.google.com/maps/documentation/geocoding/requests-geocoding) — documentation
7. [GitHub - openvenues/libpostal: A C library for parsing/normalizing street addresses around the world. Powered by statistical NLP and open geo data.](https://github.com/openvenues/libpostal) — secondary source
8. [GitHub - datamade/usaddress: :us: a python library for parsing unstructured United States address strings into address components](https://github.com/datamade/usaddress) — secondary source
9. [RFC 4180: Common Format and MIME Type for Comma-Separated Values (CSV) Files](https://www.rfc-editor.org/rfc/rfc4180) — standard
