📋 View Country Formats
| Country | Format Details | Example |
|---|---|---|
| 🇺🇸 United States | 5 digits (NNNNN) or ZIP+4 (NNNNN-NNNN) | 12345 or 90210-1234 |
| 🇨🇦 Canada | A1A 1A1 (Letter-Number-Letter Number-Letter-Number) | K1A 0B1 |
| 🇬🇧 United Kingdom | Various (e.g., A1 1AA, AA1 1AA, AA1A 1AA) | SW1A 1AA |
| 🇦🇺 Australia | 4 digits (NNNN) | 2000 |
| 🇩🇪 Germany | 5 digits (NNNNN) | 10115 |
| 🇫🇷 France | 5 digits (NNNNN) | 75001 |
| 🇯🇵 Japan | 3-4 digits (NNN-NNNN) | 100-0001 |
| 🇨🇳 China | 6 digits (NNNNNN) | 100000 |
| 🇮🇳 India | 6 digits (NNNNNN) | 110001 |
| 🇧🇷 Brazil | 5-3 digits (NNNNN-NNN) | 01000-000 |
| 🇲🇽 Mexico | 5 digits (NNNNN) | 01000 |
| 🇻🇳 Vietnam | 6 digits (NNNNNN) | 700000 |
| 🇸🇬 Singapore | 6 digits (NNNNNN) | 018956 |
| 🇹🇭 Thailand | 5 digits (NNNNN) | 10110 |
| 🇰🇷 South Korea | 5 digits (NNNNN) | 03000 |
Pick a country, press generate, copy the result. Every code is built from the real postal format that country uses — the right length, the right letter/digit pattern, the right separator — so your form validation accepts it instead of rejecting it on the first character.
Below the generator is the reference material the generator is built on: which ZIP prefixes belong to which US state, how 25 countries structure their postal codes, and the IP ranges and domains that standards bodies reserved specifically so test data can never touch a real address.
Last updated: 30 August 2026 · Maintained by the Tools SoShareIT editorial team
Random is not the same as fake
A generated ZIP code is format-valid, not delivery-valid. Those are two different claims and confusing them is the single most common mistake we see in test data.
Format-valid means the string passes the pattern check: five digits for the United States, A1A 1A1 for Canada, NNN-NNNN for Japan. Delivery-valid means the Postal Service will actually route mail to it. A generator can guarantee the first and can never guarantee the second, because the set of assigned codes changes as carriers add and retire routes.
That distinction decides where this data belongs:
Swipe the table sideways to see every column.
| Use it for | Never use it for |
|---|---|
| Seeding a staging database | A real shipping label |
| Unit tests for a validation regex | Tax or jurisdiction lookups |
| QA fixtures and demo screenshots | Address verification against a carrier API |
| Load-testing a checkout form | Anything a human will post mail to |
| Filling a design mockup with plausible data | Fraud, spam signups, or evading a form |
If you need a code that is guaranteed to route, the only correct source is the postal operator’s own lookup — not a generator, and not a scraped list. Need more control over the US side specifically? The dedicated Random ZIP Code Generator handles ZIP+4 and bulk output.
Which ZIP prefixes belong to which US state

