Where America MovesIRS Statistics of Income · tax years 2022–2023

More than one in four of them cannot be put on a map.

4,086,883 of the 14,900,349 are inside that total and attached to no pair of counties. The IRS withholds any county-to-county flow below 20 returns.

14,900,349 people moved between U.S. counties between tax years 2022 and 2023. They are tax filers and their dependents, not residents.

Between tax years 2022 and 2023, the 30 metros in this piece exchanged 1,555,397 people with one another.

Each metro is a cluster of dots. Green arrived, red left. Choose one.

New YorkNY-NJ

people · tax filers and their dependents

Moved in
250,643
Moved out
424,850
Net
−174,207
Everywhere outside these 30 metros72,284in155,702out
Attached to no county pair68,648in89,790out

Counted in this metro’s totals and attached to no county pair. Not a rest-of-U.S. quantity, and the split cannot be recovered from this source.

Los AngelesCA

people · tax filers and their dependents

Moved in
209,236
Moved out
315,519
Net
−106,283
Everywhere outside these 30 metros56,125in90,989out
Attached to no county pair15,964in20,954out

Counted in this metro’s totals and attached to no county pair. Not a rest-of-U.S. quantity, and the split cannot be recovered from this source.

ChicagoIL-IN

people · tax filers and their dependents

Moved in
137,238
Moved out
182,479
Net
−45,241
Everywhere outside these 30 metros46,905in64,293out
Attached to no county pair42,030in53,056out

Counted in this metro’s totals and attached to no county pair. Not a rest-of-U.S. quantity, and the split cannot be recovered from this source.

DallasTX

people · tax filers and their dependents

Moved in
243,627
Moved out
204,518
Net
+39,109
Everywhere outside these 30 metros81,651in75,771out
Attached to no county pair63,734in60,995out

Counted in this metro’s totals and attached to no county pair. Not a rest-of-U.S. quantity, and the split cannot be recovered from this source.

HoustonTX

people · tax filers and their dependents

Moved in
183,634
Moved out
158,632
Net
+25,002
Everywhere outside these 30 metros60,265in54,085out
Attached to no county pair45,398in42,907out

Counted in this metro’s totals and attached to no county pair. Not a rest-of-U.S. quantity, and the split cannot be recovered from this source.

MiamiFL

people · tax filers and their dependents

Moved in
137,530
Moved out
191,921
Net
−54,391
Everywhere outside these 30 metros39,163in84,331out
Attached to no county pair21,351in26,797out

Counted in this metro’s totals and attached to no county pair. Not a rest-of-U.S. quantity, and the split cannot be recovered from this source.

AtlantaGA

people · tax filers and their dependents

Moved in
186,950
Moved out
174,894
Net
+12,056
Everywhere outside these 30 metros47,838in57,643out
Attached to no county pair85,399in78,594out

Counted in this metro’s totals and attached to no county pair. Not a rest-of-U.S. quantity, and the split cannot be recovered from this source.

WashingtonDC-VA-MD-WV

people · tax filers and their dependents

Moved in
182,698
Moved out
211,370
Net
−28,672
Everywhere outside these 30 metros40,517in55,853out
Attached to no county pair69,376in74,973out

Counted in this metro’s totals and attached to no county pair. Not a rest-of-U.S. quantity, and the split cannot be recovered from this source.

PhiladelphiaPA-NJ-DE-MD

people · tax filers and their dependents

Moved in
117,965
Moved out
132,304
Net
−14,339
Everywhere outside these 30 metros29,790in39,323out
Attached to no county pair38,364in46,303out

Counted in this metro’s totals and attached to no county pair. Not a rest-of-U.S. quantity, and the split cannot be recovered from this source.

PhoenixAZ

people · tax filers and their dependents

Moved in
155,333
Moved out
136,985
Net
+18,348
Everywhere outside these 30 metros68,789in64,002out
Attached to no county pair21,185in24,055out

Counted in this metro’s totals and attached to no county pair. Not a rest-of-U.S. quantity, and the split cannot be recovered from this source.

BostonMA-NH

people · tax filers and their dependents

Moved in
111,346
Moved out
135,565
Net
−24,219
Everywhere outside these 30 metros51,082in67,707out
Attached to no county pair25,151in27,394out

Counted in this metro’s totals and attached to no county pair. Not a rest-of-U.S. quantity, and the split cannot be recovered from this source.

RiversideCA

people · tax filers and their dependents

Moved in
147,004
Moved out
142,924
Net
+4,080
Everywhere outside these 30 metros17,626in32,734out
Attached to no county pair15,816in22,899out

