Provides functionality for storing, validating and displaying international postal addresses.

The Drupal 8 heir to the addressfield module, powered by the commerceguys/addressing library.


  • Address field type and form element
  • Country field type and form element
  • Zone field type and form element
  • Address formats for 200 countries
  • Subdivisions (administrative areas, localities, dependent localities) for 40 countries
  • Subdivision translations for all of the parent country's (i.e Canada, Switzerland) official languages.
  • Country list with translations for over 200 locales, provided by CLDR

Zones are territorial groupings often used for shipping or tax purposes. They can match countries, subdivisions (states/provinces/municipalities), postal codes. For example: "California and Nevada", "France and Monaco", "Germany and a set of Austrian postal codes".

Address data model

Each address can have the following properties:

  • Given name (First name)
  • Additional name (Middle name / Patronymic)
  • Family name (Last name)
  • Organization
  • Address line 1
  • Address line 2
  • Postal code
  • Sorting code
  • Dependent Locality (Neighborhood / Suburb)
  • Locality (City)
  • Administrative area (State / Province)
  • Country

Property names follow the OASIS eXtensible Address Language (xAL) standard.


Address must be installed via Composer, in order to get the required libraries. The tarballs are provided for informative purposes only.

1. Add the repository

composer config repositories.drupal composer

This allows Composer to find Address and the other Drupal modules.

2. Download Address

composer require "drupal/address ~1.0"

This will download the latest release of Address.
Use 1.x-dev instead of ~1.0 to get the -dev release instead.
Use composer update drupal/address --with-dependencies to update Address to a new release.

See Using Composer in a Drupal project for more information.

Supporting organizations: 

Project Information