Generate realistic-looking postal addresses that are guaranteed not to exist -- invented street and town names, and a postcode from a range that can never be delivered to.
Not looking fake. An address that follows the right format -- a number, a street, a town, a valid postcode -- is not an invented address at all: the format is the address space, so anything generated inside it is a real place, and quite possibly somebody's home. Sites that pick a real street from a list and change the house number are doing the same thing with extra steps. The only way to be sure is to build the address out of parts that do not exist and pair them with a postcode that cannot exist. Both postal services provide the second half. Royal Mail treats ZZ99 as a non-geographic code for mail with no usable address, so no ZZ99 postcode is deliverable anywhere. In the United States, ZIP 00000 is unassigned and always has been, while still being five digits, which is all a form's validation actually checks.
This generator invents addresses rather than sampling them. Street names and place names are composed from word banks, so the combination names nowhere; the postcode is drawn from a range that can never be delivered to -- ZZ99 in the UK, 00000 in the US. The result reads like a real address, which is what makes it usable as test data, and is guaranteed not to be one.
Every result here is drawn using crypto.getRandomValues() -- the Web Crypto API's cryptographically secure randomness -- instead of Math.random(), so it's genuinely unpredictable, not just statistically random. Learn more.
Seed data and fixtures for a database, filling checkout and shipping forms in testing, screenshots and product demos, mockups that need realistic contact blocks, address-parsing and validation test cases, and any teaching example that would otherwise use a real house.
A street name is built from a stem and a street type, a town from a prefix and a suffix, and both are drawn with cryptographically secure randomness. A real state or county is attached so the address has the right shape for a form that validates the field -- an invented town in a real county is still nowhere. The postcode always comes from the undeliverable range. Nothing is sent anywhere.
No, and deliberately not. Every street name and town name here is composed from word banks rather than taken from a map, and every postcode is from a range that cannot be delivered to. Generators that shuffle real street names are the dangerous kind: a plausible address is a real address somewhere.
They will pass format validation -- the right number of fields, a five-digit ZIP, a UK postcode in the right shape. They will not pass a real lookup against a postal database, and they are not meant to: an address that a delivery service accepts is an address somebody could be sent a parcel at.
Because ZZ99 is not a postcode area. Royal Mail uses it internally for mail whose address cannot be resolved, so no ZZ99 code corresponds to any place. The inward half is still randomised, so the codes vary the way real ones do while none of them can ever be real.
Because 00000 has never been assigned and never will be, while still being five digits and passing the format check a form performs. Randomising the ZIP instead would produce real ones, which is the mistake this generator exists to avoid.
Yes -- the amount control goes up to 100, and the results copy out as one address per line, ready to paste into a fixture file or a spreadsheet.
Wheel of Names · Spin the Bottle · Ladder Game · Card Draw · Coinflip · Plinko