Counted in this metro’s totals and attached to no county pair. Not a rest-of-U.S. quantity, and the split cannot be recovered from this source.

San FranciscoCA

people · tax filers and their dependents

Moved in
119,542
Moved out
155,909
Net
−36,367
Everywhere outside these 30 metros52,617in64,573out
Attached to no county pair17,219in22,539out

Counted in this metro’s totals and attached to no county pair. Not a rest-of-U.S. quantity, and the split cannot be recovered from this source.

DetroitMI

people · tax filers and their dependents

Moved in
69,757
Moved out
81,695
Net
−11,938
Everywhere outside these 30 metros30,214in36,770out
Attached to no county pair23,920in24,727out

Counted in this metro’s totals and attached to no county pair. Not a rest-of-U.S. quantity, and the split cannot be recovered from this source.

SeattleWA

people · tax filers and their dependents

Moved in
122,970
Moved out
134,505
Net
−11,535
Everywhere outside these 30 metros50,466in58,068out
Attached to no county pair21,669in26,639out

Counted in this metro’s totals and attached to no county pair. Not a rest-of-U.S. quantity, and the split cannot be recovered from this source.

MinneapolisMN-WI

people · tax filers and their dependents

Moved in
75,117
Moved out
78,756
Net
−3,639
Everywhere outside these 30 metros27,086in24,679out
Attached to no county pair35,132in36,548out

Counted in this metro’s totals and attached to no county pair. Not a rest-of-U.S. quantity, and the split cannot be recovered from this source.

TampaFL

people · tax filers and their dependents

Moved in
135,937
Moved out
115,512
Net
+20,425
Everywhere outside these 30 metros47,140in47,122out
Attached to no county pair33,734in35,765out

Counted in this metro’s totals and attached to no county pair. Not a rest-of-U.S. quantity, and the split cannot be recovered from this source.

San DiegoCA

people · tax filers and their dependents

Moved in
105,675
Moved out
124,400
Net
−18,725
Everywhere outside these 30 metros34,231in43,590out
Attached to no county pair10,047in13,465out

Counted in this metro’s totals and attached to no county pair. Not a rest-of-U.S. quantity, and the split cannot be recovered from this source.

DenverCO

people · tax filers and their dependents

Moved in
114,241
Moved out
114,071
Net
+170
Everywhere outside these 30 metros38,771in42,661out
Attached to no county pair37,691in42,252out

Counted in this metro’s totals and attached to no county pair. Not a rest-of-U.S. quantity, and the split cannot be recovered from this source.

OrlandoFL

people · tax filers and their dependents

Moved in
127,320
Moved out
119,132
Net
+8,188
Everywhere outside these 30 metros46,046in56,590out
Attached to no county pair28,872in29,273out

Counted in this metro’s totals and attached to no county pair. Not a rest-of-U.S. quantity, and the split cannot be recovered from this source.

BaltimoreMD

people · tax filers and their dependents

Moved in
75,530
Moved out
83,898
Net
−8,368
Everywhere outside these 30 metros10,505in18,626out
Attached to no county pair25,660in28,485out

Counted in this metro’s totals and attached to no county pair. Not a rest-of-U.S. quantity, and the split cannot be recovered from this source.

CharlotteNC-SC

people · tax filers and their dependents

Moved in
102,284
Moved out
82,202
Net
+20,082
Everywhere outside these 30 metros36,007in35,620out
Attached to no county pair40,798in33,343out

Counted in this metro’s totals and attached to no county pair. Not a rest-of-U.S. quantity, and the split cannot be recovered from this source.

St. LouisMO-IL

people · tax filers and their dependents

Moved in
51,755
Moved out
55,121
Net
−3,366
Everywhere outside these 30 metros11,431in12,000out
Attached to no county pair31,581in31,288out

Counted in this metro’s totals and attached to no county pair. Not a rest-of-U.S. quantity, and the split cannot be recovered from this source.

San AntonioTX

people · tax filers and their dependents

Moved in
97,015
Moved out
80,124
Net
+16,891
Everywhere outside these 30 metros32,810in24,654out
Attached to no county pair25,559in24,683out

Counted in this metro’s totals and attached to no county pair. Not a rest-of-U.S. quantity, and the split cannot be recovered from this source.

PortlandOR-WA

people · tax filers and their dependents

Moved in
71,985
Moved out
78,375
Net
−6,390
Everywhere outside these 30 metros26,777in29,180out
Attached to no county pair21,530in26,133out

Counted in this metro’s totals and attached to no county pair. Not a rest-of-U.S. quantity, and the split cannot be recovered from this source.

