← Back to Tools

Random Address Generator

Realistic test addresses for forms, QA and demos. Pick a country and get addresses where the city, the state or region and the postal code really belong together, printed in that country's own format. Generate up to 500 at once, then copy them or export CSV and JSON. Everything runs in your browser and nothing is uploaded.

1 to 500 addresses per batch.

Include

Phone numbers use the city's real area code with 555-0100 to 555-0199, the block reserved for fictional use in North America.

These addresses are randomly composed for testing, demos and form validation. Cities, regions and postal code areas are real and match each other, but a street and house number may or may not exist, and no record belongs to a real person. Please don't use them to get past verification checks or to sign up for services.

Generated addresses

Generating addresses…

Frequently Asked Questions

Are these real addresses?+
Partly, by design. The city, the state or region and the postal code area are real and always match each other, so each address passes format checks and looks right in a demo. The street name is composed from common local parts and the house number is random, so a given street and number may or may not exist. Nothing is taken from a register of people, and no address belongs to a real person's record.
Can I use these addresses to sign up for services?+
No, that is not what they are for. They are made for testing your own forms and systems, filling demos and screenshots, and seeding sample data. Using a made-up address to sign up somewhere, get past identity or address verification, or claim a delivery or offer can break that service's terms and, depending on the situation, the law. If a service needs your address, give it your real one.
Why do the phone numbers and emails look like that?+
So that nobody gets called or emailed by mistake. Phone numbers come only from ranges reserved for fiction: 555-0100 to 555-0199 with a real local area code in the US and Canada, 07700 900000 to 07700 900999 (Ofcom) in the UK, (0X) 5550 xxxx and (0X) 7010 xxxx (ACMA) in Australia, the Bundesnetzagentur's media production numbers in Germany, and ARCEP's numbers for audiovisual works in France. We could not confirm a reserved range for Spain, so the phone option is off there. Emails always end in example.com, example.org or example.net, domains that RFC 2606 reserves for examples.
Which countries does the generator support?+
The United States, the United Kingdom, Canada, Germany, Spain, France and Australia. Each one draws from roughly 30 to 40 real cities (suburbs in Australia) spread across its states, provinces or regions, and prints the result in that country's own format: City, ST ZIP in the US, CITY PROV A1A 1A1 in Canada, the postcode on its own line in the UK, the postal code before the city in Germany, Spain and France, and SUBURB STATE postcode in Australia.
Can I generate addresses in bulk?+
Yes. Set the quantity to anything from 1 to 500 and press Generate. Copy all puts every address on your clipboard, separated by blank lines. Download CSV gives you a UTF-8 file with a byte order mark so Excel shows ß, ñ and é correctly, and Download JSON gives one object per address with separate fields for name, street, unit, city, region, postal code, country, country code, phone and email.
Is anything uploaded or stored?+
No. Addresses are generated in your browser with the Web Crypto API, and nothing you generate is sent to a server or saved. Reload the page and the batch is gone, so copy or download what you want to keep.

Learn More

Putting test data to work in a real QA process? Start here:

Why Use Generated Addresses in Testing

Copying a real customer's address into a staging database, a bug ticket or a demo is easy, and it is exactly the kind of data handling privacy law cares about. Under the GDPR, a postal address tied to a person is personal data, and test environments are not exempt: data minimisation and purpose limitation apply there too.

  • Tickets travel: a bug report gets pasted into chat, linked from pull requests and exported to other tools. Anything in it, including a screenshot of a filled-in form, spreads with it.
  • Staging is softer: test systems usually have wider access, lighter monitoring and longer retention than production. Real records there add risk without adding test coverage.
  • Demos get recorded: sales demos, onboarding videos and documentation screenshots end up public. A generated address looks real on screen without pointing at anyone.
  • Format still matters: placeholder text like "test test 123" never exercises your validation. Generated addresses follow each country's real postal code format and line order, so parsers, formatters and shipping logic get a realistic workout.

If a bug only reproduces with one customer's data, rebuild the shape of that record (same country, same field lengths, same special characters) with generated values instead of copying the record itself.

