Federal Data Hub › IRS Migration Flows · JSON
County-to-county migration · IRS SOI · filing years 2022-2023
Net migration: +105 tax returns · +305 people · $-10,528,000 AGI
| County | Returns | AGI |
|---|---|---|
| Jackson County, IL | 277 | $12,936,000 |
| Franklin County, IL | 258 | $11,487,000 |
| Saline County, IL | 97 | $5,057,000 |
| Johnson County, IL | 72 | $4,221,000 |
| Union County, IL | 40 | $3,111,000 |
| Jefferson County, IL | 40 | $1,634,000 |
| Cook County, IL | 28 | $1,191,000 |
| Perry County, IL | 26 | $1,353,000 |
| County | Returns | AGI |
|---|---|---|
| Jackson County, IL | 239 | $10,069,000 |
| Franklin County, IL | 212 | $9,773,000 |
| Saline County, IL | 74 | $3,394,000 |
| Johnson County, IL | 67 | $4,549,000 |
| St. Clair County, IL | 39 | $2,296,000 |
| Jefferson County, IL | 31 | $1,607,000 |
| St. Louis County, MO | 30 | $1,698,000 |
| Union County, IL | 29 | $2,141,000 |
| Perry County, IL | 28 | $1,620,000 |
| Cook County, IL | 27 | $1,665,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.