ILIllinois rankings

Towns losing population in Illinois

Ranked by population loss between the 2010 and 2020 censuses. 445 towns with 2,500+ residents.

U.S. Census ACS 2020–2024 5-year

#TownChange 2010–20202010 census2020 census
1 East St. Louis East St. LouisSt. Clair County · 17,999 people −31.6% 27,006 18,469
2 Macomb CityMcDonough County · 14,894 people −22.0% 19,288 15,051
3 Macomb14,894 people −22.0% 19,288 15,051
4 CanteenSt. Clair County · 7,877 people −22.0% 10,263 8,004
5 Map of Spring Garden Spring GardenJefferson County · 2,574 people −21.8% 3,307 2,586
6 Map of Riverdale Riverdale10,340 people −21.3% 13,549 10,663
7 Charleston Charleston17,062 people −20.8% 21,838 17,286
8 Chester6,797 people −20.6% 8,586 6,814
9 Map of Centreville CentrevilleSt. Clair County · 19,674 people −20.4% 25,386 20,213
10 Harvey Harvey20,230 people −19.6% 25,282 20,324
11 CharlestonColes County · 19,509 people −19.2% 23,916 19,313
12 Map of Brookside BrooksideClinton County · 4,413 people −19.2% 5,503 4,444
13 Madison Madison2,900 people −18.5% 3,891 3,171
14 Dixmoor2,948 people −18.4% 3,644 2,973
15 Map of Christy ChristyLawrence County · 3,109 people −17.3% 3,774 3,120
16 VeniceMadison County · 4,582 people −16.9% 5,650 4,695
17 CarbondaleJackson County · 24,933 people −16.4% 29,544 24,686
18 Carbondale22,158 people −15.6% 25,902 21,857
19 Map of Middleport MiddleportIroquois County · 3,645 people −13.9% 4,375 3,767
20 Robbins Robbins4,556 people −13.3% 5,337 4,629
21 Aurora AuroraKane County · 126,432 people −13.2% 146,149 126,929
22 BushnellMcDonough County · 2,677 people −12.8% 3,117 2,718
23 Map of Kankakee KankakeeKankakee County · 23,996 people −12.7% 27,537 24,052
24 CaseyClark County · 3,451 people −12.6% 3,958 3,459
25 Map of East Lincoln East LincolnLogan County · 7,677 people −12.2% 8,813 7,736
26 BroadwellLogan County · 3,071 people −12.2% 3,549 3,115
27 Lewistown LewistownFulton County · 2,608 people −12.1% 3,039 2,671
28 DanvilleVermilion County · 28,595 people −11.6% 33,027 29,204
29 West Frankfort7,118 people −11.1% 8,182 7,275
30 Pana Pana5,217 people −11.1% 5,847 5,199
31 Map of Abingdon Abingdon3,443 people −11.1% 3,319 2,951
32 NeogaCumberland County · 2,750 people −11.1% 3,124 2,778
33 Murphysboro6,735 people −11.0% 7,970 7,093
34 Watseka4,780 people −11.0% 5,255 4,679
35 Otter CreekLaSalle County · 2,642 people −11.0% 2,970 2,643
36 ElsahJersey County · 2,799 people −10.9% 2,462 2,194
37 Murphysboro MurphysboroJackson County · 9,415 people −10.7% 10,563 9,434
38 BruceLaSalle County · 11,794 people −10.5% 13,185 11,800
39 Map of Calumet CalumetCook County · 18,086 people −10.4% 20,777 18,609
40 Calumet Park Calumet Park6,855 people −10.3% 7,835 7,025
41 Pinckneyville5,018 people −10.3% 5,648 5,066
42 Havana2,989 people −10.2% 3,301 2,963
43 DecaturMacon County · 46,586 people −9.9% 52,915 47,650
44 Map of Canton CantonFulton County · 13,144 people −9.9% 14,704 13,242
45 PittsfieldPike County · 3,955 people −9.8% 4,477 4,037
46 Rock Island Rock IslandRock Island County · 15,831 people −9.6% 17,776 16,070
47 Creve Coeur4,621 people −9.5% 5,451 4,934
48 Havana HavanaMason County · 4,270 people −9.5% 4,816 4,360
49 Georgetown3,069 people −9.5% 3,474 3,143
50 Jacksonville18,014 people −9.4% 19,446 17,616
51 PanaChristian County · 5,916 people −9.3% 6,647 6,031
52 AmboyLee County · 2,795 people −9.3% 3,108 2,820
53 Chicago Heights Chicago Heights26,736 people −9.2% 30,276 27,480
54 Eldorado3,771 people −9.2% 4,122 3,743
55 Map of Oakwood OakwoodVermilion County · 3,098 people −9.2% 3,507 3,186
56 Mattoon16,586 people −9.1% 18,555 16,870
57 Map of Denning DenningFranklin County · 4,682 people −9.1% 5,202 4,729
58 Map of Savanna Savanna2,816 people −9.1% 3,062 2,783
59 Map of Six Mile Six MileFranklin County · 3,496 people −9.0% 3,885 3,536
60 Aurora Aurora179,898 people −8.8% 197,899 180,542
61 Streator12,330 people −8.8% 13,710 12,500
62 Harrisburg Harrisburg8,372 people −8.8% 9,017 8,219
63 Metropolis5,864 people −8.7% 6,537 5,969
64 Map of Fondulac FondulacTazewell County · 12,186 people −8.6% 13,381 12,231
65 ChouteauMadison County · 7,464 people −8.6% 8,226 7,515
66 Lincoln Lincoln13,281 people −8.4% 14,504 13,288
67 Map of Frankfort FrankfortFranklin County · 6,340 people −8.3% 7,029 6,443
68 Map of East Alton East Alton5,689 people −8.2% 6,301 5,786
69 DeKalbDeKalb County · 40,443 people −8.1% 43,862 40,290
70 Bartonville5,841 people −8.1% 6,471 5,945
71 Map of Hoopeston Hoopeston5,034 people −8.1% 5,351 4,915
72 Pittsfield4,420 people −8.1% 4,576 4,206
73 Map of Cherry Valley Cherry Valley3,749 people −8.1% 3,162 2,905
74 East EldoradoSaline County · 5,289 people −8.0% 5,906 5,431
75 Mount Sterling Mount SterlingBrown County · 4,157 people −8.0% 4,673 4,297
76 SavannaCarroll County · 3,388 people −8.0% 3,729 3,432
77 Alton AltonMadison County · 25,279 people −7.9% 27,865 25,676
78 StookeySt. Clair County · 9,018 people −7.9% 10,007 9,219
79 Chebanse ChebanseIroquois County · 2,811 people −7.9% 3,109 2,862
80 Wadsworth Wadsworth3,686 people −7.8% 3,815 3,517
81 Granite City Granite CityMadison County · 26,549 people −7.7% 29,849 27,549
82 Map of Toulon ToulonStark County · 2,777 people −7.7% 2,420 2,233
83 Bloomington BloomingtonMcLean County · 2,623 people −7.6% 2,851 2,635
84 Indian CreekWhite County · 2,510 people −7.6% 2,322 2,145
85 Dolton Dolton20,825 people −7.5% 23,153 21,426
86 Map of Stone Park Stone Park4,482 people −7.5% 4,946 4,576
87 Map of Decatur Decatur69,815 people −7.4% 76,122 70,522
88 Map of Pekin PekinTazewell County · 27,280 people −7.4% 29,807 27,597
89 MattoonColes County · 14,496 people −7.3% 15,817 14,668
90 Robinson7,084 people −7.3% 7,713 7,150
91 Makanda MakandaJackson County · 4,031 people −7.3% 4,353 4,034
92 Map of Dunleith DunleithJo Daviess County · 3,527 people −7.3% 3,820 3,543
93 Map of Carmi Carmi4,845 people −7.2% 5,240 4,865
94 McLeansboro McLeansboro2,675 people −7.2% 2,883 2,675
95 Map of Cunningham CunninghamChampaign County · 39,341 people −7.1% 41,250 38,336
96 Map of Urbana Urbana39,341 people −7.1% 41,250 38,336
97 ColomaWhiteside County · 10,446 people −7.1% 11,371 10,568
98 CincinnatiTazewell County · 8,797 people −7.1% 9,506 8,833
99 Carmi CarmiWhite County · 6,161 people −7.1% 6,770 6,286
100 Map of Harrisburg HarrisburgSaline County · 9,838 people −7.0% 10,790 10,037
101 Map of Grant GrantVermilion County · 5,477 people −7.0% 6,028 5,604
102 Map of Pekin Pekin31,781 people −6.9% 34,094 31,731
103 SpringfieldSangamon County · 5,522 people −6.9% 6,245 5,813
104 Map of Thornton ThorntonCook County · 153,682 people −6.8% 169,326 157,865
105 LimestonePeoria County · 18,116 people −6.8% 19,705 18,357
106 Markham11,355 people −6.8% 12,508 11,661
107 CedarKnox County · 2,993 people −6.8% 3,270 3,047
108 Galesburg City Galesburg CityKnox County · 29,481 people −6.7% 32,195 30,052
109 Galesburg29,481 people −6.7% 32,195 30,052
110 CahokiaMacoupin County · 3,128 people −6.7% 3,378 3,151
111 Hamilton Hamilton2,714 people −6.7% 2,951 2,753
112 Map of Taylorville TaylorvilleChristian County · 10,646 people −6.6% 11,246 10,506
113 ClintoniaDe Witt County · 7,260 people −6.6% 7,832 7,315
114 Map of Montebello MontebelloHancock County · 3,284 people −6.6% 3,579 3,341
115 PiasaJersey County · 3,085 people −6.6% 3,376 3,152
116 FreeportStephenson County · 23,505 people −6.5% 25,638 23,973
117 Centralia11,856 people −6.5% 13,032 12,182
118 PontiacLivingston County · 11,294 people −6.5% 11,931 11,150
119 Map of Richton Park Richton Park12,521 people −6.4% 13,646 12,775
120 SomersetJackson County · 3,960 people −6.4% 4,205 3,934
121 Peoria CityPeoria County · 96,648 people −6.3% 104,409 97,823
122 Pistakee Highlands3,374 people −6.3% 3,454 3,237
123 Map of Earl EarlLaSalle County · 2,574 people −6.3% 2,595 2,432
124 Map of Paris ParisEdgar County · 8,276 people −6.2% 8,837 8,291
125 Map of Highwood Highwood5,301 people −6.1% 5,405 5,074
126 BlountVermilion County · 3,177 people −6.1% 3,428 3,218
127 Map of Mount Vernon Mount VernonJefferson County · 12,335 people −6.0% 13,374 12,576
128 RobinsonCrawford County · 9,218 people −6.0% 9,900 9,303
129 MarionOgle County · 3,884 people −6.0% 4,135 3,887
130 Wayne Wayne2,562 people −6.0% 2,431 2,286
131 Map of Auburn AuburnSangamon County · 5,866 people −5.9% 6,333 5,957
132 Posen5,292 people −5.9% 5,987 5,632
133 Rosemont3,290 people −5.9% 4,202 3,952
134 Bunker Hill Bunker HillMacoupin County · 3,120 people −5.9% 3,346 3,148
135 CatlinVermilion County · 3,059 people −5.9% 3,300 3,105
136 Rushville2,747 people −5.9% 3,192 3,005
137 Map of Montmorency MontmorencyWhiteside County · 2,539 people −5.9% 2,612 2,459
138 Winnebago WinnebagoWinnebago County · 4,946 people −5.8% 5,291 4,984
139 Map of Mount Morris Mount MorrisOgle County · 3,669 people −5.8% 3,968 3,738
140 Momence MomenceKankakee County · 3,291 people −5.8% 3,310 3,117
141 ProphetstownWhiteside County · 2,527 people −5.8% 2,615 2,463
142 Monmouth8,581 people −5.7% 9,444 8,902
143 GeorgetownVermilion County · 7,235 people −5.7% 7,901 7,449
144 VirdenMacoupin County · 3,171 people −5.7% 3,425 3,231
145 Map of North Chicago North Chicago30,643 people −5.6% 32,574 30,759
146 Sauk Village9,678 people −5.6% 10,506 9,921
147 FosterMadison County · 3,867 people −5.6% 4,091 3,862
148 Map of Mount Olive Mount OliveMacoupin County · 3,072 people −5.6% 3,274 3,091
149 WauponseeGrundy County · 2,742 people −5.5% 2,423 2,289
150 BloomCook County · 83,966 people −5.4% 90,922 86,018
151 West Chicago West Chicago25,395 people −5.4% 27,086 25,614
152 Map of Lawrence LawrenceLawrence County · 6,166 people −5.4% 6,521 6,171
153 Olympia Fields4,734 people −5.4% 4,988 4,718
154 Map of Dwight DwightLivingston County · 3,872 people −5.4% 4,260 4,032
155 GranvillePutnam County · 2,748 people −5.4% 2,934 2,777
156 Benton6,863 people −5.3% 7,087 6,709
157 Sugar LoafSt. Clair County · 6,779 people −5.3% 7,322 6,931
158 Fairfield Fairfield4,561 people −5.3% 5,154 4,883
159 Flora Flora4,475 people −5.3% 5,070 4,803
160 Map of Nokomis NokomisMontgomery County · 2,779 people −5.3% 2,939 2,783
161 HenryMarshall County · 2,542 people −5.3% 2,700 2,558
162 Winnebago2,981 people −5.2% 3,101 2,940
163 Wood River Wood RiverMadison County · 29,687 people −5.1% 31,537 29,938
164 Hazel Crest13,792 people −5.1% 14,100 13,382
165 Rock Falls8,587 people −5.1% 9,266 8,789
166 GillespieMacoupin County · 3,611 people −5.1% 3,882 3,684
167 Map of Owen OwenWinnebago County · 3,577 people −5.1% 3,803 3,608
168 Nashville NashvilleWashington County · 3,433 people −5.1% 3,676 3,488
169 RantoulChampaign County · 10,485 people −5.0% 11,273 10,705
170 Spring Grove5,917 people −5.0% 5,778 5,487
171 Map of Rock Island Rock Island36,151 people −4.9% 39,018 37,108
172 OttawaLaSalle County · 11,204 people −4.9% 11,766 11,193
173 Hillsboro5,803 people −4.9% 6,207 5,902
174 Marseilles4,279 people −4.9% 5,094 4,845
175 Map of Jackson JacksonWill County · 3,875 people −4.9% 4,100 3,898
176 Blue Island Blue Island21,741 people −4.8% 23,706 22,558
177 Centralia CentraliaMarion County · 14,039 people −4.8% 15,042 14,319
178 Map of Litchfield Litchfield6,834 people −4.8% 6,939 6,605
179 Map of Aroma AromaKankakee County · 4,895 people −4.8% 5,157 4,912
180 Sparta4,068 people −4.8% 4,302 4,095
181 Map of Lena Lena2,761 people −4.8% 2,912 2,772
182 Belleville41,370 people −4.7% 44,478 42,404
183 Map of Collinsville Collinsville24,031 people −4.7% 25,579 24,366
184 MonmouthWarren County · 9,727 people −4.7% 10,463 9,975
185 St. JosephChampaign County · 5,536 people −4.7% 5,876 5,597
186 Map of Mackinaw MackinawTazewell County · 4,240 people −4.7% 4,454 4,245
187 Ludlow LudlowChampaign County · 4,156 people −4.7% 4,278 4,077
188 McLeansboroHamilton County · 3,644 people −4.7% 3,830 3,650
189 Map of West Point West PointStephenson County · 3,130 people −4.7% 3,369 3,211
190 Map of Elm Grove Elm GroveTazewell County · 2,954 people −4.7% 3,093 2,949
191 Map of Nashville Nashville2,940 people −4.7% 3,258 3,105
192 YellowheadKankakee County · 2,570 people −4.7% 2,700 2,573
193 NameokiMadison County · 11,968 people −4.6% 12,685 12,104
194 Du Quoin5,726 people −4.6% 6,109 5,827
195 Map of Staunton StauntonMacoupin County · 5,423 people −4.6% 5,795 5,526
196 Mount Morris Mount Morris2,726 people −4.6% 2,998 2,861
197 Map of Rockford RockfordWinnebago County · 169,035 people −4.5% 178,527 170,478
198 Olney Olney8,577 people −4.5% 9,115 8,701
199 GroverWayne County · 3,540 people −4.5% 3,757 3,588
200 Johnston City3,327 people −4.5% 3,543 3,384
201 Gillespie2,815 people −4.5% 3,319 3,168
202 Mount Vernon14,090 people −4.4% 15,277 14,600
203 Map of Rantoul Rantoul12,421 people −4.4% 12,941 12,371
204 BlackhawkRock Island County · 9,430 people −4.4% 10,019 9,576
205 West Peoria4,238 people −4.4% 4,458 4,263
206 GalvaHenry County · 2,669 people −4.4% 2,837 2,712
207 PecatonicaWinnebago County · 4,130 people −4.3% 4,355 4,168
208 BuffaloOgle County · 2,648 people −4.3% 2,813 2,692
209 MendotaLaSalle County · 6,994 people −4.2% 7,372 7,061
210 Map of Olio OlioWoodford County · 4,691 people −4.2% 4,931 4,722
211 Lawrenceville Lawrenceville3,941 people −4.2% 4,348 4,164
212 North LitchfieldMontgomery County · 4,875 people −4.1% 5,148 4,939
213 Auburn4,306 people −4.1% 4,771 4,574
214 Vandalia VandaliaFayette County · 6,275 people −4.0% 6,629 6,364
215 Peoria Heights Peoria Heights5,825 people −4.0% 6,156 5,908
216 St. Joseph St. Joseph3,778 people −4.0% 3,967 3,810
217 South LitchfieldMontgomery County · 3,260 people −4.0% 3,408 3,273
218 Map of Spring Bay Spring BayWoodford County · 2,531 people −4.0% 2,643 2,536
219 East Peoria22,324 people −3.9% 23,402 22,484
220 Sterling14,717 people −3.9% 15,370 14,764
221 Peru PeruLaSalle County · 9,775 people −3.9% 10,295 9,896
222 Map of Sterling SterlingWhiteside County · 17,089 people −3.8% 18,035 17,357
223 Burnham3,937 people −3.8% 4,206 4,046
224 HelvetiaMadison County · 8,328 people −3.7% 8,646 8,329
225 Map of Mount Carmel Mount Carmel6,854 people −3.7% 7,284 7,015
226 Map of Harter HarterClay County · 6,035 people −3.7% 6,394 6,159
227 BurtonMcHenry County · 4,891 people −3.7% 5,003 4,820
228 BowlingRock Island County · 3,335 people −3.7% 3,414 3,287
229 Palos Heights Palos Heights12,152 people −3.6% 12,515 12,068
230 Kewanee KewaneeHenry County · 9,622 people −3.6% 10,162 9,800
231 Map of Orland Hills Orland Hills6,719 people −3.6% 7,149 6,893
232 WhitmoreMacon County · 4,221 people −3.6% 4,471 4,311
233 Map of Wethersfield WethersfieldHenry County · 3,746 people −3.6% 3,935 3,792
234 Map of New Athens New AthensSt. Clair County · 2,633 people −3.6% 2,657 2,562
235 Map of Shields ShieldsLake County · 37,623 people −3.5% 39,062 37,685
236 Benton BentonFranklin County · 8,623 people −3.5% 8,972 8,662
237 Carlinville5,480 people −3.5% 5,917 5,710
238 Indian GroveLivingston County · 4,119 people −3.5% 4,297 4,148
239 BrightonMacoupin County · 3,856 people −3.5% 4,039 3,896
240 Galena2,931 people −3.5% 3,429 3,308
241 HudsonMcLean County · 2,505 people −3.5% 2,571 2,482
242 Addison Addison35,489 people −3.4% 36,942 35,702
243 GrovelandTazewell County · 18,513 people −3.4% 19,526 18,854
244 DixonLee County · 17,253 people −3.4% 17,993 17,379
245 Map of Olney OlneyRichland County · 9,847 people −3.4% 10,334 9,980
246 Map of Glenwood Glenwood8,603 people −3.4% 8,969 8,662
247 Map of Dupo Dupo3,879 people −3.4% 4,138 3,996
248 Carthage CarthageHancock County · 2,922 people −3.4% 3,052 2,947
249 Round Lake Beach Round Lake Beach27,079 people −3.3% 28,175 27,252
250 Midlothian13,948 people −3.3% 14,819 14,325
251 Frankfort Square9,560 people −3.3% 9,276 8,968
252 Map of Carlinville CarlinvilleMacoupin County · 6,456 people −3.3% 6,665 6,448
253 Fairbury3,713 people −3.3% 3,757 3,633
254 FarmingtonFulton County · 3,148 people −3.3% 3,350 3,241
255 Map of Wayne WayneDuPage County · 63,881 people −3.2% 66,582 64,427
256 Kewanee11,913 people −3.2% 12,916 12,509
257 Map of West Lincoln West LincolnLogan County · 7,335 people −3.2% 7,685 7,437
258 CapitalSangamon County · 111,650 people −3.1% 115,756 112,219
259 Clinton6,985 people −3.1% 7,225 7,004
260 Map of Genoa GenoaDeKalb County · 5,606 people −3.1% 5,704 5,527
261 Map of Fox River Grove Fox River Grove4,523 people −3.1% 4,854 4,702
262 Anna Anna4,196 people −3.1% 4,442 4,303
263 Oregon Oregon3,851 people −3.1% 3,721 3,604
264 Map of Elmwood ElmwoodPeoria County · 2,698 people −3.1% 2,598 2,518
265 Map of Glendale Heights Glendale Heights32,808 people −3.0% 34,208 33,176
266 Map of Bradley Bradley15,325 people −3.0% 15,895 15,419
267 Oregon-NashuaOgle County · 4,769 people −3.0% 4,909 4,762
268 Map of Squaw Grove Squaw GroveDeKalb County · 2,716 people −3.0% 2,802 2,717
269 McHenryMcHenry County · 46,965 people −2.9% 47,653 46,268
270 QuincyAdams County · 39,109 people −2.9% 40,633 39,463
271 Dixon Dixon14,910 people −2.9% 15,733 15,274
272 Green GardenWill County · 3,862 people −2.9% 4,010 3,893
273 De SotoJackson County · 2,615 people −2.9% 2,388 2,319
274 Map of Rockford Rockford147,521 people −2.8% 152,871 148,655
275 Map of Beardstown BeardstownCass County · 6,169 people −2.8% 6,123 5,951
276 Map of Richwoods RichwoodsPeoria County · 5,825 people −2.8% 6,089 5,919
277 RandolphMcLean County · 4,303 people −2.8% 4,375 4,253
278 West GalenaJo Daviess County · 3,194 people −2.8% 3,323 3,230
279 Fairmont2,617 people −2.8% 2,459 2,389
280 Map of Bremen BremenCook County · 104,594 people −2.7% 110,118 107,149
281 Calumet City35,100 people −2.7% 37,042 36,033
282 Salem7,236 people −2.7% 7,485 7,282
283 Map of Sandwich SandwichDeKalb County · 7,219 people −2.7% 7,421 7,221
284 Map of Mount Pleasant Mount PleasantWhiteside County · 4,720 people −2.7% 4,939 4,807
285 South Chicago Heights3,907 people −2.7% 4,139 4,026
286 Map of Sleepy Hollow Sleepy Hollow3,161 people −2.7% 3,304 3,214
287 South Holland South Holland20,911 people −2.6% 22,030 21,465
288 MercerMercer County · 3,917 people −2.6% 4,071 3,964
289 Map of Western WesternHenry County · 2,887 people −2.6% 3,053 2,974
290 Map of Loves Park Loves Park23,502 people −2.5% 23,996 23,397
291 Map of Moline MolineRock Island County · 22,570 people −2.5% 23,529 22,930
292 Map of Cherry Valley Cherry ValleyWinnebago County · 19,221 people −2.5% 19,831 19,344
293 Map of Bourbonnais Bourbonnais18,078 people −2.5% 18,631 18,164
294 Map of Justice Justice12,324 people −2.5% 12,926 12,600
295 Map of South Wheatland South WheatlandMacon County · 3,958 people −2.5% 4,143 4,040
296 Morrison3,739 people −2.5% 4,188 4,085
297 Newton Newton2,932 people −2.5% 2,849 2,777
298 Melrose Park Melrose Park24,549 people −2.4% 25,411 24,796
299 Maywood Maywood23,201 people −2.4% 24,090 23,512
300 Cary Cary17,923 people −2.4% 18,271 17,826
301 Map of Smithton SmithtonSt. Clair County · 4,102 people −2.4% 4,275 4,174
302 Map of Empire EmpireMcLean County · 3,993 people −2.4% 4,093 3,994
303 JolietWill County · 85,288 people −2.3% 87,398 85,427
304 HarlemWinnebago County · 39,116 people −2.3% 40,158 39,247
305 BourbonnaisKankakee County · 39,048 people −2.3% 40,137 39,210
306 Map of Machesney Park Machesney Park22,630 people −2.3% 23,499 22,950
307 Map of Barrington Hills Barrington Hills3,879 people −2.3% 4,209 4,114
308 CarlyleClinton County · 3,798 people −2.3% 3,932 3,842
309 Map of Goode GoodeFranklin County · 2,604 people −2.3% 2,715 2,652
310 Map of Belvidere BelvidereBoone County · 29,286 people −2.2% 30,109 29,441
311 Map of Fairview Heights Fairview Heights16,745 people −2.2% 17,078 16,706
312 Campton Hills10,877 people −2.2% 11,131 10,885
313 Map of Bethalto Bethalto9,239 people −2.2% 9,521 9,310
314 PawneeSangamon County · 2,738 people −2.2% 2,739 2,678
315 Map of Clear Lake Clear LakeSangamon County · 8,302 people −2.1% 8,527 8,348
316 Map of Knox KnoxKnox County · 4,871 people −2.1% 5,027 4,922
317 WadeJasper County · 4,343 people −2.1% 4,475 4,380
318 Map of Oglesby Oglesby3,570 people −2.1% 3,791 3,712
319 GaneerKankakee County · 3,164 people −2.1% 3,215 3,148
320 CarrolltonGreene County · 2,828 people −2.1% 2,966 2,903
321 Map of Avon AvonLake County · 63,428 people −2.0% 65,001 63,708
322 Marion Marion16,836 people −2.0% 17,193 16,855
323 FlaggOgle County · 13,287 people −2.0% 13,562 13,296
324 Map of Manlius ManliusLaSalle County · 6,100 people −2.0% 6,275 6,150
325 Map of Patton PattonFord County · 5,173 people −2.0% 5,358 5,253
326 MoundEffingham County · 3,532 people −2.0% 3,648 3,575
327 Map of Round Lake Heights Round Lake Heights2,592 people −2.0% 2,676 2,622
328 Lockport LockportWill County · 59,827 people −1.9% 60,010 58,844
329 Gurnee Gurnee30,510 people −1.9% 31,295 30,706
330 Map of Salem SalemMarion County · 8,914 people −1.9% 9,286 9,112
331 CaledoniaBoone County · 7,239 people −1.9% 7,439 7,294
332 Lake Bluff6,041 people −1.9% 5,722 5,616
333 Map of El Paso El Paso2,917 people −1.9% 2,810 2,756
334 Crest Hill Crest Hill20,628 people −1.8% 20,837 20,459
335 Wood River10,279 people −1.8% 10,657 10,464
336 Heyworth2,573 people −1.8% 2,841 2,791
337 Map of Collinsville CollinsvilleMadison County · 35,410 people −1.7% 36,265 35,636
338 Oak Forest Oak Forest26,805 people −1.7% 27,962 27,478
339 JerseyJersey County · 9,924 people −1.7% 10,165 9,995
340 ColonaHenry County · 6,633 people −1.7% 6,822 6,706
341 Map of Staunton Staunton4,298 people −1.7% 5,139 5,054
342 Rosewood Heights4,229 people −1.7% 4,038 3,971
343 ArcolaDouglas County · 3,263 people −1.7% 3,312 3,257
344 Map of Seneca SenecaMcHenry County · 2,881 people −1.7% 2,944 2,893
345 Springfield113,330 people −1.6% 116,250 114,394
346 Peoria112,169 people −1.6% 115,007 113,150
347 Map of Hickory Point Hickory PointMacon County · 17,885 people −1.6% 18,523 18,229
348 El PasoWoodford County · 3,400 people −1.6% 3,459 3,404
349 Elmwood Park23,868 people −1.5% 24,883 24,521
350 Bellwood Bellwood18,256 people −1.5% 19,071 18,789
351 Jerseyville7,445 people −1.5% 8,465 8,337
352 Map of Shiloh ShilohJefferson County · 6,520 people −1.5% 6,620 6,524
353 Peotone PeotoneWill County · 4,395 people −1.5% 4,431 4,365
354 HannaHenry County · 2,872 people −1.5% 2,344 2,308
355 Holiday Shores2,782 people −1.5% 2,882 2,840
356 RocktonWinnebago County · 16,076 people −1.4% 16,441 16,214
357 LaSalleLaSalle County · 13,287 people −1.4% 13,565 13,369
358 Map of Hainesville Hainesville3,524 people −1.4% 3,597 3,546
359 Tinley Park Tinley Park54,842 people −1.3% 56,703 55,971
360 Map of Hanover Park Hanover Park36,732 people −1.3% 37,973 37,470
361 Park Forest Park Forest21,156 people −1.3% 21,975 21,687
362 Map of Rochelle Rochelle9,529 people −1.3% 9,574 9,446
363 Map of Eureka Eureka5,007 people −1.3% 5,295 5,227
364 Wonder Lake4,292 people −1.3% 4,026 3,973
365 Map of Camargo CamargoDouglas County · 3,498 people −1.3% 3,585 3,538
366 MoroMadison County · 3,495 people −1.3% 3,551 3,506
367 Map of Le Roy Le Roy3,236 people −1.3% 3,560 3,512
368 Map of Crystal Lake Crystal Lake40,579 people −1.2% 40,743 40,269
369 Map of Lake Villa Lake VillaLake County · 39,760 people −1.2% 40,276 39,796
370 Map of Algonquin Algonquin30,067 people −1.2% 30,046 29,700
371 Prospect Heights15,618 people −1.2% 16,256 16,058
372 Herrin Herrin12,226 people −1.2% 12,501 12,352
373 Map of Long Creek Long CreekMacon County · 10,360 people −1.2% 10,679 10,552
374 Princeton PrincetonBureau County · 9,106 people −1.2% 9,331 9,223
375 Map of Reed ReedWill County · 6,903 people −1.2% 6,948 6,864
376 LafayetteColes County · 4,684 people −1.2% 4,822 4,765
377 EllingtonAdams County · 2,755 people −1.2% 2,855 2,820
378 Normal NormalMcLean County · 52,417 people −1.1% 52,560 52,008
379 Moline Moline42,197 people −1.1% 43,483 42,985
380 Alsip Alsip18,583 people −1.1% 19,277 19,063
381 Map of Crestwood Crestwood10,579 people −1.1% 10,950 10,826
382 ByronOgle County · 6,410 people −1.1% 6,563 6,491
383 Colona5,139 people −1.1% 5,099 5,045
384 Westville3,419 people −1.1% 3,202 3,167
385 Elk Grove Village Elk Grove Village31,987 people −1.0% 33,127 32,812
386 Belvidere24,752 people −1.0% 25,585 25,339
387 Westmont Westmont23,724 people −1.0% 24,685 24,429
388 NorthvilleLaSalle County · 7,316 people −1.0% 7,410 7,338
389 Map of Marengo MarengoMcHenry County · 7,040 people −1.0% 7,648 7,568
390 WilmingtonWill County · 5,494 people −1.0% 5,724 5,664
391 RutlandLaSalle County · 3,589 people −1.0% 3,698 3,662
392 Oblong OblongCrawford County · 2,739 people −1.0% 2,789 2,762
393 Lexington LexingtonMcLean County · 2,589 people −1.0% 2,399 2,374
394 Algonquin AlgonquinMcHenry County · 88,108 people −0.9% 88,389 87,633
395 Palatine66,293 people −0.9% 68,557 67,908
396 WinfieldDuPage County · 46,932 people −0.9% 46,233 45,836
397 Godfrey17,712 people −0.9% 17,982 17,825
398 ChillicothePeoria County · 8,157 people −0.9% 8,364 8,288
399 Map of Freeburg FreeburgSt. Clair County · 5,006 people −0.9% 5,109 5,065
400 Map of South Jacksonville South Jacksonville3,239 people −0.9% 3,331 3,302
401 Map of Carlyle Carlyle2,980 people −0.9% 3,281 3,253
402 Map of Trenton Trenton2,664 people −0.9% 2,715 2,690
403 Map of Rich RichCook County · 74,330 people −0.8% 76,727 76,138
404 Map of Antioch AntiochLake County · 27,680 people −0.8% 27,745 27,535
405 MoneeWill County · 15,425 people −0.8% 15,669 15,549
406 Map of La Grange Park La Grange Park13,447 people −0.8% 13,579 13,475
407 KingstonDeKalb County · 3,464 people −0.8% 3,519 3,492
408 Germantown Hills3,436 people −0.8% 3,438 3,412
409 Map of Streamwood Streamwood39,001 people −0.7% 39,858 39,577
410 NewellVermilion County · 13,540 people −0.7% 13,969 13,875
411 Schiller Park Schiller Park11,393 people −0.7% 11,793 11,709
412 Geneseo Geneseo6,673 people −0.7% 6,586 6,539
413 Map of Dunham DunhamMcHenry County · 2,777 people −0.7% 2,844 2,823
414 WaukeganLake County · 89,689 people −0.6% 90,893 90,386
415 GenevaKane County · 26,345 people −0.6% 26,552 26,396
416 Map of Campton CamptonKane County · 17,093 people −0.6% 17,174 17,064
417 Map of Effingham Effingham12,342 people −0.6% 12,328 12,252
418 Map of Central CentralBond County · 8,081 people −0.6% 8,013 7,968
419 Map of Shelbyville ShelbyvilleShelby County · 4,351 people −0.6% 4,700 4,674
420 Sullivan4,348 people −0.6% 4,440 4,413
421 BourbonDouglas County · 4,100 people −0.6% 4,124 4,099
422 Carrier MillsSaline County · 2,507 people −0.6% 2,322 2,308
423 Du PageWill County · 87,582 people −0.5% 87,793 87,348
424 Map of Moraine MoraineLake County · 34,354 people −0.5% 34,129 33,946
425 Geneva21,258 people −0.5% 21,495 21,393
426 Map of Hall HallBureau County · 8,267 people −0.5% 8,300 8,258
427 Winthrop Harbor6,559 people −0.5% 6,742 6,705
428 Paxton4,131 people −0.5% 4,473 4,450
429 PalmyraLee County · 2,877 people −0.5% 2,906 2,891
430 Map of Lindenhurst Lindenhurst14,417 people −0.4% 14,462 14,406
431 DouglasEffingham County · 12,629 people −0.4% 12,604 12,556
432 ChemungMcHenry County · 9,051 people −0.4% 9,134 9,095
433 Map of Island Lake Island Lake8,014 people −0.4% 8,080 8,051
434 Monee5,108 people −0.4% 5,148 5,128
435 Map of Proviso ProvisoCook County · 147,690 people −0.3% 151,704 151,209
436 Addison AddisonDuPage County · 87,658 people −0.3% 88,612 88,351
437 Darien21,879 people −0.3% 22,086 22,011
438 LaSalle9,498 people −0.3% 9,609 9,582
439 Map of Knoxville Knoxville3,211 people −0.3% 2,911 2,901
440 Bartlett40,501 people −0.2% 41,208 41,105
441 Aledo Aledo3,668 people −0.2% 3,640 3,633
442 Map of Watson WatsonEffingham County · 3,185 people −0.2% 3,193 3,188
443 Map of Crete CreteWill County · 23,542 people −0.1% 23,774 23,759
444 BracevilleGrundy County · 6,529 people −0.1% 6,467 6,463
445 Hometown4,215 people −0.1% 4,349 4,343

How this ranking works

We rank every town by population loss between the 2010 and 2020 censuses. Only towns that shrank are listed. The town with the lowest figure ranks #1. For comparison, the figure for Illinois as a whole is −0.1%.

Only towns with at least 2,500 residents are ranked; Census estimates for smaller places are too uncertain. Population and income: U.S. Census Bureau American Community Survey 5-year estimates. Town photos: Wikimedia Commons, credited on each town’s page.

Same ranking in other states