MoverScout

Who's moving to Illinois

Where households are arriving from and leaving for, county by county — built on official federal tax-filer data, not marketing estimates.

544,966 households moved in or out · #10 busiest moving market in the U.S.
Arrived from other states
116,142
households, 2022-2023
Left for other states
144,828
households, 2022-2023
Moved within Illinois
139,483
households changed county, stayed in state

-28,686 net households — For every 100 households that arrived from another state, about 125 left. Illinois is a net loser to other states. That loss has narrowed by 31% over five years. Another 2,068 households arrived from abroad.

Moving in from another state? Your mover needs active interstate operating authority — most local companies don't hold one. See licensed movers in Chicago →
Net household change, five years
Every move in or out of Illinois, including from abroad — so the latest bar can differ slightly from the state-to-state figure above.
-42,877
18–19
-51,082
19–20
-54,362
20–21
-45,606
21–22
-29,580
22–23
Naperville · DuPage County: -3,923 net from other states, 53,311 moved in or out Joliet · Will County: -3,094 net from other states, 34,738 moved in or out Waukegan · Lake County: -4,200 net from other states, 33,424 moved in or out Aurora · Kane County: -2,004 net from other states, 26,862 moved in or out Crystal Lake · McHenry County: -1,571 net from other states, 15,815 moved in or out Belleville · St. Clair County: -264 net from other states, 12,182 moved in or out Rockford · Winnebago County: -979 net from other states, 11,135 moved in or out Champaign · Champaign County: -1,086 net from other states, 11,297 moved in or out Upper Alton · Madison County: -248 net from other states, 10,884 moved in or out Oswego · Kendall County: -441 net from other states, 9,157 moved in or out Peoria · Peoria County: -277 net from other states, 8,781 moved in or out Bloomington · McLean County: -591 net from other states, 8,278 moved in or out Springfield · Sangamon County: -412 net from other states, 7,527 moved in or out Moline · Rock Island County: -313 net from other states, 6,262 moved in or out DeKalb · DeKalb County: -437 net from other states, 6,214 moved in or out Pekin · Tazewell County: -216 net from other states, 5,926 moved in or out Ottawa · LaSalle County: -215 net from other states, 4,599 moved in or out Kankakee · Kankakee County: -221 net from other states, 4,294 moved in or out Decatur · Macon County: -204 net from other states, 3,672 moved in or out Carbondale · Jackson County: -179 net from other states, 3,163 moved in or out Morris · Grundy County: -192 net from other states, 3,161 moved in or out Marion · Williamson County: -33 net from other states, 3,131 moved in or out Belvidere · Boone County: -220 net from other states, 3,027 moved in or out Charleston · Coles County: -143 net from other states, 2,415 moved in or out Rochelle · Ogle County: -157 net from other states, 2,445 moved in or out Danville · Vermilion County: -86 net from other states, 2,400 moved in or out Sterling · Whiteside County: -67 net from other states, 2,148 moved in or out Kewanee · Henry County: -55 net from other states, 2,046 moved in or out Carlinville · Macoupin County: -29 net from other states, 1,984 moved in or out Quincy · Adams County: -61 net from other states, 2,017 moved in or out Eureka · Woodford County: -99 net from other states, 1,930 moved in or out Galesburg · Knox County: -96 net from other states, 1,775 moved in or out Freeport · Stephenson County: -89 net from other states, 1,799 moved in or out Dixon · Lee County: -74 net from other states, 1,593 moved in or out Pontiac · Livingston County: -35 net from other states, 1,647 moved in or out Breese · Clinton County: -68 net from other states, 1,522 moved in or out West Frankfort · Franklin County: -25 net from other states, 1,540 moved in or out Galena · Jo Daviess County: -85 net from other states, 1,548 moved in or out Centralia · Marion County: -25 net from other states, 1,493 moved in or out Waterloo · Monroe County: -84 net from other states, 1,506 moved in or out Mount Vernon · Jefferson County: -50 net from other states, 1,444 moved in or out Princeton · Bureau County: -78 net from other states, 1,431 moved in or out Macomb · McDonough County: -77 net from other states, 1,403 moved in or out Effingham · Effingham County: -36 net from other states, 1,296 moved in or out Lincoln · Logan County: -68 net from other states, 1,261 moved in or out Jacksonville · Morgan County: -51 net from other states, 1,363 moved in or out Taylorville · Christian County: -29 net from other states, 1,222 moved in or out Canton · Fulton County: -50 net from other states, 1,167 moved in or out Watseka · Iroquois County: -61 net from other states, 1,169 moved in or out Tuscola · Douglas County: -28 net from other states, 985 moved in or out Jerseyville · Jersey County: -4 net from other states, 977 moved in or out Litchfield · Montgomery County: -79 net from other states, 986 moved in or out Chester · Randolph County: -84 net from other states, 1,002 moved in or out Monticello · Piatt County: -69 net from other states, 916 moved in or out Shelbyville · Shelby County: -4 net from other states, 968 moved in or out Hamilton · Hancock County: -1 net from other states, 806 moved in or out Harrisburg · Saline County: +5 net from other states, 827 moved in or out Clinton · De Witt County: -45 net from other states, 744 moved in or out Vandalia · Fayette County: -27 net from other states, 767 moved in or out Paxton · Ford County: -16 net from other states, 726 moved in or out Aledo · Mercer County: -26 net from other states, 734 moved in or out Sullivan · Moultrie County: -34 net from other states, 724 moved in or out Du Quoin · Perry County: -32 net from other states, 738 moved in or out Monmouth · Warren County: -26 net from other states, 732 moved in or out Greenville · Bond County: -37 net from other states, 649 moved in or out Robinson · Crawford County: +10 net from other states, 655 moved in or out Nashville · Washington County: -2 net from other states, 652 moved in or out Georgetown · Carroll County: -67 net from other states, 701 moved in or out Beardstown · Cass County: -28 net from other states, 597 moved in or out Marshall · Clark County: -21 net from other states, 637 moved in or out Paris · Edgar County: +7 net from other states, 573 moved in or out Henry · Marshall County: -39 net from other states, 599 moved in or out Havana · Mason County: -38 net from other states, 584 moved in or out Petersburg · Menard County: +23 net from other states, 591 moved in or out Olney · Richland County: -24 net from other states, 599 moved in or out Fairfield · Wayne County: +12 net from other states, 604 moved in or out Flora · Clay County: -7 net from other states, 525 moved in or out Vienna · Johnson County: -39 net from other states, 524 moved in or out Lawrenceville · Lawrence County: -2 net from other states, 522 moved in or out Pittsfield · Pike County: +4 net from other states, 514 moved in or out Anna · Union County: -26 net from other states, 556 moved in or out Carmi · White County: -33 net from other states, 541 moved in or out Metropolis · Massac County: -14 net from other states, 502 moved in or out Neoga · Cumberland County: -45 net from other states, 426 moved in or out Carrollton · Greene County: -54 net from other states, 421 moved in or out Mount Carmel · Wabash County: +2 net from other states, 404 moved in or out Newton · Jasper County: -4 net from other states, 351 moved in or out McLeansboro · Hamilton County: -54 net from other states, 294 moved in or out Albion · Edwards County: +3 net from other states, 263 moved in or out Oquawka · Henderson County: -13 net from other states, 265 moved in or out Granville · Putnam County: +0 net from other states, 255 moved in or out Rushville · Schuyler County: +0 net from other states, 242 moved in or out Cairo · Alexander County: -50 net from other states, 213 moved in or out Mounds · Pulaski County: -36 net from other states, 227 moved in or out Wyoming · Stark County: +0 net from other states, 225 moved in or out Mount Sterling · Brown County: +0 net from other states, 178 moved in or out Golconda · Pope County: -4 net from other states, 161 moved in or out Winchester · Scott County: +0 net from other states, 186 moved in or out Shawneetown · Gallatin County: +0 net from other states, 118 moved in or out Rosiclare · Hardin County: +0 net from other states, 107 moved in or out Hardin · Calhoun County: +0 net from other states, 99 moved in or out Chicago · Cook County: -4,542 net from other states, 186,370 moved in or out
Every county at a glance.
Gained households from other states
Lost households to other states
Circle size — households that moved in or out.
Chicago · Cook County — the busiest moving market in Illinois.
Where Illinois is gaining from other states
Largest net state-to-state changes by county — same basis as the figures above, top eight only. Each city page adds the in-state picture.
Petersburg Menard County +23
#1,158 of 3,087 U.S. counties for total household growth
Fairfield Wayne County +12
#1,524 of 3,087 U.S. counties for total household growth
Robinson Crawford County +10
#1,915 of 3,087 U.S. counties for total household growth
Paris Edgar County +7
#1,660 of 3,087 U.S. counties for total household growth
Harrisburg Saline County +5
#1,354 of 3,087 U.S. counties for total household growth
Pittsfield Pike County +4
#2,004 of 3,087 U.S. counties for total household growth
Albion Edwards County +3
#1,459 of 3,087 U.S. counties for total household growth
Mount Carmel Wabash County +2
#1,440 of 3,087 U.S. counties for total household growth
Where Illinois is losing to other states
Largest net state-to-state changes by county — same basis as the figures above, top eight only. Each city page adds the in-state picture.
Chicago Cook County -4,542
Waukegan Lake County -4,200
Naperville DuPage County -3,923
Joliet Will County -3,094
Aurora Kane County -2,004
Crystal Lake McHenry County -1,571
Champaign Champaign County -1,086
Rockford Winnebago County -979
Which states Illinois trades households with
Each bar shows that state's in/out split — rows ranked by total volume. The IRS publishes only each county's largest partner states, so smaller streams are left out and these totals run below the headline figures.
Indiana -1,903
7,019 in
8,922 out
Florida -4,667
5,273 in
9,940 out
California -1,633
6,769 in
8,402 out
Wisconsin -2,323
5,752 in
8,075 out
Texas -3,215
4,998 in
8,213 out
Missouri +581
4,457 in
3,876 out

Households arriving in Illinois from another state report $79,037 in average annual income; those leaving for another state report $104,809. Departures out-earn arrivals — Illinois is losing its higher earners.

Arriving from another state$79,037
Leaving for another state$104,809
City-level breakdowns
Every city page has its own migration section — who's arriving, from how far, and what kind of mover that calls for.

How this works: IRS SOI County-to-County Migration Data, 2022-2023. The IRS compares the address on consecutive tax returns, so every move here is a real filed household. The headline figures and county lists count moves that crossed a state line; the five-year chart counts every move, including from abroad. The data publishes annually with about a two-year lag, misses people who don't file a return, and leaves 25% of moves unattributed to a specific county, because flows too small to publish are grouped into regional buckets. 102 of Illinois's counties have published data.