US ZIP codes are geographic and they are ordered. The first digit is a broad region running roughly northeast to west; the first three digits identify a sectional center facility, the processing hub that serves a cluster of post offices. That is why the ranges below are contiguous per state, and why a ZIP starting 9 is never in Ohio.
The practical value in testing: if your fixture pairs ZIP 90210 with state NY, any real address validator will reject it. Pull the state and the ZIP from the same row and that class of false failure disappears.
Swipe the table sideways to see every column.
| State | Code | ZIP range | Leading digit |
|---|---|---|---|
| Alabama | AL |
35004 – 36925 | 3 |
| Alaska | AK |
99501 – 99950 | 9 |
| Arizona | AZ |
85001 – 86556 | 8 |
| Arkansas | AR |
71601 – 72959 | 7 |
| California | CA |
90001 – 96162 | 9 |
| Colorado | CO |
80001 – 81658 | 8 |
| Connecticut | CT |
06001 – 06928 | 0 |
| Delaware | DE |
19701 – 19980 | 1 |
| District of Columbia | DC |
20001 – 20799 | 2 |
| Florida | FL |
32003 – 34997 | 3 |
| Georgia | GA |
30002 – 39901 | 3 |
| Hawaii | HI |
96701 – 96898 | 9 |
| Idaho | ID |
83201 – 83876 | 8 |
| Illinois | IL |
60001 – 62999 | 6 |
| Indiana | IN |
46001 – 47997 | 4 |
| Iowa | IA |
50001 – 52809 | 5 |
| Kansas | KS |
66002 – 67954 | 6 |
| Kentucky | KY |
40003 – 42788 | 4 |
| Louisiana | LA |
70001 – 71497 | 7 |
| Maine | ME |
03901 – 04992 | 0 |
| Maryland | MD |
20588 – 21930 | 2 |
| Massachusetts | MA |
01001 – 05544 | 0 |
| Michigan | MI |
48001 – 49971 | 4 |
| Minnesota | MN |
55001 – 56763 | 5 |
| Mississippi | MS |
38601 – 39776 | 3 |
| Missouri | MO |
63001 – 65899 | 6 |
| Montana | MT |
59001 – 59937 | 5 |
| Nebraska | NE |
68001 – 69367 | 6 |
| Nevada | NV |
88901 – 89883 | 8 |
| New Hampshire | NH |
03031 – 03897 | 0 |
| New Jersey | NJ |
07001 – 08989 | 0 |
| New Mexico | NM |
87001 – 88441 | 8 |
| New York | NY |
10001 – 14975 | 1 |
| North Carolina | NC |
27006 – 28909 | 2 |
| North Dakota | ND |
58001 – 58856 | 5 |
| Ohio | OH |
43001 – 45999 | 4 |
| Oklahoma | OK |
73001 – 74966 | 7 |
| Oregon | OR |
97001 – 97920 | 9 |
| Pennsylvania | PA |
15001 – 19640 | 1 |
| Rhode Island | RI |
02801 – 02940 | 0 |
| South Carolina | SC |
29001 – 29948 | 2 |
| South Dakota | SD |
57001 – 57799 | 5 |
| Tennessee | TN |
37010 – 38589 | 3 |
| Texas | TX |
75001 – 79999 | 7 |
| Utah | UT |
84001 – 84784 | 8 |
| Vermont | VT |
05001 – 05907 | 0 |
| Virginia | VA |
20101 – 24658 | 2 |
| Washington | WA |
98001 – 99403 | 9 |
| West Virginia | WV |
24701 – 26886 | 2 |
| Wisconsin | WI |
53001 – 54990 | 5 |
| Wyoming | WY |
82001 – 83128 | 8 |
| Puerto Rico | PR |
00601 – 00988 | 0 |
| US Virgin Islands | VI |
00801 – 00851 | 0 |
| Guam | GU |
96910 – 96932 | 9 |
| American Samoa | AS |
96799 | 9 |
| Northern Mariana Islands | MP |
96950 – 96952 | 9 |
Ranges are the low and high assigned ZIP for each state and include gaps — not every number inside a range is in service. Texas also holds 73301 (an IRS-only ZIP) and the 88510–88589 block around El Paso; New York holds 06390 for Fishers Island, which sits inside Connecticut’s 0 region; Massachusetts extends to 05544 for a single accounting facility. Those four exceptions are the ones that break naive range checks.
Postal code formats in 29 countries

