ReloMath

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

Dallas-Fort Worth-Arlington, TX +65,221
Tampa-St. Petersburg-Clearwater, FL +39,696
Houston-Pasadena-The Woodlands, TX +37,392
New York-Newark-Jersey City, NY-NJ -242,855
Los Angeles-Long Beach-Anaheim, CA -147,289
Chicago-Naperville-Elgin, IL-IN -73,936

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.