Open dataset · CC BY 4.0
U.S. metro migration — who moves in & out
How many people and households moved into and out of 65 major U.S. metros — plus the income (AGI) that moved with them, the net change, and the single county each metro pulls from and loses to most. Aggregated from the IRS county-to-county migration files (2021-2022). Free to download and cite.
Largest net movement
Download
Take the whole dataset
All 65 metros, every column, machine-readable. Free for any use — including commercial — under CC BY 4.0, as long as you credit ReloMath with a link back.
How to cite
Free to republish and adapt with credit. Suggested citation:
ReloMath. "U.S. Metro Migration — Who Moves In & Out (IRS, 2021–2022)." ReloMath, reviewed June 2026, https://relomath.com/data/metro-migration.
License: Creative Commons Attribution 4.0. Attribution = a visible credit linking to this page.
Key findings
Biggest net gain
Dallas-Fort Worth-Arlington, TX
+65,221 people
Biggest net loss
New York-Newark-Jersey City, NY-NJ
-242,855 people
Metros gaining
32 of 65
33 losing population
People tracked moving
8,924,459
in, 9,404,962 out
Across the 65 metros tracked, 32 gained population and 33 lost it between 2021-2022. The five biggest net gainers are Dallas-Fort Worth-Arlington, TX (+65,221), Tampa-St. Petersburg-Clearwater, FL (+39,696), Houston-Pasadena-The Woodlands, TX (+37,392), San Antonio-New Braunfels, TX (+28,314), Jacksonville, FL (+28,234). The five biggest net losers are New York-Newark-Jersey City, NY-NJ (-242,855), Los Angeles-Long Beach-Anaheim, CA (-147,289), Chicago-Naperville-Elgin, IL-IN (-73,936), San Francisco-Oakland-Fremont, CA (-61,915), Washington-Arlington-Alexandria, DC-VA-MD-WV (-45,746). Figures count individuals (IRS n2) and are lower bounds — the IRS suppresses small county-to-county flows.
The full dataset
Search a metro, sort any column, see where people come from and go to.
Showing 65 of 65
| Top origin (in) | Top destination (out) | ||||
|---|---|---|---|---|---|
| Dallas-Fort Worth-Arlington, TX | 517,621 | 452,400 | +65,221 | Harris County, TX | Harris County, TX |
| Tampa-St. Petersburg-Clearwater, FL | 208,740 | 169,044 | +39,696 | Polk County, FL | Polk County, FL |
| Houston-Pasadena-The Woodlands, TX | 352,669 | 315,277 | +37,392 | Travis County, TX | Travis County, TX |
| San Antonio-New Braunfels, TX | 146,612 | 118,298 | +28,314 | Travis County, TX | Harris County, TX |
| Jacksonville, FL | 115,321 | 87,087 | +28,234 | Broward County, FL | Orange County, FL |
| Charlotte-Concord-Gastonia, NC-SC | 172,633 | 147,329 | +25,304 | Wake County, NC | Catawba County, NC |
| Orlando-Kissimmee-Sanford, FL | 199,637 | 178,109 | +21,528 | Polk County, FL | Polk County, FL |
| Phoenix-Mesa-Chandler, AZ | 204,136 | 183,244 | +20,892 | Los Angeles County, CA | Pima County, AZ |
| Austin-Round Rock-San Marcos, TX | 179,168 | 161,152 | +18,016 | Harris County, TX | Bexar County, TX |
| Atlanta-Sandy Springs-Roswell, GA | 445,367 | 427,502 | +17,865 | Hall County, GA | Hall County, GA |
| Nashville-Davidson--Murfreesboro--Franklin, TN | 142,160 | 126,223 | +15,937 | Montgomery County, TN | Montgomery County, TN |
| Raleigh-Cary, NC | 90,126 | 77,247 | +12,879 | Durham County, NC | Durham County, NC |
| Knoxville, TN | 53,856 | 41,702 | +12,154 | Sevier County, TN | Sevier County, TN |
| Las Vegas-Henderson-North Las Vegas, NV | 96,743 | 85,514 | +11,229 | Los Angeles County, CA | Los Angeles County, CA |
| Boise City, ID | 50,711 | 41,704 | +9,007 | Los Angeles County, CA | Payette County, ID |
| Oklahoma City, OK | 83,450 | 74,964 | +8,486 | Tulsa County, OK | Pottawatomie County, OK |
| Richmond, VA | 89,755 | 83,150 | +6,605 | Fairfax County, VA | Fairfax County, VA |
| Tulsa, OK | 54,540 | 48,456 | +6,084 | Oklahoma County, OK | Oklahoma County, OK |
| Columbia, SC | 50,000 | 44,424 | +5,576 | Mecklenburg County, NC | Mecklenburg County, NC |
| Savannah, GA | 30,339 | 25,279 | +5,060 | Liberty County, GA | Liberty County, GA |
| Riverside-San Bernardino-Ontario, CA | 205,983 | 201,097 | +4,886 | Los Angeles County, CA | Los Angeles County, CA |
| Asheville, NC | 24,300 | 20,664 | +3,636 | Haywood County, NC | Haywood County, NC |
| Tucson, AZ | 39,878 | 36,351 | +3,527 | Maricopa County, AZ | Maricopa County, AZ |
| Spokane-Spokane Valley, WA | 25,806 | 23,329 | +2,477 | Kootenai County, ID | Kootenai County, ID |
| Indianapolis-Carmel-Greenwood, IN | 116,917 | 114,852 | +2,065 | Cook County, IL | Delaware County, IN |
| Louisville/Jefferson County, KY-IN | 60,072 | 59,417 | +655 | Hardin County, KY | Hardin County, KY |
| Des Moines-West Des Moines, IA | 36,851 | 36,363 | +488 | Story County, IA | Story County, IA |
| Albuquerque, NM | 38,793 | 38,484 | +309 | Santa Fe County, NM | Santa Fe County, NM |
| Birmingham, AL | 48,045 | 47,782 | +263 | Tuscaloosa County, AL | Tuscaloosa County, AL |
| Omaha, NE-IA | 47,940 | 47,824 | +116 | Lancaster County, NE | Lancaster County, NE |
| Manchester-Nashua, NH | 18,963 | 18,905 | +58 | Middlesex County, MA | Rockingham County, NH |
| Kansas City, MO-KS | 116,909 | 116,898 | +11 | Douglas County, KS | Douglas County, KS |
| Cincinnati, OH-KY-IN | 103,293 | 103,397 | -104 | Montgomery County, OH | Montgomery County, OH |
| Madison, WI | 27,479 | 29,404 | -1,925 | Rock County, WI | Rock County, WI |
| El Paso, TX | 31,033 | 33,099 | -2,066 | Doña Ana County, NM | Doña Ana County, NM |
| Hartford-West Hartford-East Hartford, CT | 38,725 | 41,215 | -2,490 | South Central Connecticut Plannin, CT | Naugatuck Valley Planning Region, CT |
| Fresno, CA | 29,181 | 31,676 | -2,495 | Tulare County, CA | Tulare County, CA |
| Providence-Warwick, RI-MA | 60,913 | 63,636 | -2,723 | Plymouth County, MA | Plymouth County, MA |
| Columbus, OH | 100,024 | 102,985 | -2,961 | Cuyahoga County, OH | Cuyahoga County, OH |
| Buffalo-Cheektowaga, NY | 25,945 | 29,694 | -3,749 | Queens County, NY | Monroe County, NY |
| Memphis, TN-MS-AR | 52,232 | 56,467 | -4,235 | Davidson County, TN | Davidson County, TN |
| Cleveland, OH | 68,045 | 72,344 | -4,299 | Summit County, OH | Summit County, OH |
| St. Louis, MO-IL | 125,616 | 130,865 | -5,249 | Cook County, IL | Cook County, IL |
| Pittsburgh, PA | 72,173 | 78,287 | -6,114 | Indiana County, PA | Mercer County, PA |
| Milwaukee-Waukesha, WI | 56,508 | 62,935 | -6,427 | Racine County, WI | Racine County, WI |
| Urban Honolulu, HI | 39,313 | 48,283 | -8,970 | San Diego County, CA | Clark County, NV |
| Sacramento-Roseville-Folsom, CA | 101,843 | 111,144 | -9,301 | Santa Clara County, CA | Yuba County, CA |
| Portland-Vancouver-Hillsboro, OR-WA | 133,686 | 143,162 | -9,476 | Marion County, OR | Marion County, OR |
| Denver-Aurora-Centennial, CO | 247,047 | 256,654 | -9,607 | Boulder County, CO | Weld County, CO |
| Salt Lake City-Murray, UT | 51,331 | 61,744 | -10,413 | Utah County, UT | Utah County, UT |
| Baltimore-Columbia-Towson, MD | 142,314 | 153,803 | -11,489 | Prince George's County, MD | Prince George's County, MD |
| Minneapolis-St. Paul-Bloomington, MN-WI | 196,963 | 209,389 | -12,426 | Stearns County, MN | Stearns County, MN |
| New Orleans-Metairie, LA | 39,658 | 55,074 | -15,416 | St. Tammany Parish, LA | St. Tammany Parish, LA |
| Detroit-Warren-Dearborn, MI | 143,065 | 160,710 | -17,645 | Washtenaw County, MI | Washtenaw County, MI |
| Philadelphia-Camden-Wilmington, PA-NJ-DE-MD | 241,817 | 261,118 | -19,301 | Mercer County, NJ | Berks County, PA |
| Miami-Fort Lauderdale-West Palm Beach, FL | 229,842 | 255,979 | -26,137 | New York County, NY | St. Lucie County, FL |
| San Diego-Chula Vista-Carlsbad, CA | 112,882 | 139,747 | -26,865 | Los Angeles County, CA | Riverside County, CA |
| Seattle-Tacoma-Bellevue, WA | 195,536 | 223,710 | -28,174 | Los Angeles County, CA | Thurston County, WA |
| San Jose-Sunnyvale-Santa Clara, CA | 70,801 | 103,511 | -32,710 | Alameda County, CA | Alameda County, CA |
| Boston-Cambridge-Newton, MA-NH | 213,508 | 253,473 | -39,965 | Worcester County, MA | Worcester County, MA |
| Washington-Arlington-Alexandria, DC-VA-MD-WV | 371,589 | 417,335 | -45,746 | Anne Arundel County, MD | Anne Arundel County, MD |
| San Francisco-Oakland-Fremont, CA | 201,149 | 263,064 | -61,915 | Santa Clara County, CA | Santa Clara County, CA |
| Chicago-Naperville-Elgin, IL-IN | 311,385 | 385,321 | -73,936 | Los Angeles County, CA | Maricopa County, AZ |
| Los Angeles-Long Beach-Anaheim, CA | 277,363 | 424,652 | -147,289 | San Bernardino County, CA | San Bernardino County, CA |
| New York-Newark-Jersey City, NY-NJ | 748,159 | 991,014 | -242,855 | Los Angeles County, CA | Palm Beach County, FL |
Figures are derived from official IRS county-to-county migration data (Statistics of Income), mapped to metro areas via the U.S. Census CBSA crosswalk, and reflect the stated tax-year period. The IRS suppresses small county-to-county flows, so per-metro totals are lower bounds — verify locally before relying on these figures.
Browse cost-of-living data for these metros or compare any two cities side by side.
Embed
Put this table on your site
Free to embed on blogs, guides, and resource pages. Paste this snippet where you want the table — it includes a credit link back to this dataset (that link is the only thing we ask for).
Live preview
How we built this
The raw data is the IRS Statistics of Income (SOI) county-to-county migration
files for tax years 2021-2022 — the agency's tabulation of address changes
between consecutive years' tax returns. n1 counts returns (households),
n2 counts exemptions (individuals), and AGI is the adjusted gross income that
moved, in thousands of dollars.
We aggregate those county flows up to metros using the U.S. Census CBSA delineation (2023): every county is mapped to its metropolitan statistical area, and inflows/outflows are summed per metro. The top origin column is the single county sending the most people into a metro; the top destination column is the single county receiving the most people who leave. Because the IRS suppresses small county-to-county flows for privacy, per-metro totals are lower bounds, not exhaustive counts.
This is a single-source dataset: every figure derives from the one IRS SOI release (irs.gov SOI migration data), combined with the Census crosswalk — so we credit those two sources at the dataset level rather than inventing a separate official link per row. Last reviewed June 2026. Figures are derived from official IRS county-to-county migration data (Statistics of Income), mapped to metro areas via the U.S. Census CBSA crosswalk, and reflect the stated tax-year period. This is general information, not financial, legal, or tax advice — verify locally before relying on it.