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 region | Region field | Postal pattern | Primary QA risk |
|---|---|---|---|
| United States | State, usually required | 5 digits; optional ZIP+4 | Leading zero and state abbreviation |
| Canada | Province | Letter-number-letter, space, number-letter-number | Uppercase letters and significant space |
| United Kingdom | County should not always be required | Variable alphanumeric postcode | Overly narrow regex and fields |
| Japan | Prefecture | 7 digits, commonly 3-4 | Localized order and Unicode |
| Germany | State often unnecessary for delivery form | Exactly 5 digits | Street before house number; PLZ before city |
| Hong Kong | District / territory | No general postcode | Incorrectly 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
- A normal record for every supported country.
- An empty optional region or postal field.
- A valid postal code with spaces, letters, or a leading zero.
- A long locality and address line on a narrow viewport.
- Unicode characters through form, API, database, CSV, and display.
- 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.