Fictional US streets, real 50 state names, ZIP-format codes — seeded, exportable
Quick answer: each row combines a made-up street (from 749 street names + 195 suffixes), an optional Apt./Suite line (2 formats), a fictional city (927-city pool), one of the real 50 US state names, and a random 5-digit or ZIP+4 code. Streets, cities, and ZIPs don't exist as a real place — safe for test data, useless for mail. Seed 2026 yields 49049 Pierce Fort, Apt. 380, Mervinshire, AK 26291. Everything generates in your browser; nothing uploads.
| # | Street | Apt / Suite | City | State | ZIP |
|---|---|---|---|---|---|
| Loading Faker engine… | |||||
| Field | Source | Matches reality? |
|---|---|---|
| Street number | Random 1–5 digits | Format-real, fictional |
| Street name | 749-name pool + 195 suffixes, 3 patterns | Fictional (e.g. Pierce Fort, Marvin Lock) |
| Apt / Suite | 2 formats: Apt. ###, Suite ### | Format-real, fictional |
| City | 927-city pool built from prefixes + suffixes | Fictional (Mervinshire, Joanaboro) |
| State | The real 50 US state names (no DC or territories) | Real |
| ZIP | Random digits, ##### or #####-#### | Format-real, not state-matched |
Pool sizes measured from @faker-js/faker 10.6.0's English locale — the exact bundle this page lazy-loads. Multiply the pools (streets × suffixes × cities × states × 100,000 ZIPs) and the row space is over 600 trillion combinations, so cross-run collisions are effectively zero even before seeding.
Under the hood this is @faker-js/faker 10.6.0 (MIT) with its English locale, lazy-loaded on first generate and run entirely in your tab. The address module assembles each row the way real address data is shaped — number, street, optional unit, city, state, postal code — which is why it slots straight into address forms, shipping calculators, and tax-table tests that expect US-shaped input.
A seed pins the generator's random sequence. Same seed, same addresses, on any machine, any day — the locale data and Faker version are pinned too (10.6.0, en). Leave the seed blank for fresh rows every click. Seeded runs are the way to ship reproducible fixtures: store seed=2026 in the test, not 500 rows of CSV.
Choose a count up to 500, optionally set a seed, and pick an output: table (readable), one-per-line (paste into forms or text fixtures), or JSON (array of objects with street, secondary, city, state, stateAbbr, zip). The Apt/Suite control decides whether unit lines appear sometimes, never, or always. CSV copy/download works from any view.
Seed 2026, count 3, Apt/Suite: Always. You get:
Notice what's honest about these rows: the states are real (Alaska, Texas, Maine), the ZIPs follow real formats — but 26291 is not an Alaska prefix (real AK ZIPs start with 995–999), and Pierce Fort is not a street in a town called Mervinshire. If your validator checks state-ZIP consistency, use the state field and generate state-correct ZIPs yourself; if it only checks shape, these rows pass. That's the difference between format-realistic and geographically-true test data, and knowing it saves an afternoon of debugging.
No, and that's deliberate. Streets and cities are pattern-built fiction — 49049 Pierce Fort in Mervinshire does not exist — while the state names are the real 50 US states and the ZIP codes match the real 5-digit and ZIP+4 formats without matching the state they're printed next to. That combination is what you want for test data: realistic shape, zero chance a mail merge or signup test touches a real household.
No. Faker draws ZIP codes as random digits in the ##### or #####-#### format, independent of the state on the same row. Real ZIP prefixes are geographic — 9 and 8 for the West Coast, 0 and 1 for the Northeast — so a validator that checks state-ZIP consistency will flag these rows. If you need state-consistent ZIPs, generate the state first and fill the ZIP from the real prefix ranges for that state in your own fixtures step.
Because they are. Faker builds cities from prefixes and suffixes — Mervinshire, East Marcellefort, Joanaboro — out of a pool of 927 city names built from those parts. Some draws resemble real towns (that's the generator doing its job), but the generator never looks up real places. If your tests need real cities, pair this tool's street and ZIP fields with your own city list.
Yes — type a seed. Seed 2026 with count 3 and Apt/Suite set to Always produces 49049 Pierce Fort, Apt. 380, Mervinshire, AK 26291; 56865 Marvin Lock, Apt. 593, East Marcellefort, TX 19040; and 9436 Oxford Road, Suite 196, Fort Kelsi, ME 42711-8728 — on every machine, every day, as long as the locale data and Faker version (10.6.0) stay the same. Store the seed in your test, not the addresses.
For QA runs on systems you own or are authorized to test, yes — fictional addresses are the standard way to exercise address validation, shipping calculators, and tax tables. On third-party services, read the terms first: entering fake data on a real storefront can violate them, pollute someone's analytics, or trigger fraud filters, and if a payment step is involved the address must be the cardholder's real billing address. Test where you're allowed to test.
Not on this page. Faker's English locale ships exactly 50 state names — Washington, DC and the territories (PR, GU, VI, and the rest) are not in the pool, and country data is a separate module. International testing needs other locales, which double the download; for now, generate US-shaped rows here and handle other countries in your fixtures layer.