Federal Data Hub › IRS Migration Flows · JSON
County-to-county migration · IRS SOI · filing years 2022-2023
Net migration: -206 tax returns · -120 people · $-2,206,000 AGI
| County | Returns | AGI |
|---|---|---|
| Lorain County, OH | 287 | $16,289,000 |
| Huron County, OH | 264 | $12,281,000 |
| Cuyahoga County, OH | 135 | $12,374,000 |
| Sandusky County, OH | 114 | $4,251,000 |
| Ottawa County, OH | 106 | $6,863,000 |
| Franklin County, OH | 78 | $5,455,000 |
| Lucas County, OH | 37 | $1,599,000 |
| Wood County, OH | 35 | $1,757,000 |
| Summit County, OH | 29 | $1,490,000 |
| Seneca County, OH | 22 | $610,000 |
| County | Returns | AGI |
|---|---|---|
| Lorain County, OH | 319 | $17,267,000 |
| Huron County, OH | 301 | $13,236,000 |
| Cuyahoga County, OH | 149 | $7,843,000 |
| Sandusky County, OH | 142 | $5,629,000 |
| Ottawa County, OH | 78 | $4,739,000 |
| Franklin County, OH | 78 | $3,460,000 |
| Lucas County, OH | 54 | $2,096,000 |
| Wood County, OH | 33 | $1,236,000 |
| Seneca County, OH | 33 | $1,417,000 |
| Summit County, OH | 23 | $1,164,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.