How Each Address Is Built

  • Real places, matched: every city comes from a curated list with its real state, province or region and postal codes that belong to it. That means full ZIP codes in the US, real postcode districts in the UK, real forward sortation areas (the first three characters) in Canada, and real postal codes in Germany, Spain, France and Australia.
  • Valid but random endings: in the UK and Canada the last three characters of the code are random but follow the official pattern, so the full code may not be an existing delivery point.
  • Plausible streets: street names are built from common local patterns such as Maple Avenue, Station Road, Lindenstraße, Calle Mayor or rue de la République, with house numbers and unit lines in local style. A given street and number may or may not exist.
  • Phone numbers nobody owns: phones come only from ranges reserved for fiction in the US, Canada, the UK, Australia, Germany and France. Spain has the option switched off because we could not confirm a reserved range.
  • Emails at reserved domains: every email uses example.com, example.org or example.net, which RFC 2606 reserves for documentation. Nobody can register them, so no real inbox sits behind them. Emails are unique within a batch, which helps when you test a unique-email constraint.
  • Secure randomness: every choice uses the browser's crypto.getRandomValues, so batches don't fall into predictable patterns.

Address Formats by Country

The generator prints each address in the line order the local postal service expects. Here is what changes from country to country, listed after the recipient's name:

CountryLine orderPostal codeState or region
United StatesStreet and unit · City, ST ZIP5 digits (ZIP+4 optional: 12345-6789)Required, 2-letter code
United KingdomFlat · street · POST TOWN · postcodeOutward and inward code, e.g. SW1A 1AACounty optional, Royal Mail does not need it
CanadaStreet and unit · CITY PROV postal code (no comma)A1A 1A1 (letter, digit, letter)Required, 2-letter province or territory code
GermanyStreet and number (// apartment or floor) · PLZ city5 digitsNot part of the address
SpainStreet, number, floor and door · CP city (province)5 digits, the first two identify the provinceProvince often asked for on forms
FranceApartment or building · number and street · code city5 digits, the first two usually match the départementNot part of the address
AustraliaUnit and street · SUBURB STATE postcode4 digitsRequired, abbreviated (NSW, VIC, QLD and so on)

Germany and France leave the region out of the postal address entirely, and in the UK the county is optional. A form that makes State mandatory for every country rejects perfectly valid addresses from those places.

Edge Cases QA Should Test in Address Forms

Address forms fail in the same handful of ways. Generate a batch for each country you ship to and check these:

  • Long street names: Avenida de los Reyes Católicos or Hans-Böckler-Straße hit tight length limits and wrap badly on labels. Check everywhere the address lands: the form, confirmation emails, invoices, PDFs and any shipping or payment API, which often allows fewer characters than your own form.
  • Non-ASCII characters: follow ß, ñ, é and ü from input to export. A UTF-8 value read as Windows-1252 turns München into München. Check case handling too: in JavaScript, "Straße".toUpperCase() returns "STRASSE", which can break exact-match comparisons.
  • Apartment and unit lines: make sure the optional second line survives every handoff. Line order differs too: in the UK and France the flat or apartment line sits above the street. Spanish addresses put floor and door on the street line, German ones add the apartment or floor after the house number with //, and in the US, Canada and Australia the unit goes on the street line as well.
  • Postal codes with letters and spaces: UK postcodes and Canadian postal codes mix letters and digits around a space. Accept lowercase input and a missing space, then normalise (sw1a1aa becomes SW1A 1AA). Never use type="number" for a postal code field.
  • Leading zeros: Boston (02108), Dresden (01067), Barcelona (08001), Nice (06000) and Darwin (0800) all start with a zero. Store postal codes as text, never as integers. Excel drops the zero when you double-click a CSV, so import it through Data, From Text/CSV and set the column type to Text.
  • Addresses without a state line: a required State dropdown blocks German and French users. Make the field, its label and its validation depend on the selected country.
  • Autofill and autocomplete: use the standard tokens (name, address-line1, address-line2, address-level2 for the city, address-level1 for the state, postal-code, country, tel, email) and check that browser autofill fills the right boxes. Then switch the country after autofill and confirm the labels and validation update.
  • Apostrophes and hyphens: St. John's, O'Brien and Saint-Étienne are in the dataset on purpose. They catch broken escaping in SQL, HTML and CSV, and validation that only allows letters.

Related Tools