Federal Data Hub › IRS Migration Flows · JSON
County-to-county migration · IRS SOI · filing years 2022-2023
Net migration: +216 tax returns · -139 people · $-67,234,000 AGI
| County | Returns | AGI |
|---|---|---|
| Roanoke County, VA | 1,003 | $46,920,000 |
| Salem city, VA | 265 | $11,813,000 |
| Franklin County, VA | 163 | $7,821,000 |
| Botetourt County, VA | 153 | $8,573,000 |
| Bedford County, VA | 148 | $5,514,000 |
| Montgomery County, VA | 101 | $4,923,000 |
| Lynchburg city, VA | 49 | $2,136,000 |
| Fairfax County, VA | 36 | $3,437,000 |
| Radford city, VA | 28 | $1,022,000 |
| Guilford County, NC | 27 | $747,000 |
| County | Returns | AGI |
|---|---|---|
| Roanoke County, VA | 1,080 | $117,898,000 |
| Salem city, VA | 241 | $9,590,000 |
| Botetourt County, VA | 159 | $12,573,000 |
| Bedford County, VA | 157 | $7,172,000 |
| Franklin County, VA | 144 | $7,557,000 |
| Montgomery County, VA | 88 | $4,297,000 |
| Mecklenburg County, NC | 52 | $3,315,000 |
| Richmond city, VA | 43 | $2,903,000 |
| Guilford County, NC | 38 | $2,264,000 |
| Henrico County, VA | 31 | $2,133,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.