AddressLab · Guides
International Address Forms: Nine Boundary Tests
First published: · Chrome · 2026-10-24
An international address form needs country-specific requirements, not a US state-and-ZIP rule with a different label. Our nine local checks found that an empty region passed the maintained UK and German rules, while an empty US state failed; the Hong Kong case exposed no postal input. These are results from AddressLab’s rules, not universal requirements for every checkout.
For QA teams building a country coverage matrix. On 24 October 2026, we loaded maintained baselines in the address form tester, changed only the listed fields, and ran each case in the English, Chinese and Japanese UI. The table below records this page’s UI run.
Replay the nine cases
Open the International Address Form Tester. Select the country, load Valid baseline, make the listed edit and run the test. Reload the baseline before each case so that an empty field from a previous run cannot contaminate the next result.
| Case | Edited input | Pass / warning / fail |
|---|---|---|
| US baseline | {"postalCode": "94105"} | 5 / 0 / 0 |
| US: empty state | {"region": ""} | 4 / 0 / 1 |
| CA: compact postcode | {"postalCode": "k1a0b1"} | 5 / 0 / 0 |
| GB: empty county | {"region": ""} | 4 / 0 / 0 |
| JP: 7 digits | {"postalCode": "1000001"} | 5 / 0 / 0 |
| DE: empty state | {"region": ""} | 4 / 0 / 0 |
| DE: lost zero | {"postalCode": "1067", "region": ""} | 3 / 0 / 1 |
| HK: no postcode | {"postalCode": ""} | 4 / 0 / 0 |
| JP: full-width digits | {"postalCode": "1000001"} | 4 / 0 / 1 |
Pass counts differ because empty optional fields and inapplicable postal fields do not produce findings. Four passes for the Hong Kong case is not lower address quality than five passes for the US baseline.
A lost zero is a storage defect worth testing separately

The baseline postcode is 01067. Replacing it with 1067 produced a postal-format failure. Use this pair across form submission, storage, reopening and export; do not test only the visual input mask. Keep the original value as text and compare the exact string, including its zero.
This is a local five-digit check. Passing 01067 would not establish that the street, city and postcode belong together or that a parcel could be delivered.
Remove a requirement when the country does not use it

The observed Hong Kong UI removes the postal field rather than filling it with 000000. In your own application, define what should happen to an old US ZIP after switching the country. An invisible stale value can survive in an API payload even when the screen looks correct. This run checked the AddressLab UI, not an external merchant’s country switch.
Do not assume that two tools normalize identically
Japan’s ASCII input 1000001 passed the form tester, while full-width 1000001 failed its maintained rule. The dedicated postal checker has a different normalization path. A “valid” label from one tool cannot substitute for testing the exact component and API your product uses.
For Japanese-language users, test half-width/full-width entry, the postal mark and the separator as separate cases. For all locales, preserve the user’s original input until the product’s normalization policy is defined; never silently drop arbitrary characters simply to get a pass.
Turn the observations into your own acceptance matrix
| Coverage axis | Include both sides |
|---|---|
| Required versus optional | Empty US state; empty UK county/German state; country switch. |
| Postal storage | Leading zero; letters; spaces; separators; absent field. |
| Text | Japanese characters, accented street names and long address lines. |
| Round trip | Entered value, request, stored row, response and export. |
Record expected behavior from the target application’s contract first. Postal operators publish addressing guidance; the max lengths and pass/warning categories in this tool are maintained test rules, not a certification from those operators. For a single-record storage workflow, use the saved-record walkthrough.
Sources and test scope
AddressLab used AI assistance to organize this guide and checked it against the recorded browser operations and the primary references below. Tests ran on 24 October 2026 against a local production build in isolated Chrome. External advertising and analytics requests were blocked during functional QA. These observations do not prove address assignment, delivery, mailbox ownership or tax outcomes.