The ZIP Code Resources Page
Tools and Resources Related to U.S. ZIP Codes
What the world really needs to deal with ZIP code geography properly is a large geographic equivalency file relating ZIP codes to other relevant geographies with a time dimension. Instead, what we have is such an equivalency file that relates ZIP codes to geographic entities primarily used for taking the 1990 census. This file uses ZIP codes as they were defined around July of 1991. (Because it takes a long time to do the research, it may be that the currency of the ZIP codes used varied somewhat from area to area.) What we are referring to here is the MABLE database and the corresponding Geocorr web application which we'll be talking about in more detail below. For now, what we want to emphasize is that when we talk about ZIP codes we really need to keep a time reference in mind. Just as when you work with census tracts you need to know whether you mean 1980 or 1990 tracts, or when you are talking about the countries of Europe -- time is an important dimension.
You might think that what we should always assume is that if we do not specify a
time, then we are probably referring to the most current definitions of ZIP codes, and that
any reference materials should be periodically updated to reflect these definitions. Easier said
than done, of course. This would be a huge task. But even if you could maintain all
your lists with the latest definitions in some cases there are reasons why it may be preferable not
to. This has to do with the fact that the Census Bureau tabulated the results of the 1990 census to
produce a file called "Summary Tape File 3B" (aka "STF3B"). The data tables on that file describe the
characteristics of the residential ZIP codes as they were (more or less) defined at the time the
special tabulations were prepared (circa July, 1991.) "More or less"? Yes - for the purposes of creating
these tabulations the Bureau had private vendors provide them with files that related each of the
1990 census blocks (the smallest geographic unit identified for each 1990 census return) with the current
ZIP code definitions ("current" as of that point in time, of course.) The files created by these vendors
were used to create a data product called the "ZIP Block Equivalency Files" or "STF3B Headers Files". They
define which geographic areas were used to approximate the ZIP code areas being summarized by the
STF3B data tables. There is a builtin "fuzz factor" in this equivalency list since - while the Census
Bureau has created census blocks so that they do not cross any other census-defined geographic unit -
blocks can and do (frequently) cross ZIP codes. Typically, ZIP code "boundaries" fall along back lot lines - they
almost never split down the middle of a street. If they did, you would need to have two postal carriers -
one from each of the two ZIP codes, travel the same street and deliver just to their side. Census blocks,
however, almost always split down the middle of streets. As a result, blocks near the boundaries
of ZIP codes typically split ZIP codes, with one side of the street in one ZIP and the other side in a
diferrent ZIP. Yet, in the block to ZIP equivalency file prepared by the vendors each block was assigned
to one and only one census block.
These ZIP Equivalency Files were the basis of the Master Area Block Level Equivalency ("MABLE") file used
in the MABLE/Geocorr web application.
Most of the various files that we reference from this page will be dealing with ZIP codes as they were defined for the purposes of tabulating the 1990 census ZIP code summaries. In other words, the "default time" for ZIP codes for the sake of this document is approximately July of 1991.
This aspect of ZIPs and several other useful bits of information about them are discussed in the MAGGOT (Master Area Geographic Glossary of Terms) file provided with MABLE/Geocorr.
These "tables" are ascii files that can be easily browsed and downloaded. But they are also
in a special form for use within the SAS(r) software package. SAS has a feature that
allows creating table-lookup data entities called SAS formats. If you are a SAS programmer you
use these modules to create such lookup tables which will let you use the
SAS put function to directly convert ZIP codes to these other geographic codes.
Caution: Some of these files are quite large and could cause problems if you do not have enough memory available.
Note: MABLE/Geocorr was developed by SEDAC (Social and Economic Data Access Center) at CIESIN (Consortium for International Earth Sciences Information Network) with the bulk of the programming work done under contract by John Blodgett, then of the University of Missouri St. Louis.
Note:   There is also a web application that lets you do this (generate ZIP profiles) with a menu-driven interface (not just to ZIP codes but to most other popular geographic levels as well.)
The Missouri Census Data Center maintains a complete collection of census data for all U.S. ZIP codes for 1980 and 1990. We can provide custom programming services related to these data.