Maintained QA reference

International Address Field and Postal Format Matrix

The safest international form stores neutral fields and lets country rules control labels, requirements, validation, and display order. This matrix covers six deliberately different formats that expose common US-only assumptions.

Comparison matrix

Country or regionRegion fieldPostal patternPrimary QA risk
United StatesState, usually required5 digits; optional ZIP+4Leading zero and state abbreviation
CanadaProvinceLetter-number-letter, space, number-letter-numberUppercase letters and significant space
United KingdomCounty should not always be requiredVariable alphanumeric postcodeOverly narrow regex and fields
JapanPrefecture7 digits, commonly 3-4Localized order and Unicode
GermanyState often unnecessary for delivery formExactly 5 digitsStreet before house number; PLZ before city
Hong KongDistrict / territoryNo general postcodeIncorrectly required postal field

Recommended storage model

Keep addressLine1, optional addressLine2, locality, optional administrativeArea, optional postalCode, and an ISO country code. Store postal codes as strings. Do not force every record into streetโ€“cityโ€“stateโ€“ZIP order; format the display after selecting the country.

Minimum test set

  1. A normal record for every supported country.
  2. An empty optional region or postal field.
  3. A valid postal code with spaces, letters, or a leading zero.
  4. A long locality and address line on a narrow viewport.
  5. Unicode characters through form, API, database, CSV, and display.
  6. A country switch after the user has already entered values.

Format recognition is not address verification

A value can match a postal pattern without being assigned, current, or connected to the rest of the address. Likewise, a well-formatted synthetic record is not evidence of a residence or deliverable destination. Use an authorized postal or carrier service when a production workflow requires deliverability.

Test the matrix

Use the Address Form Tester for maintained valid and boundary scenarios. Use the Postal Code Format Checker to inspect syntax normalization, and the Address Parser & Formatter to compare structured fields with label and JSON output.

Primary references