Federal Data HubIRS Migration Flows · JSON

Cuyahoga County, OH

County-to-county migration · IRS SOI · filing years 2022-2023

Net migration: -3,403 tax returns · -7,121 people · $-570,962,000 AGI

Inflow
21,862 returns · 32,137 people · $1,461,365,000 AGI
Outflow
25,265 returns · 39,258 people · $2,032,327,000 AGI

Top origins (where new residents came from)

CountyReturnsAGI
Lorain County, OH2,213$135,180,000
Summit County, OH1,895$121,666,000
Lake County, OH1,610$87,019,000
Medina County, OH1,193$71,316,000
Franklin County, OH834$50,880,000
Portage County, OH647$37,461,000
Geauga County, OH490$63,939,000
Cook County, IL362$38,664,000
Stark County, OH318$14,978,000
Allegheny County, PA234$14,887,000

Top destinations (where leavers went)

CountyReturnsAGI
Lorain County, OH2,947$223,222,000
Summit County, OH2,262$174,091,000
Lake County, OH2,063$120,402,000
Medina County, OH1,614$124,895,000
Franklin County, OH1,018$58,396,000
Portage County, OH722$42,140,000
Geauga County, OH572$70,933,000
Cook County, IL503$36,722,000
Maricopa County, AZ282$26,464,000
Stark County, OH268$14,299,000

IRS migration data tracks where tax filers lived in consecutive years. A "return" is roughly a household; "AGI" is the adjusted gross income that moved with them. Net migration = inflow − outflow. Small county-pair flows are suppressed by the IRS for privacy and shown blank.

Source: IRS SOI Migration Data. License: CC0 1.0.