What does a fake address generator do?
A fake address generator assembles invented postal addresses from fixed lists of street names, towns and regions, with a postcode and an optional phone number built to match the national pattern. The result looks like an address, because the point of test data is to be realistic enough to exercise real validation rules — but it is not a real place, and it should never be treated as one.
The value of the tool is in matching the shape. A form that collects a UK postcode is testing a specific letter-and-digit pattern, a US ZIP code is five digits with an optional four-digit extension, a Japanese postcode is seven digits split three-and-four, and an Indian PIN code is six digits that cannot start with zero. A value that ignores the pattern passes checks a real address would fail, or fails checks a real address would pass, and neither tells you anything useful about the code.
Two features make the output usable as a fixture rather than disposable. A seed fixes the list, so the same addresses can be regenerated later when a test needs to be reproduced, and the export keeps the parts separate — street, town, region, postcode and country as distinct columns or fields — which is what a database seed or an API fixture actually needs.
How to generate fake addresses
- Choose the country format. This sets the order of the address parts, the postcode pattern and the phone format.
- Set how many addresses you need, up to three hundred in one run.
- Enter a seed, or press Surprise, so the list can be regenerated identically later.
- Tick the phone option if the test needs an invented number in the matching national format.
- Generate, then copy the list or download it as CSV with separate columns, as a JSON array for a fixture, or as plain text lines.
- Use the output for testing and mock-ups only — never as a real shipping or billing address.
Fake Address Generator limits and rules
| Item | Limit |
|---|---|
| Address formats | United States, United Kingdom, India, Germany and Japan |
| Per run | Up to 300 addresses |
| Parts generated | Street, town or city, region, postcode, country and an optional phone number |
| Postcode patterns | Matched to the national format rather than to a real list of codes |
| Reproducibility | A seed makes a run repeatable; the same seed always gives the same list |
| Export | Clipboard, CSV with separate columns, a JSON array, or plain text |
| Realism | Shapes match the country; the places themselves do not exist or are coincidental |
When to use it
- Seeding a development database with rows that look like customers rather than like placeholders.
- Testing a checkout form against the postcode and phone rules of each supported country.
- Populating an address autocomplete or a shipping-rate fixture with realistic-looking input.
- Producing screenshots of a map or a delivery page without exposing a real location.
- Checking that a multi-field address form packs and unpacks its parts correctly.
Is it private?
Addresses are assembled in this page from lists that ship with it. Nothing is looked up, geocoded or sent to a server, and no generated value leaves your browser.
Frequently asked questions
No. Street names and towns come from hand-written lists and the numbers are random, so an address either will not exist or, by coincidence, will match one that does. That coincidence is the reason for the warning on the page: never send mail to a generated address, never use one as a shipping or billing destination, and never enter it into a service that will act on it. For test data only.
Five, chosen to cover the common validation patterns: the United States, the United Kingdom, India, Germany and Japan. Each sets the order of the address parts, the shape of the postcode and the national phone format. The format is about structure, not about real geography — the towns are invented or generic, so the tool is exercising the rules a form enforces rather than modelling a real delivery network.
Use one that the postal operator has reserved for exactly this purpose. Many countries publish example or reserved postcodes and addresses that are guaranteed never to deliver, and the .example domains are reserved for testing email and URLs in the same way. Those values are the right choice when the test must pass a real validator or call a real sandbox that checks addresses, because a random value might fail validation for reasons unrelated to your code.
An array of objects with one field per address part — street, city, region, postcode and country, plus phone when that option is on — which is the shape most API fixtures and seed scripts expect. The CSV export uses the same parts as columns with a header row, and the plain text export holds a single formatted line per address for pasting into a free-text field or a document.
Because they follow the pattern without being drawn from a real postcode list. A UK value is two groups with a valid letter-and-digit arrangement, a Japanese value is seven digits split three-and-four, and an Indian value is six digits that do not begin with zero. That is enough to test validation and formatting, and deliberately not enough to point at somewhere real. Anything that needs a code that genuinely exists should use a reserved test value instead.
Not in a single run — one format is applied per batch, so that every row uses the same structure and the export stays consistent. To build a multi-country fixture, generate one batch per country with its own seed and concatenate the results; because each batch is reproducible from its seed, the full fixture can be rebuilt later without keeping the generated rows themselves.
Related tools
Written and maintained by Md. Nur Hossain Repon.