Federal Data HubIRS Migration Flows · JSON

Jefferson County, OH

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

Net migration: -30 tax returns · +138 people · $-2,546,000 AGI

Inflow
1,188 returns · 2,125 people · $55,890,000 AGI
Outflow
1,218 returns · 1,987 people · $58,436,000 AGI

Top origins (where new residents came from)

CountyReturnsAGI
Belmont County, OH123$5,187,000
Hancock County, WV92$4,049,000
Brooke County, WV75$3,022,000
Harrison County, OH67$3,598,000
Columbiana County, OH58$2,007,000
Allegheny County, PA50$2,311,000
Ohio County, WV37$1,614,000
Franklin County, OH37$1,573,000
Carroll County, OH27$868,000
Washington County, PA25$1,552,000

Top destinations (where leavers went)

CountyReturnsAGI
Belmont County, OH114$5,864,000
Hancock County, WV95$3,778,000
Allegheny County, PA71$3,626,000
Harrison County, OH65$2,845,000
Brooke County, WV62$2,444,000
Franklin County, OH59$2,652,000
Columbiana County, OH50$2,495,000
Washington County, PA31$1,381,000
Summit County, OH30$1,181,000
Ohio County, WV28$1,341,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.