The IRS Migration Database is a resource created for analyzing historical state to state and county to county migration in the United States. The data was compiled from the IRS SOI U.S. Population Migration Data and was cleaned, collated, and organized into one SQLite / Spatialite database. A number of free tools exist (like the DB Browser) for viewing and manipulating SQLite databases.

Each database record represents the number of tax filers who moved from one county to another county, or from one state to another state, each year. Other attributes include the number of exemptions and total income of the filers who moved. States and counties are identified using ANSI / FIPS codes. For each year there is an inflow and an outflow table, as well as summary or totals tables. There are also four sample views that illustrate how the database can be queried.

While this data can be used to study migration of households (using filers) or individuals (using exemptions) there are limitations with the data that users must be aware of: see our documentation (below and in this blog post), the IRS documentation (on their website and included with the database downloads), and other studies for details. For example, not everyone files taxes, so the data does not represent every possible move. The IRS implemented a number of methodological improvements beginning in 2011-12 which would impact any comparisons made before and after that time period.

For users who only wish to generate a simple report for an individual county or state for more recent years, you can use this tool provided by the MCDC.

IRS Migration DB

IRS Migration dataset creation scripts on GitHub

NameFile TypeDownloadMetadata
State to State Database (1988-2018)sqliteirsmig_state_database.zipXML
County to County Database (1990-2018)sqliteirsmig_county_database.zipXML
Brief User GuidepdfUser_Summary.pdf 
Changes in DefinitionsdocData_Changes_Definitions.docx 
Workflow DocumentationdocIRS_Database_Workflow.docx 
(All documentation, including additional files, are included within each ZIP file for each database)


Example: Filers that moved to New York County between 2012 and 2013:

Database Screenshot

Disclaimer: Every effort was made to insure that the data, which was compiled from public sources, was processed accurately. The creator, Baruch College, and CUNY disclaim any liability for errors, inaccuracies, or omissions that may be contained therein or for any damages that may arise from the foregoing. Users should independently verify the accuracy of the data for their purposes.

#trackbackRdf ($trackbackUtils.getContentIdentifier($page) $page.title $trackbackUtils.getPingUrl($page))