# Zip Codes

**URL:** <https://boards.straightdope.com/t/zip-codes/44760>\
**Category:** Factual Questions\
**Created:** [December 9, 2000, 3:01pm UTC](https://boards.straightdope.com/t/zip-codes/44760 "2000-12-09T15:01:52Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![Lance\_Turbo](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/lance_turbo/32/6156_2.png) [@Lance\_Turbo](https://boards.straightdope.com/u/Lance_Turbo)\
**Post date:** [December 9, 2000, 3:01pm UTC](https://boards.straightdope.com/t/zip-codes/44760/1 "2000-12-09T15:01:52Z")

</div>

Does anyone knoe where I can look up which blocks of zip codes are assigned to which states.

I’m trying write a program that verifies that the state and zip entered by the user match each other.

---

<div class="post-metadata">

**Author:** ![Max\_Torque](https://avatars.discourse-cdn.com/v4/letter/m/e9bcb4/32.png) [@Max\_Torque](https://boards.straightdope.com/u/Max_Torque)\
**Post date:** [December 9, 2000, 3:24pm UTC](https://boards.straightdope.com/t/zip-codes/44760/2 "2000-12-09T15:24:51Z")

</div>

Last time I was at the post office, they had a big book that listed the zip codes in numerical order and the cities they were associated with. Might wanna start there.

---

<div class="post-metadata">

**Author:** ![GKittridge](https://avatars.discourse-cdn.com/v4/letter/g/e274bd/32.png) [@GKittridge](https://boards.straightdope.com/u/GKittridge)\
**Post date:** [December 9, 2000, 4:04pm UTC](https://boards.straightdope.com/t/zip-codes/44760/3 "2000-12-09T16:04:24Z")

</div>

These books are for sale. You might try the big chain stores, or office supply stores.

---

<div class="post-metadata">

**Author:** ![DSYoungEsq](https://avatars.discourse-cdn.com/v4/letter/d/c6cbf5/32.png) [@DSYoungEsq](https://boards.straightdope.com/u/DSYoungEsq)\
**Post date:** [December 9, 2000, 4:12pm UTC](https://boards.straightdope.com/t/zip-codes/44760/4 "2000-12-09T16:12:06Z")

</div>

At the following site, [USPS ZipCode Lookup By City or State](http://www.usps.gov/ncsc/lookups/lookup_ctystzip.html), you should be able to do what you wish. 🙂

---

<div class="post-metadata">

**Author:** ![vandal](https://avatars.discourse-cdn.com/v4/letter/v/858c86/32.png) [@vandal](https://boards.straightdope.com/u/vandal)\
**Post date:** [December 9, 2000, 4:29pm UTC](https://boards.straightdope.com/t/zip-codes/44760/5 "2000-12-09T16:29:31Z")

</div>

Um, here you go. Taken from my old UPS sort guide. But, you’re probably still going to want to look at an almanac or some state geography book to double check these. I could’ve made a typo somewhere.

01000 - 02799 = MA  
02800 - 02999 = RI  
03000 - 03899 = NH  
03900 - 04999 = ME  
05000 - 05999 = VT  
06000 - 06999 = CT  
07000 - 08999 = NJ  
09000 - 14999 = NY  
15000 - 19699 = PA  
19700 - 19999 = DE  
20000 - 20330, 20332 - 20599 = DC  
20600 - 21999, 20331 = MD  
22000 - 24699 = VA  
24700 - 26899 = WV  
27000 - 28999 = NC  
29000 - 29999 = SC  
30000 - 31999 = GA  
32000 - 34999 = FL  
35000 - 36999 = AL  
37000 - 38599 = TN  
38600 - 39799 = MS  
40000 - 42799 = KY  
43000 - 45899 = OH  
46000 - 47999 = IN  
48000 - 49935, 49937 - 49999 = MI  
50000 - 52899 = IA  
53000 - 54999, 49936 = WI  
55000 - 56799 = MN  
57000 - 57799 = SD  
58000 - 58899 = ND  
59000 - 59999 = MT  
60000 - 62999 = IL  
63000 - 65899 = MO  
66000 - 67999 = KS  
68000 - 69399 = NE  
70000 - 71499 = LA  
71600 - 72999, 75502 = AR  
73000 - 74999 = OK  
75000 - 75501, 75503 - 79999 = TX  
80000 - 81699 = CO  
82000 - 83199 = WY  
83200 - 83899 = ID  
84000 - 84799 = UT  
85000 - 86599 = AZ  
87000 - 88499 = NM  
89000 - 89899 = NV  
90000 - 96699 = CA  
96700 - 96899 = HI  
97000 - 97999 = OR  
98000 - 98732, 98734 - 98735, 98737 - 98776, 98778 - 98790, 98792 - 99499 = WA  
98733, 98736, 98777, 98791, 99500 - 99999 = AK

---

<div class="post-metadata">

**Author:** ![tomndebb](https://avatars.discourse-cdn.com/v4/letter/t/b9e5f3/32.png) [@tomndebb](https://boards.straightdope.com/u/tomndebb)\
**Post date:** [December 9, 2000, 5:06pm UTC](https://boards.straightdope.com/t/zip-codes/44760/6 "2000-12-09T17:06:35Z")

</div>

Start with **vandal** ’s list, then double check it against the book in the local Post Office lobby, and repeat the process EACH YEAR.

Zip codes are not carved in stone. They change as smaller population centers experience rapid growth. (_E.G._, Sometime in the (late?) 80s, a portion of Westchester County north of New York City was given a Zip code range that had nothing in common with the rest of the state of New York. After a few years (mid- to late-90s?), the USPS went in and gave them all new numbers in the New York range.)

---

<div class="post-metadata">

**Author:** ![tomndebb](https://avatars.discourse-cdn.com/v4/letter/t/b9e5f3/32.png) [@tomndebb](https://boards.straightdope.com/u/tomndebb)\
**Post date:** [December 9, 2000, 5:11pm UTC](https://boards.straightdope.com/t/zip-codes/44760/7 "2000-12-09T17:11:58Z")

</div>

BTW, if you are doing this for a company (rather than something you are personally writing for a friend or your own business), see whether your billing department is already using Vertex software to calculate sales taxes or your mail room is already using USPS-affiliated software to lower their postal rates. There are several companies that provide this information as part of a larger service (and keep it updated monthly) and if your company is already paying for the service, it is generally not a problem to tap into their database (at the least) or actually link to the software (if your are not expanding the use beyond the contract).

---

<div class="post-metadata">

**Author:** ![Gunslinger](https://avatars.discourse-cdn.com/v4/letter/g/4491bb/32.png) [@Gunslinger](https://boards.straightdope.com/u/Gunslinger)\
**Post date:** [December 9, 2000, 5:15pm UTC](https://boards.straightdope.com/t/zip-codes/44760/8 "2000-12-09T17:15:02Z")

</div>

> [@](#):
>
> \*Originally posted by vandal \*  
> 75000 - 75501, 75503 - 79999 = TX

So where is 7550 **2**? 🙂

---

<div class="post-metadata">

**Author:** ![yabob](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/yabob/32/2821_2.png) [@yabob](https://boards.straightdope.com/u/yabob)\
**Post date:** [December 9, 2000, 5:16pm UTC](https://boards.straightdope.com/t/zip-codes/44760/9 "2000-12-09T17:16:44Z")

</div>

I don’t know the specific numbers, but there are apparently a couple that cross state boundaries, too:

> [@](#):
>
> At the state level, most ZIP Codes deliver wholly within the state, but a few do deliver to out-of-state areas. At the county level, some ZIP Codes cross county boundaries, but most deliver wholly within the county. The ZIP Codes that are split by state or county, however, pose  
> problems for coding by ZIP Code.

This was from a census bureau paper on “Geographic Coding of Administrative Records–Past Experience and Current  
Research”:

[http://www.census.gov/population/www/documentation/twps0002/twps0002.html](http://www.census.gov/population/www/documentation/twps0002/twps0002.html)

---

<div class="post-metadata">

**Author:** ![tomndebb](https://avatars.discourse-cdn.com/v4/letter/t/b9e5f3/32.png) [@tomndebb](https://boards.straightdope.com/u/tomndebb)\
**Post date:** [December 9, 2000, 6:04pm UTC](https://boards.straightdope.com/t/zip-codes/44760/10 "2000-12-09T18:04:07Z")

</div>

We used to have a tax accountant who always fussed about us using Zip codes to determine sales tax because of “all the Zip codes that cross state boundaries.” Finally, I went out and looked them up. There were (at that time) exactly six such Zips and the people in the “wrong state” covered by all six of those Zips numbered maybe 1,500.

It is a valid point regarding pure accuracy, but in real life terms, it usually cost more to account for the discrepancies than it does to manually correct the very rare errors.

(Using Zip codes for sales tax does create a problem when a Zip covers a county lacking a tax as well as a city that has one, but that is a slightly different issue.)

---

<div class="post-metadata">

**Author:** ![tomndebb](https://avatars.discourse-cdn.com/v4/letter/t/b9e5f3/32.png) [@tomndebb](https://boards.straightdope.com/u/tomndebb)\
**Post date:** [December 9, 2000, 6:08pm UTC](https://boards.straightdope.com/t/zip-codes/44760/11 "2000-12-09T18:08:24Z")

</div>

> [@](#):
>
> So where is 7550 **2**?

From the USPS site:

> [@](#):
>
> The ZIP Code you entered could not be found in our database. Please confirm the ZIP Code and try again.

---

<div class="post-metadata">

**Author:** ![stkelly52](https://avatars.discourse-cdn.com/v4/letter/s/f14d63/32.png) [@stkelly52](https://boards.straightdope.com/u/stkelly52)\
**Post date:** [December 9, 2000, 6:10pm UTC](https://boards.straightdope.com/t/zip-codes/44760/12 "2000-12-09T18:10:19Z")

</div>

Depending on why you are doing this, make sure you don’t forget APO and FPO. When I was serving with the USAF my bank had trouble sending me my statement because they forgot about this.

---

<div class="post-metadata">

**Author:** ![yabob](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/yabob/32/2821_2.png) [@yabob](https://boards.straightdope.com/u/yabob)\
**Post date:** [December 9, 2000, 6:20pm UTC](https://boards.straightdope.com/t/zip-codes/44760/13 "2000-12-09T18:20:01Z")

</div>

I don’t doubt that it’s a small number, but if I were coding a validation routine from scratch, having found this info, I might still design my database of zip codes to be able to accomodate multiple states for some zip codes. Particularly if I’m using it as validation for an online form where I’m going to refuse to accept the input unless my validation routine believes the state-to-zip matching.

I agree that it probably won’t hurt you much - maybe your online store loses a couple potential customers who give up in frustration. The unfortunate people living in those areas probably deal with it all the time.

---

<div class="post-metadata">

**Author:** ![yabob](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/yabob/32/2821_2.png) [@yabob](https://boards.straightdope.com/u/yabob)\
**Post date:** [December 9, 2000, 6:29pm UTC](https://boards.straightdope.com/t/zip-codes/44760/14 "2000-12-09T18:29:55Z")

</div>

Oh, and I agree with tomndebb that you should see if you are already making use of a service which provides the translation, and use them if your license allows it, since they will keep it updated.

---

<div class="post-metadata">

**Author:** ![SmackFu](https://avatars.discourse-cdn.com/v4/letter/s/53a042/32.png) [@SmackFu](https://boards.straightdope.com/u/SmackFu)\
**Post date:** [December 9, 2000, 7:41pm UTC](https://boards.straightdope.com/t/zip-codes/44760/15 "2000-12-09T19:41:02Z")

</div>

Just a recommendation from personal experience. You may want to **warn** them if the state and zip code don’t match, rather than outright reject them. Sometimes the user knows best…

For instance, I was trying to buy something from an e-commerce site once, and rejected my credit card! Why? Because the expiration date had to be in the range of 1999-2003, and mine was a brand new card with a 2004 date. They were trying to get just a sanity check, but it didn’t really work out for them. If they had just warned me, it would have worked fine.

---

<div class="post-metadata">

**Author:** ![dougie\_monty](https://avatars.discourse-cdn.com/v4/letter/d/439d5e/32.png) [@dougie\_monty](https://boards.straightdope.com/u/dougie_monty)\
**Post date:** [December 9, 2000, 8:37pm UTC](https://boards.straightdope.com/t/zip-codes/44760/16 "2000-12-09T20:37:07Z")

</div>

Last I heard, Fishers Island, NY, had a ZIP Code 06390, more like CT ZIPs, which makes sense because the town is just off the Connecticut shore and farther away from any _New York_ post office.  
When I went to Seal Beach, Orange County, CA, to apply to work as a letter carrier in OC, I found that, as far as the USPS is concerned, Seal Beach (ZIP 90740) is in _Los Angeles County!_ That’s baffling, since Seal Beach _is_ in Orange County, but, hey, that’s the way they do it! 😕

---

<div class="post-metadata">

**Author:** ![Yossarian](https://avatars.discourse-cdn.com/v4/letter/y/9de0a6/32.png) [@Yossarian](https://boards.straightdope.com/u/Yossarian)\
**Post date:** [December 9, 2000, 8:46pm UTC](https://boards.straightdope.com/t/zip-codes/44760/17 "2000-12-09T20:46:04Z")

</div>

> [@](#):
>
> \*Originally posted by Gunslinger \*
> 
> > [@](#):
> >
> > \*Originally posted by vandal \*  
> > 75000 - 75501, 75503 - 79999 = TX
> 
> So where is 7550 **2**? 🙂
> 
> > [@](#):
> >
> > \*Originally posted by vandal \*  
> > 71600 - 72999, 75502 = AR

---

<div class="post-metadata">

**Author:** ![Yossarian](https://avatars.discourse-cdn.com/v4/letter/y/9de0a6/32.png) [@Yossarian](https://boards.straightdope.com/u/Yossarian)\
**Post date:** [December 9, 2000, 9:57pm UTC](https://boards.straightdope.com/t/zip-codes/44760/18 "2000-12-09T21:57:41Z")

</div>

I had a hunch since that last post that _maybe_ 75501 (assigned to Texas) was Texarkana, TX, and that 75502 (assigned to Arkansas) was Texarkana, AR. So, we go to the site recommended by **DSYoungEsq** and get the following results for Texarkana, TX:

> [@](#):
>
> TEXARKANA TX is associated with following ZIP Codes:  
> 75501  
> 75503  
> 75504  
> 75505  
> 75507  
> 75599

(_edited for readability_)

But this result for Texarkana, AR:

> [@](#):
>
> TEXARKANA AR is associated with the following ZIP Codes:  
> 71854

(_edited for readability_)

So, my hypothesis was half-right; 75501, as well as 75503 and 75504, are Texarkana, TX. But so much for Texarkana, AR. 75502, like **tomndebb** reported, seems to be assigned to the aether. Based on these results, however, I’d WAG that it was _supposed_ to be assigned to Texarkana, AR.

---

<div class="post-metadata">

**Author:** ![vandal](https://avatars.discourse-cdn.com/v4/letter/v/858c86/32.png) [@vandal](https://boards.straightdope.com/u/vandal)\
**Post date:** [December 10, 2000, 2:12am UTC](https://boards.straightdope.com/t/zip-codes/44760/19 "2000-12-10T02:12:18Z")

</div>

Alright, we’ll just beat 75502 to death here…

Some zip code combinations aren’t in use, but rather reserved for future use as tomndebb has pointed out. So, with the case of 75502, whatever city in AR whose population is growing, that city could be assigned 75502 (or any other combination that is not in use). Arkansas covers 71600 - 72999 (and 75502), but that doesn’t mean that all 1399 combinations are taken.

---

<div class="post-metadata">

**Author:** ![nebuli](https://avatars.discourse-cdn.com/v4/letter/n/0ea827/32.png) [@nebuli](https://boards.straightdope.com/u/nebuli)\
**Post date:** [December 10, 2000, 2:53am UTC](https://boards.straightdope.com/t/zip-codes/44760/20 "2000-12-10T02:53:24Z")

</div>

Interestingly though, the 1997 World Almanac gives the Texarkana, Arkansas, Zip as 75502, while the 1999 edition gives it as 71854. So **Pantellerite’s** hypothesis appears correct, except that the USPS seems to have gone in and tidied up somewhat.

[Next page](https://boards.straightdope.com/t/zip-codes/44760.md?page=2)