AustinTX

people · tax filers and their dependents

Moved in
112,105
Moved out
95,098
Net
+17,007
Everywhere outside these 30 metros30,235in26,172out
Attached to no county pair23,706in24,085out

Counted in this metro’s totals and attached to no county pair. Not a rest-of-U.S. quantity, and the split cannot be recovered from this source.

SacramentoCA

people · tax filers and their dependents

Moved in
67,702
Moved out
69,000
Net
−1,298
Everywhere outside these 30 metros27,873in27,886out
Attached to no county pair13,548in18,566out

Counted in this metro’s totals and attached to no county pair. Not a rest-of-U.S. quantity, and the split cannot be recovered from this source.

PittsburghPA

people · tax filers and their dependents

Moved in
41,068
Moved out
44,993
Net
−3,925
Everywhere outside these 30 metros12,177in13,028out
Attached to no county pair19,624in20,121out

Counted in this metro’s totals and attached to no county pair. Not a rest-of-U.S. quantity, and the split cannot be recovered from this source.

Las VegasNV

people · tax filers and their dependents

Moved in
86,560
Moved out
77,823
Net
+8,737
Everywhere outside these 30 metros29,970in30,096out
Attached to no county pair10,444in13,103out

Counted in this metro’s totals and attached to no county pair. Not a rest-of-U.S. quantity, and the split cannot be recovered from this source.

CincinnatiOH-KY-IN

people · tax filers and their dependents

Moved in
46,780
Moved out
47,592
Net
−812
Everywhere outside these 30 metros13,994in15,337out
Attached to no county pair27,615in25,953out

Counted in this metro’s totals and attached to no county pair. Not a rest-of-U.S. quantity, and the split cannot be recovered from this source.

PortlandSan FranciscoSeattleSacramentoLos AngelesRiversideSan DiegoLas VegasPhoenixDenverSan AntonioAustinDallasHoustonMinneapolisSt. LouisChicagoCincinnatiAtlantaDetroitTampaOrlandoCharlotteMiamiPittsburghWashingtonBaltimorePhiladelphiaNew YorkBoston

No county won.

Across the defensible ways to compute a county’s net migration, the county in front changes. The instability is the finding.

The denominator is a different universe.

These counts are filers and their dependents; a population is residents. Dividing one by the other mixes two universes, so the answer is not the share of a place that moved.

7 of 870 pairs are not there.

Select either end and the ring at the other is drawn empty.

What this piece cannot tell you

Nothing here is corroborated

The inbound and outbound files are one measurement in two layouts, so their agreement certifies nothing: the check that compares them subtracts a number from itself and cannot fail.

A cluster is two columns, not a verdict

A resting cluster is cut into two published columns — arrived and left — never coloured by which way the metro’s total went.

The per-thousand view, and what is wrong with it

These counts are tax filers and their dependents, not residents. Non-filers — the very poor, many elderly people, undocumented residents — are missing from the top of the fraction and present at the bottom of it, unevenly, and above all where a migration story looks first. A ratio of two universes is not a rate of either one.

The view divides an exchange by the residents of the OTHER metro and spends the result on how many dots to draw. No rate is printed anywhere on this page.

The resident estimates are the Census Bureau’s, and they are the only quantity here that is not from the verified package.

Which metros are gaining is not claimable

Of the 30 metros in this piece, 12 are net destinations and 18 are net departures.

The count is claimable; the membership is not. Across three defensible ways to decide a metro’s direction the count barely moves, but three of the thirty change side. So this page prints every metro’s own net and names no gainer and no loser.

The residual is not a rest-of-U.S. quantity

Each metro’s unattributable column is every move the publisher did not attach to a specific county pair, including moves inside the metro that fall below the disclosure floor. The split cannot be recovered from this source, and it is not zero.

These thirty metros are a choice, and it is ours

The 30 metropolitan statistical areas with the largest resident population.

Population was chosen over migration volume deliberately, so the set is not drawn by the numbers it exists to measure. The IRS did not choose these metros; this project did.

U.S. Census Bureau, Population Estimates Program, Vintage 2025 release (CBSA-EST2025-ALLDATA), filtered to Metropolitan Statistical Areas (387 of them) and sorted descending.

Method

Source: IRS Statistics of Income county-to-county migration data, tax years 2022-2023. Counts are tax filers and their dependents, not residents.

A unit is the county of the address on the return, so a move here is a change of filing address, not a dated relocation.

Metros are Core-Based Statistical Areas, July 2023 delineation.

irs.gov/statistics/soi-tax-stats-migration-data

Every figure on this page comes from package b7a3bba21950