There is no international postal code standard. Each operator designed its own, and the differences are structural rather than cosmetic — a validator written for five digits will reject two thirds of the world.
Read N as any digit and A as any letter:
Swipe the table sideways to see every column.
| Country | Local name | Pattern | Example |
|---|---|---|---|
| United States | ZIP Code | NNNNN or NNNNN-NNNN |
97209 |
| Canada | Postal Code | ANA NAN |
K1A 0B1 |
| United Kingdom | Postcode | AN NAA to AANA NAA |
SW1A 1AA |
| Ireland | Eircode | ANN AAAA |
D02 AF30 |
| Australia | Postcode | NNNN |
3000 |
| New Zealand | Postcode | NNNN |
6011 |
| Germany | Postleitzahl (PLZ) | NNNNN |
10115 |
| France | Code postal | NNNNN |
75008 |
| Spain | Código postal | NNNNN |
28013 |
| Italy | CAP | NNNNN |
00184 |
| Netherlands | Postcode | NNNN AA |
1012 JS |
| Belgium | Postcode | NNNN |
1000 |
| Switzerland | PLZ | NNNN |
8001 |
| Austria | PLZ | NNNN |
1010 |
| Poland | Kod pocztowy | NN-NNN |
00-001 |
| Sweden | Postnummer | NNN NN |
111 29 |
| Portugal | Código postal | NNNN-NNN |
1100-148 |
| Russia | Почтовый индекс | NNNNNN |
101000 |
| Japan | 郵便番号 | NNN-NNNN |
100-0001 |
| South Korea | 우편번호 | NNNNN |
04524 |
| China | 邮政编码 | NNNNNN |
100000 |
| India | PIN Code | NNNNNN |
110001 |
| Singapore | Postal Code | NNNNNN |
238873 |
| Thailand | รหัสไปรษณีย์ | NNNNN |
10200 |
| Vietnam | Mã bưu chính | NNNNNN |
100000 |
| Brazil | CEP | NNNNN-NNN |
01310-100 |
| Mexico | Código Postal | NNNNN |
06000 |
| Argentina | CPA | ANNNNAAA |
C1425DKE |
| South Africa | Postal Code | NNNN |
0002 |
Two patterns catch people out. Ireland’s Eircode is not geographic in the usual sense — the last four characters identify an individual delivery point, so two neighbours have different Eircodes. Argentina’s CPA replaced a four-digit system in 1999 and the old codes still circulate in legacy data, which is why an eight-character value and a four-digit value can both look “correct” in the same database.
Addresses that are reserved for testing on purpose
Postal codes have no reserved block — there is no ZIP that is officially guaranteed to belong to nobody. IP addresses, domains and phone numbers do, and using them costs nothing while removing an entire category of accident.
The failure this prevents is real and unglamorous: a load test aimed at a plausible-looking IP that turns out to be someone’s production server, or a signup fixture using [email protected] that quietly mails a stranger every time the suite runs.
IP ranges you can safely hard-code
Swipe the table sideways to see every column.
| Range | Name | Defined by | Use |
|---|---|---|---|
192.0.2.0/24 |
TEST-NET-1 | RFC 5737 | Documentation and examples |
198.51.100.0/24 |
TEST-NET-2 | RFC 5737 | A second distinct network in the same example |
203.0.113.0/24 |
TEST-NET-3 | RFC 5737 | A third, for three-party diagrams |
2001:db8::/32 |
IPv6 documentation prefix | RFC 3849 | Every IPv6 example |
10.0.0.0/8 |
Private class A | RFC 1918 | Internal networks, never routed publicly |
172.16.0.0/12 |
Private class B | RFC 1918 | Internal networks |
192.168.0.0/16 |
Private class C | RFC 1918 | Home and office LANs |
100.64.0.0/10 |
Shared address space | RFC 6598 | Carrier-grade NAT |
127.0.0.0/8 |
Loopback | RFC 1122 | The local machine |
169.254.0.0/16 |
Link-local | RFC 3927 | Self-assigned when DHCP fails |
Domains and numbers reserved by standard
Swipe the table sideways to see every column.
| Reserved value | Defined by | What it guarantees |
|---|---|---|
example.com · example.net · example.org |
RFC 2606 | Held by IANA; will never be sold to anyone |
.test |
RFC 2606 | Reserved for testing; never resolves publicly |
.invalid |
RFC 2606 | Guaranteed invalid — ideal for negative tests |
.localhost |
RFC 6761 | Always resolves to the loopback interface |
555-0100 to 555-0199 |
NANP | The only US numbers reserved for fiction |
4111 1111 1111 1111 |
Visa test BIN | Passes Luhn, declined by every real processor |
Click any value in the two tables above to copy it.
Questions people actually ask
Will a generated ZIP code pass address validation?
It passes format validation every time and delivery validation only by coincidence. Checkout forms that only check the pattern will accept it; anything wired to a carrier API will not. That is the intended behaviour, not a limitation.
Why does the same country sometimes produce different-looking codes?
Because several formats are genuinely variable. UK postcodes range from six to eight characters depending on the outward code, so M1 1AE and EC1A 1BB are both correct. A validator that assumes one fixed length is the thing that is wrong.
Is it legal to use these in a form?
In your own test environment, yes — that is what test data is. Submitting fabricated details to a third party’s live service to obtain something is a different act, and no generator makes it acceptable. Our terms of use set out the line.
Do you store what the generator produces?
No. Generation runs in your browser, so the codes never reach our server and there is nothing on our side to keep. The privacy policy covers what the site does collect.
Can I generate hundreds at once?
Not from this page — it returns one code per press so you can read and check it. Bulk output is a different job and belongs on the dedicated Random ZIP Code Generator.
How this reference is kept honest
Postal formats change — South Korea replaced its six-digit codes with five digits in 2015, and Ireland had no postcode system at all before 2015. Every row above is checked against the operator’s own published specification rather than another generator site, and the date under the tool moves only when something on the page genuinely changed. Our editorial policy describes the checks; if you find a row that is wrong, tell us and we will fix it on the page rather than quietly.