Address formats
Each country has its own postal format. This generator follows the most common conventions:
- US: Number Street, Apt, City, State ZIP.
- UK: Number Street, City, Postcode.
- Canada: Number Street, Unit, City, Province Postal Code.
- Australia: Number Street, Suburb State Postcode.
ZIP/postal codes follow each country's format: 5 digits in the US, alphanumeric like
SW1A 1AA in the UK, alphanumeric like K1A 0B1 in Canada, 4
digits in Australia.
When to use synthetic addresses
- Functional form tests. Validate that your checkout form accepts long addresses, special characters, with and without unit numbers.
- Database seeds. Fill order, customer and shipping tables with plausible data.
- Client demos. Show the system with realistic data without exposing real users.
- UI prototypes. Order lists where every entry isn't
123 Main St. - Display/PDF tests. Verify shipping labels, invoices and receipts render correctly with addresses of varying length.
Generator limitations
The streets that appear are real and common in each country (Main Street, Oak Avenue, High Street). However:
- The street number may not exist on that street.
- The ZIP code may not match the chosen city.
- The street + city combination may be valid in another city but not the chosen one.
For tests where the address has to geocode correctly (resolve to coordinates in Google Maps or Nominatim), use known real addresses as fixtures, not these.
Standard test addresses
Some useful conventions in testing:
- 123 Test Street, 12345 Test City, Test State. Classic placeholder pattern.
- 1600 Pennsylvania Avenue, Washington DC 20500. Public address used as an example in many tests.
- 10 Downing Street, London SW1A 2AA. UK equivalent for tests.
- 1 Apple Park Way, Cupertino CA 95014. Used in Apple-related test fixtures.
Privacy and synthetic data
Generating synthetic addresses doesn't waive best practices:
- Don't use them as real data in production.
- If you link a synthetic name + email + address, mark them clearly as test data (DB flag, fake domain, label).
- Don't send mail to generated addresses: sometimes, by chance, they exist.
- Don't use them on real-world forms (utility signups, delivery accounts, etc.).
Comparison with Faker
Faker libraries (@faker-js/faker, faker for Python) cover
dozens of locales with richer data: states, counties, approximate geocoding. If your
fixtures are code-driven, Faker is better. This generator is best for quick ad-hoc use.