ILIllinois rankings

Towns with the best public schools in Illinois

Ranked by how far each town's public schools score above or below the Illinois average in math and reading proficiency, weighted by enrollment. 384 towns with 2,500+ residents.

U.S. Census ACS 2020–2024 5-yearTest scores SY2020–21

Map of Naperville
Illinois · Best schools

Naperville ranks #29 of 384

+19.4 pts vs. the IL average in math + reading · Visit Naperville →

Naperville ranks #29 of 384 for best schools in Illinois
#Townvs. state averageMathReading
1 Map of Owen OwenWinnebago County · Rockford SD 205 +51.6 pts 82% 77.8%
2 New TrierCook County · Wilmette SD 39 +38.8 pts 67.7% 66.5%
3 West DeerfieldLake County · Deerfield SD 109 +34.4 pts 64.3% 61.1%
4 WorthWoodford County · Germantown Hills SD 69 +34.3 pts 57.6% 67.6%
5 NorthfieldCook County · Glenbrook HSD 225 +33.3 pts 62.2% 61%
6 St. JacobMadison County · Triad CUSD 2 +31.2 pts 62% 57%
7 Map of Cuba CubaLake County · Barrington CUSD 220 +29.9 pts 57.4% 59%
8 RadnorPeoria County · Dunlap CUSD 323 +29.5 pts 56.5% 59.2%
9 River ForestCook County · River Forest SD 90 +29.3 pts 57.2% 58%
10 VernonLake County · Adlai E Stevenson HSD 125 +28.6 pts 57.1% 56.6%
11 TeutopolisEffingham County · Teutopolis CUSD 50 +28.0 pts 55.2% 57.4%
12 Map of Medina MedinaPeoria County · Dunlap CUSD 323 +27.1 pts 55.7% 55.1%
13 KickapooPeoria County · Dunlap CUSD 323 +26.7 pts 58% 52%
14 Map of Libertyville LibertyvilleLake County · Libertyville SD 70 +25.1 pts 51.6% 55.3%
15 Map of Morton MortonTazewell County · Morton CUSD 709 +24.7 pts 49.2% 56.8%
16 Map of Montgomery MontgomeryWoodford County · Eureka CUD 140 +24.0 pts 50.1% 54.5%
17 Map of Sangamon SangamonPiatt County · Monticello CUSD 25 +23.7 pts 52% 52%
18 RoscoeWinnebago County · Kinnikinnick CCSD 131 +23.5 pts 47% 56.6%
19 St. Charles St. CharlesKane County · St Charles CUSD 303 +23.3 pts 51.2% 52%
20 FrankfortWill County · Lincoln Way CHSD 210 +23.2 pts 49.4% 53.6%
21 SaratogaGrundy County · Saratoga CCSD 60C +23.1 pts 48.9% 53.9%
22 St. JosephChampaign County · St Joseph CCSD 169 +21.5 pts 51.6% 48.1%
23 Map of Ela ElaLake County · Lake Zurich CUSD 95 +21.3 pts 50% 49.2%
24 ChampaignChampaign County · Champaign CUSD 4 +21.2 pts 47% 52%
25 Map of Barrington BarringtonCook County · Barrington CUSD 220 +20.9 pts 47.9% 50.5%
26 Fancy CreekSangamon County · Williamsville CUSD 15 +20.3 pts 45.8% 51.5%
27 Map of Moraine MoraineLake County · North Shore SD 112 +20.0 pts 48.5% 48.1%
28 Map of Riverside RiversideCook County · Riverside SD 96 +20.0 pts 46.1% 50.5%
29 Map of Naperville NapervilleDuPage County · Indian Prairie CUSD 204 +19.4 pts 47.4% 48.1%
30 Oak Park Oak ParkCook County · Oak Park ESD 97 +19.4 pts 45.6% 49.9%
31 Map of Olio OlioWoodford County · Eureka CUD 140 +19.3 pts 43.8% 51.4%
32 Looking GlassClinton County · Wesclin CUSD 3 +19.0 pts 41.9% 52.7%
33 Map of Jackson JacksonWill County · Elwood CCSD 203 +18.7 pts 37% 57%
34 TremontTazewell County · Tremont CUSD 702 +18.7 pts 42% 52%
35 Map of Wheatland WheatlandWill County · Indian Prairie CUSD 204 +18.4 pts 46% 47.5%
36 Map of Milton MiltonDuPage County · CUSD 200 +18.1 pts 46% 46.9%
37 Map of Campton CamptonKane County · St Charles CUSD 303 +17.9 pts 46.3% 46.1%
38 Map of Smithton SmithtonSt. Clair County · Smithton CCSD 130 +17.7 pts 45% 47%
39 Map of Lisle LisleDuPage County · Naperville CUSD 203 +17.4 pts 42.5% 48.9%
40 ByronOgle County · Byron CUSD 226 +17.2 pts 43.9% 47.1%
41 MetamoraWoodford County · County of Woodford School +17.2 pts 43.1% 47.8%
42 WashingtonTazewell County · Washington CHSD 308 +16.4 pts 44.5% 44.9%
43 WilmingtonWill County · Wilmington CUSD 209U +16.3 pts 38.8% 50.3%
44 Map of Mascoutah MascoutahSt. Clair County · Mascoutah CUD 19 +16.1 pts 41.4% 47.5%
45 Map of Palos PalosCook County · Cons HSD 230 +15.1 pts 39.5% 47.4%
46 PecatonicaWinnebago County · Pecatonica CUSD 321 +15.1 pts 37% 49.7%
47 Map of New Lenox New LenoxWill County · New Lenox SD 122 +14.3 pts 42.2% 43%
48 Map of Elm Grove Elm GroveTazewell County · Tremont CUSD 702 +14.0 pts 35.5% 49%
49 GenevaKane County · Geneva CUSD 304 +13.9 pts 41.9% 42.6%
50 Shiloh Valley Shiloh ValleySt. Clair County · Mascoutah CUD 19 +13.9 pts 37.7% 46.6%
51 ColumbiaColumbia CUSD 4 +13.8 pts 44.3% 39.9%
52 Downers GroveDuPage County · CHSD 99 +13.6 pts 41.3% 42.6%
53 RocktonWinnebago County · Hononegah CHD 207 +13.6 pts 38.5% 45.2%
54 Map of Towanda TowandaMcLean County · McLean County USD 5 +13.5 pts 40.7% 43%
55 Map of Grafton GraftonMcHenry County · Huntley Comm Sch Dist 158 +13.4 pts 39.9% 43.4%
56 WaterlooWaterloo CUSD 5 +13.2 pts 39.9% 43.1%
57 Sugar CreekClinton County · Wesclin CUSD 3 +13.0 pts 38.4% 44.1%
58 Schaumburg SchaumburgCook County · Schaumburg CCSD 54 +12.8 pts 39.7% 42.6%
59 BlackberryKane County · Geneva CUSD 304 +12.8 pts 37% 45.1%
60 EvanstonEvanston CCSD 65 +12.6 pts 40.6% 41.2%
61 Mahomet MahometChampaign County · Mahomet-Seymour CUSD 3 +12.5 pts 43% 38.5%
62 BracevilleGrundy County · Coal City CUSD 1 +12.1 pts 39% 41.8%
63 Tolono TolonoChampaign County · Tolono CUSD 7 +12.1 pts 37.7% 43.1%
64 HomerWill County · Homer CCSD 33C +11.9 pts 40.4% 40.1%
65 EdwardsvilleMadison County · Edwardsville CUSD 7 +11.9 pts 39.7% 40.7%
66 JarvisMadison County · Triad CUSD 2 +11.9 pts 41.4% 38.9%
67 Map of York YorkDuPage County · Elmhurst SD 205 +11.7 pts 39.1% 40.9%
68 SalineMadison County · Highland CUSD 5 +11.6 pts 39.4% 40.4%
69 Map of Kendall KendallKendall County · Yorkville CUSD 115 +11.4 pts 35.4% 44%
70 Map of Carlinville CarlinvilleMacoupin County · Carlinville CUSD 1 +11.4 pts 38.3% 41.1%
71 Map of Seneca SenecaMcHenry County · Marengo CHSD 154 +11.4 pts 37% 42.4%
72 Map of Wheeling WheelingCook County · Township HSD 214 +11.0 pts 39.3% 39.2%
73 ShieldsLake County · North Chicago SD 187 +11.0 pts 39.4% 39.3%
74 O'FallonSt. Clair County · O Fallon CCSD 90 +10.5 pts 37.3% 40.2%
75 Map of Batavia BataviaKane County · Batavia USD 101 +10.1 pts 38.6% 38.3%
76 PlatoKane County · Central CUSD 301 +9.7 pts 37.3% 38.8%
77 HelvetiaMadison County · Highland CUSD 5 +9.7 pts 36% 40%
78 Monticello MonticelloPiatt County · Monticello CUSD 25 +9.7 pts 28.1% 47.8%
79 ChillicothePeoria County · Il Valley Central USD 321 +9.6 pts 34.9% 41%
80 Map of Western WesternHenry County · Orion CUSD 223 +9.4 pts 38.7% 36.6%
81 Map of Freeburg FreeburgSt. Clair County · Freeburg CHSD 77 +9.2 pts 32.1% 42.9%
82 Map of Palatine PalatineCook County · Palatine CCSD 15 +9.1 pts 38.4% 36.4%
83 Pin OakMadison County · Edwardsville CUSD 7 +8.7 pts 40% 34%
84 FelixGrundy County · Coal City CUSD 1 +8.7 pts 42% 32%
85 Map of Montebello MontebelloHancock County · Hamilton CCSD 328 +8.7 pts 33.6% 40.3%
86 RileyMcHenry County · Riley CCSD 18 +8.7 pts 27% 47%
87 Mount ZionMacon County · Mt Zion CUSD 3 +8.6 pts 36.2% 37.6%
88 OrlandCook County · Orland SD 135 +8.5 pts 34.5% 39.2%
89 Map of Maine MaineCook County · Maine Township HSD 207 +8.4 pts 33.3% 40.1%
90 CartervilleCarterville CUSD 5 +8.3 pts 30.4% 42.7%
91 Map of West Point West PointStephenson County · Lena Winslow CUSD 202 +8.3 pts 30.6% 42.7%
92 Map of New Athens New AthensSt. Clair County · New Athens CUSD 60 +8.3 pts 26.2% 47.1%
93 Map of Lemont LemontCook County · Lemont-Bromberek CSD 113A +8.2 pts 35.7% 37.3%
94 Map of Elmwood ElmwoodPeoria County · Elmwood CUSD 322 +7.9 pts 36.3% 36.2%
95 RichmondMcHenry County · Nippersink SD 2 +7.8 pts 30.9% 41.4%
96 MillstadtSt. Clair County · Millstadt CCSD 160 +7.7 pts 35% 37%
97 Manhattan ManhattanWill County · Manhattan SD 114 +6.6 pts 32.4% 37.4%
98 Map of Nunda NundaMcHenry County · Crystal Lake CCSD 47 +6.5 pts 31.4% 38.2%
99 BristolKendall County · Yorkville CUSD 115 +6.4 pts 32.6% 36.8%
100 MarionOgle County · Meridian CUSD 223 +6.4 pts 25.7% 43.7%
101 StookeySt. Clair County · Harmony Emge SD 175 +6.2 pts 34.5% 34.5%
102 Chatham ChathamSangamon County · Ball Chatham CUSD 5 +6.2 pts 37% 32%
103 El PasoWoodford County · El Paso-Gridley CUSD 11 +6.2 pts 30.1% 38.9%
104 Normal NormalMcLean County · McLean County USD 5 +6.1 pts 32.1% 36.7%
105 BreeseClinton County · Central CHSD 71 +6.0 pts 33% 35.6%
106 Map of Wayne WayneDuPage County · SD U-46 +5.7 pts 33.7% 34.2%
107 ShelbyvilleShelby County · Shelbyville CUSD 4 +5.3 pts 30% 37.2%
108 Marshall MarshallClark County · Marshall CUSD 2C +5.0 pts 31.9% 34.7%
109 AlgonquinMcHenry County · CUSD 300 +4.9 pts 30.9% 35.5%
110 ReedWill County · Reed Custer CUSD 255U +4.9 pts 29.9% 36.5%
111 Map of Empire EmpireMcLean County · LeRoy CUSD 2 +4.8 pts 32.4% 33.7%
112 Winnebago WinnebagoWinnebago County · Winnebago CUSD 323 +4.7 pts 28% 37.9%
113 Makanda MakandaJackson County · Unity Point CCSD 140 +4.6 pts 21.5% 44.2%
114 Map of Williams WilliamsSangamon County · Williamsville CUSD 15 +4.6 pts 25.4% 40.4%
115 West GalenaJo Daviess County · Galena USD 120 +4.5 pts 39.7% 25.9%
116 Map of Ball BallSangamon County · Ball Chatham CUSD 5 +3.8 pts 30.5% 33.7%
117 HudsonMcLean County · McLean County USD 5 +3.7 pts 32% 32%
118 Map of West Lincoln West LincolnLogan County · Lincoln ESD 27 +3.6 pts 33% 30.8%
119 Map of Marengo MarengoMcHenry County · Marengo-Union E Cons D 165 +3.6 pts 34.4% 29.4%
120 BourbonDouglas County · Arthur CUSD 305 +3.5 pts 27.5% 36.1%
121 NokomisMontgomery County · Nokomis CUSD 22 +3.5 pts 31.8% 31.8%
122 RandolphMcLean County · Heyworth CUSD 4 +3.4 pts 28.3% 35%
123 GardnerSangamon County · Pleasant Plains CUSD 8 +3.1 pts 32.6% 30.3%
124 BloomingdaleDuPage County · CCSD 93 +3.0 pts 29.2% 33.4%
125 SandwichDeKalb County · Sandwich CUSD 430 +3.0 pts 30.2% 32.5%
126 DrummerFord County · Gibson City-Melvin-Sibley CUSD 5 +3.0 pts 29.1% 33.4%
127 OswegoKendall County · CUSD 308 +2.9 pts 28.1% 34.3%
128 Troy TroyWill County · Troy CCSD 30C +2.8 pts 28.4% 33.7%
129 Map of Dorr DorrMcHenry County · Woodstock CUSD 200 +2.5 pts 24.3% 37.2%
130 DunleithJo Daviess County · East Dubuque USD 119 +2.5 pts 24.7% 36.8%
131 SycamoreDeKalb County · Sycamore CUSD 427 +2.2 pts 26.5% 34.6%
132 RutlandKane County · CUSD 300 +1.9 pts 28.8% 31.5%
133 Sullivan SullivanMoultrie County · Sullivan CUSD 300 +1.7 pts 25.9% 34.1%
134 Map of Mackinaw MackinawTazewell County · Deer Creek-Mackinaw CUSD 701 +1.7 pts 25% 35%
135 NilesCook County · Niles Twp HSD 219 +1.6 pts 27.6% 32.1%
136 AmboyLee County · Amboy CUSD 272 +1.4 pts 28.3% 31.1%
137 BurtonMcHenry County · Nippersink SD 2 +1.2 pts 22% 37%
138 Map of Christy ChristyLawrence County · Red Hill CUSD 10 +1.2 pts 17% 42%
139 GranvillePutnam County · Putnam County CUSD 535 +1.2 pts 24.5% 34.5%
140 Map of Squaw Grove Squaw GroveDeKalb County · Hinckley Big Rock CUSD 429 +1.1 pts 27.3% 31.5%
141 LyonsCook County · Lyons Twp HSD 204 +1.0 pts 27.7% 31%
142 Map of Patton PattonFord County · Paxton-Buckley-Loda CUD 10 +0.9 pts 31.1% 27.3%
143 Map of Manteno MantenoKankakee County · Manteno CUSD 5 +0.8 pts 27.5% 30.7%
144 Map of Aux Sable Aux SableGrundy County · Minooka CCSD 201 +0.5 pts 26.2% 31.4%
145 Map of Morris MorrisGrundy County · Morris CHSD 101 +0.5 pts 26.6% 31%
146 Map of Limestone LimestoneKankakee County · Herscher CUSD 2 +0.2 pts 27% 30%
147 Mount Sterling Mount SterlingBrown County · Brown County CUSD 1 +0.1 pts 26.4% 30.4%
148 LexingtonMcLean County · Lexington CUSD 7 +0.1 pts 22.6% 34.1%
149 Lockport LockportWill County · Lockport Twp HSD 205 0.0 pts 26.1% 30.5%
150 Map of Fremont FremontLake County · Mundelein Cons HSD 120 0.0 pts 24.7% 31.8%
151 JerseyJersey County · Jersey CUSD 100 −0.1 pts 25.3% 31.1%
152 Map of East Lincoln East LincolnLogan County · Lincoln CHSD 404 −0.1 pts 24% 32.4%
153 Map of Paris ParisEdgar County · Paris-Union SD 95 −0.2 pts 22.6% 33.5%
154 BuffaloOgle County · Polo CUSD 222 −0.2 pts 23.2% 33%
155 Geneseo GeneseoHenry County · Geneseo CUSD 228 −0.3 pts 25.8% 30.3%
156 South OttawaLaSalle County · Ottawa ESD 141 −0.5 pts 18.9% 36.7%
157 Map of Elk Grove Elk GroveCook County · Comm Cons SD 59 −0.8 pts 25.9% 29.1%
158 Map of Channahon ChannahonWill County · Channahon SD 17 −0.8 pts 24% 31.1%
159 MelroseAdams County · Quincy SD 172 −0.8 pts 30% 25%
160 GreenwoodMcHenry County · Woodstock CUSD 200 −0.9 pts 21.5% 33.3%
161 Hampshire HampshireKane County · CUSD 300 −0.9 pts 26.6% 28.2%
162 RobinsonCrawford County · Robinson CUSD 2 −0.9 pts 21% 33.9%
163 Map of Fulton FultonWhiteside County · River Bend CUSD 2 −0.9 pts 26.5% 28.2%
164 Carmi CarmiWhite County · Carmi-White County CUSD 5 −1.0 pts 22.5% 32%
165 WadeJasper County · Jasper County CUD 1 −1.0 pts 26.7% 27.9%
166 MoundEffingham County · Altamont CUSD 10 −1.1 pts 24.8% 29.6%
167 PeruLaSalle County · Peru ESD 124 −1.3 pts 23.1% 30.8%
168 MontmorencyWhiteside County · Montmorency CCSD 145 −1.3 pts 32% 22%
169 Map of Antioch AntiochLake County · Antioch CCSD 34 −1.4 pts 24.9% 29%
170 Map of Salem SalemMarion County · Salem SD 111 −1.7 pts 22.8% 30.3%
171 Red Bud Red BudRed Bud CUSD 132 −1.7 pts 20.8% 32.3%
172 Map of Warren WarrenLake County · Woodland CCSD 50 −1.8 pts 24.3% 28.7%
173 WaucondaLake County · Wauconda CUSD 118 −1.8 pts 23.3% 29.8%
174 Map of Genoa GenoaDeKalb County · Genoa Kingston CUSD 424 −1.8 pts 21% 32%
175 CarlyleClinton County · Carlyle CUSD 1 −1.8 pts 20% 32.9%
176 Map of Central CentralBond County · Bond County CUSD 2 −1.9 pts 27.3% 25.4%
177 McLeansboroHamilton County · Hamilton Co CUSD 10 −1.9 pts 21% 31.8%
178 WashingtonWill County · Beecher CUSD 200U −2.0 pts 15.6% 37%
179 Map of Manlius ManliusLaSalle County · Marseilles ESD 150 −2.2 pts 24.9% 27.3%
180 CaseyClark County · Casey-Westfield CUSD 4C −2.2 pts 19.6% 32.6%
181 Map of Norwood Park Norwood ParkCook County · Norridge SD 80 −2.3 pts 18.9% 33.1%
182 Map of Mount Pleasant Mount PleasantWhiteside County · Morrison CUSD 6 −2.3 pts 21.7% 30.4%
183 Map of Dodds DoddsJefferson County · Bethel SD 82 −2.3 pts 27.4% 24.6%
184 Map of Fort Russell Fort RussellMadison County · Bethalto CUSD 8 −2.5 pts 23.4% 28.2%
185 North LitchfieldMontgomery County · Litchfield CUSD 12 −2.6 pts 17.7% 33.7%
186 Hillsboro HillsboroMontgomery County · Hillsboro CUSD 3 −2.7 pts 19.9% 31.4%
187 NewportLake County · Millburn CCSD 24 −2.7 pts 26.3% 24.8%
188 CarrolltonGreene County · Carrollton CUSD 1 −2.7 pts 29% 22.2%
189 ProphetstownWhiteside County · Prophetstown-Lyndon-Tampico CUSD3 −2.8 pts 21.9% 29.1%
190 Du PageWill County · Valley View CUSD 365U −2.9 pts 22.5% 28.3%
191 St. ClairSt. Clair County · Whiteside SD 115 −3.0 pts 21.9% 28.7%
192 Map of Lake Villa Lake VillaLake County · Lake Villa CCSD 41 −3.1 pts 25.5% 24.8%
193 Map of Herrin HerrinHerrin CUSD 4 −3.1 pts 22.2% 28.3%
194 QuincyAdams County · Quincy SD 172 −3.2 pts 23.2% 27%
195 ClintoniaDe Witt County · Clinton CUSD 15 −3.2 pts 20.1% 30.1%
196 Marion MarionMarion CUSD 2 −3.5 pts 20.3% 29.3%
197 Map of Olney OlneyRichland County · Richland County CUSD 1 −3.6 pts 22.3% 27.1%
198 PanaChristian County · Pana CUSD 8 −3.6 pts 21.4% 28.1%
199 DouglasEffingham County · Effingham CUSD 40 −3.7 pts 23.1% 26.2%
200 Indian GroveLivingston County · Prairie Central CUSD 8 −3.7 pts 27.6% 21.6%
201 PlainfieldWill County · Plainfield SD 202 −3.8 pts 20.6% 28.3%
202 NewellVermilion County · Bismarck Henning CUSD −3.8 pts 22.8% 26.1%
203 KingstonDeKalb County · Genoa Kingston CUSD 424 −3.8 pts 22% 27%
204 Map of Goode GoodeFranklin County · Sesser-Valier CUSD 196 −3.9 pts 22.9% 26%
205 Map of Harter HarterClay County · Flora CUSD 35 −4.0 pts 15.8% 32.8%
206 WinfieldDuPage County · CUSD 200 −4.1 pts 22.5% 25.9%
207 Macomb CityMcDonough County · Macomb CUSD 185 −4.1 pts 21% 27.4%
208 Map of Staunton StauntonMacoupin County · Staunton CUSD 6 −4.1 pts 22.3% 26.2%
209 Champaign CityChampaign County · Champaign CUSD 4 −4.4 pts 23% 24.8%
210 PinckneyvillePinckneyville SD 50 −4.4 pts 25.3% 22.5%
211 Map of Avon AvonLake County · Round Lake CUSD 116 −4.5 pts 20.8% 26.7%
212 Map of Tuscola TuscolaDouglas County · Tuscola CUSD 301 −4.7 pts 20% 27.3%
213 Nashville NashvilleWashington County · Nashville CCSD 49 −4.7 pts 22.8% 24.4%
214 Carthage CarthageHancock County · Carthage ESD 317 −4.7 pts 17% 30.2%
215 YellowheadKankakee County · Grant Park CUSD 6 −5.1 pts 18.6% 27.8%
216 Vandalia VandaliaFayette County · Vandalia CUSD 203 −5.2 pts 22.8% 23.4%
217 Map of Bloomington City Bloomington CityMcLean County · Bloomington SD 87 −5.3 pts 21.9% 24%
218 Map of Seward SewardKendall County · Minooka CCSD 201 −5.3 pts 23% 23%
219 ColomaWhiteside County · Rock Falls Twp HSD 301 −5.6 pts 19.3% 26.1%
220 Map of Knox KnoxKnox County · Knoxville CUSD 202 −5.6 pts 22.5% 23%
221 Chebanse ChebanseIroquois County · Central CUSD 4 −5.6 pts 22.5% 22.8%
222 Princeton PrincetonBureau County · Princeton ESD 115 −5.8 pts 19.4% 25.7%
223 Oregon-NashuaOgle County · Oregon CUSD 220 −5.8 pts 22% 23.1%
224 Map of Watson WatsonEffingham County · Effingham CUSD 40 −5.8 pts 18% 27%
225 AddisonDuPage County · Addison SD 4 −5.9 pts 20.5% 24.4%
226 JacksonvilleJacksonville SD 117 −5.9 pts 20.6% 24.2%
227 OttawaLaSalle County · Ottawa Twp HSD 140 −6.0 pts 17.8% 26.8%
228 Map of Na-Au-Say Na-Au-SayKendall County · Plainfield SD 202 −6.0 pts 19.3% 25.3%
229 BourbonnaisKankakee County · Bourbonnais SD 53 −6.1 pts 20.8% 23.6%
230 Map of Coal Valley Coal ValleyRock Island County · Moline-Coal Valley CUSD 40 −6.3 pts 17% 27%
231 WhitmoreMacon County · Argenta-Oreana CUSD 1 −6.3 pts 22% 22%
232 VirdenMacoupin County · North Mac CUSD 34 −6.3 pts 12% 32%
233 BellevilleBelleville Twp HSD 201 −6.4 pts 17.5% 26.4%
234 WethersfieldHenry County · Wethersfield CUSD 230 −6.4 pts 16.2% 27.6%
235 GrantLake County · Grant CHSD 124 −6.5 pts 20.4% 23.3%
236 Map of Dundee DundeeKane County · CUSD 300 −6.7 pts 20.2% 23%
237 HenryMarshall County · Henry-Senachwine CUSD 5 −6.7 pts 18.3% 24.9%
238 Map of Mount Vernon Mount VernonJefferson County · Mount Vernon SD 80 −6.8 pts 19.2% 23.7%
239 Map of Earl EarlLaSalle County · Earlville CUSD 9 −6.9 pts 22.7% 20.1%
240 McHenryMcHenry County · McHenry CCSD 15 −7.0 pts 19% 23.6%
241 HarlemWinnebago County · Harlem UD 122 −7.0 pts 18.6% 24%
242 LimestonePeoria County · Limestone CHSD 310 −7.0 pts 18% 24.6%
243 Map of Toulon ToulonStark County · Stark County CUSD 100 −7.0 pts 20.8% 21.8%
244 Map of Sterling SterlingWhiteside County · Sterling CUSD 5 −7.2 pts 19% 23.2%
245 Canton CantonFulton County · Canton Union SD 66 −7.2 pts 19.4% 22.7%
246 GaneerKankakee County · Momence CUSD 1 −7.5 pts 17.2% 24.5%
247 Map of Brookside BrooksideClinton County · Willow Grove SD 46 −7.7 pts 21.9% 19.3%
248 Map of Leyden LeydenCook County · Leyden CHSD 212 −7.8 pts 16.3% 24.7%
249 Benton BentonFranklin County · Benton CCSD 47 −8.0 pts 17.1% 23.5%
250 CapitalSangamon County · Springfield SD 186 −8.2 pts 17.4% 22.9%
251 DixonLee County · Dixon USD 170 −8.2 pts 17.1% 23%
252 Havana HavanaMason County · Havana CUSD 126 −8.2 pts 17.4% 22.8%
253 GroverWayne County · Fairfield Comm H S Dist 225 −8.3 pts 15.2% 24.8%
254 Du QuoinDu Quoin CUSD 300 −8.4 pts 18.5% 21.2%
255 Lebanon LebanonSt. Clair County · Lebanon CUSD 9 −8.4 pts 19% 20.8%
256 Map of Pekin PekinTazewell County · Pekin PSD 108 −8.5 pts 19.5% 20.1%
257 MetropolisMassac UD 1 −8.5 pts 14.8% 24.9%
258 CharlestonColes County · Charleston CUSD 1 −8.6 pts 17.4% 22%
259 GodfreyAlton CUSD 11 −8.8 pts 17.9% 21.1%
260 MercerMercer County · Mercer County School District 404 −8.8 pts 17% 22.1%
261 Map of South Jacksonville South JacksonvilleJacksonville SD 117 −8.8 pts 17% 22%
262 Map of Pawnee PawneeSangamon County · Pawnee CUSD 11 −8.8 pts 12% 27%
263 Map of Collinsville CollinsvilleMadison County · Collinsville CUSD 10 −9.0 pts 17.7% 20.9%
264 CarbondaleJackson County · Carbondale ESD 95 −9.0 pts 15.6% 23.1%
265 CincinnatiTazewell County · Pekin PSD 108 −9.0 pts 15% 23.5%
266 HanoverCook County · SD U-46 −9.1 pts 18% 20.5%
267 Taylorville TaylorvilleChristian County · Taylorville CUSD 3 −9.1 pts 12.7% 25.6%
268 MonmouthWarren County · Monmouth-Roseville CUSD 238 −9.1 pts 16% 22.4%
269 Map of Mount Olive Mount OliveMacoupin County · Mount Olive CUSD 5 −9.1 pts 18% 20.5%
270 ChesterChester CUSD 139 −9.2 pts 10.5% 27.8%
271 Galesburg City Galesburg CityKnox County · Galesburg CUSD 205 −9.3 pts 14.9% 23.1%
272 PontiacLivingston County · Pontiac CCSD 429 −9.3 pts 17.3% 20.8%
273 WorthCook County · CHSD 218 −9.6 pts 15.9% 21.6%
274 Anna AnnaAnna Jonesboro CHSD 81 −10.1 pts 10.3% 26.1%
275 Map of Chicago ChicagoChicago Public Schools Dist 299 −10.2 pts 16.4% 19.8%
276 Map of Lawrence LawrenceLawrence County · Lawrence County CUD 20 −10.2 pts 12.1% 24.1%
277 GillespieMacoupin County · Gillespie CUSD 7 −10.2 pts 15% 21.2%
278 MattoonColes County · Mattoon CUSD 2 −10.4 pts 13.7% 22.2%
279 Map of Poplar Grove Poplar GroveBoone County · North Boone CUSD 200 −10.5 pts 13% 22.6%
280 ElginKane County · SD U-46 −10.6 pts 16.9% 18.5%
281 FlaggOgle County · Rochelle CCSD 231 −10.6 pts 16.3% 19%
282 Centralia CentraliaMarion County · Centralia HSD 200 −10.8 pts 15.7% 19.2%
283 EriennaGrundy County · Morris SD 54 −10.8 pts 19% 16%
284 NeogaCumberland County · Neoga CUSD 3 −10.9 pts 14.7% 20.1%
285 Wood River Wood RiverMadison County · Bethalto CUSD 8 −11.0 pts 14.7% 19.9%
286 Map of Caseyville CaseyvilleSt. Clair County · Collinsville CUSD 10 −11.1 pts 14.2% 20.2%
287 DwightLivingston County · Dwight Common SD 232 −11.2 pts 17.7% 16.4%
288 CaledoniaBoone County · Belvidere CUSD 100 −11.3 pts 12% 22%
289 MendotaLaSalle County · Mendota CCSD 289 −11.3 pts 13.9% 20%
290 South LitchfieldMontgomery County · Litchfield CUSD 12 −11.3 pts 12% 22%
291 CedarKnox County · Abingdon-Avon CUSD 276 −11.3 pts 17% 17%
292 De SotoJackson County · DeSoto Cons SD 86 −11.3 pts 17% 17%
293 CamargoDouglas County · Villa Grove CUSD 302 −11.4 pts 15.6% 18.1%
294 Map of Hall HallBureau County · Spring Valley CCSD 99 −11.6 pts 12.3% 21.1%
295 Map of Mount Carmel Mount CarmelWabash CUSD 348 −11.6 pts 14.6% 18.8%
296 Map of Fondulac FondulacTazewell County · East Peoria SD 86 −11.7 pts 14.9% 18.3%
297 Map of Rochester RochesterSangamon County · Rochester CUSD 3A −11.9 pts 13.1% 19.7%
298 Map of Bremen BremenCook County · Bremen CHSD 228 −12.1 pts 13.7% 18.7%
299 GalvaHenry County · Galva CUSD 224 −12.1 pts 19% 13.4%
300 Map of Stickney StickneyCook County · Burbank SD 111 −12.2 pts 13.8% 18.4%
301 Map of Belvidere BelvidereBoone County · Belvidere CUSD 100 −12.2 pts 13% 19.3%
302 Little RockKendall County · Plano CUSD 88 −12.3 pts 14.9% 17.2%
303 Map of Six Mile Six MileFranklin County · Zeigler-Royalton CUSD 188 −12.3 pts 10.4% 21.6%
304 Oblong OblongCrawford County · Oblong CUSD 4 −12.3 pts 10.2% 21.9%
305 Map of Rich RichCook County · Homewood Flossmoor CHSD 233 −12.5 pts 13.1% 18.5%
306 Map of South Moline South MolineRock Island County · Moline-Coal Valley CUSD 40 −12.7 pts 12.4% 18.8%
307 HamptonRock Island County · Silvis SD 34 −12.8 pts 11.6% 19.4%
308 Map of Hickory Point Hickory PointMacon County · Decatur SD 61 −13.0 pts 12.7% 17.9%
309 PittsfieldPike County · Pikeland CUSD 10 −13.0 pts 10.8% 19.7%
310 Map of Bunker Hill Bunker HillMacoupin County · Bunker Hill CUSD 8 −13.1 pts 12% 18.4%
311 BerwynCook County · J S Morton HSD 201 −13.3 pts 12.1% 18%
312 DeKalbDeKalb County · DeKalb CUSD 428 −13.3 pts 12.2% 17.8%
313 LaSalleLaSalle County · La Salle-Peru Twp HSD 120 −13.3 pts 10.1% 19.9%
314 ArcolaDouglas County · Arcola CUSD 306 −13.4 pts 14.9% 14.9%
315 SavannaCarroll County · West Carroll CUSD 314 −13.6 pts 13.1% 16.3%
316 Map of Proviso ProvisoCook County · Proviso Twp HSD 209 −13.7 pts 12.3% 16.9%
317 BlackhawkRock Island County · Rock Island SD 41 −13.8 pts 12% 17%
318 SomersetJackson County · Murphysboro CUSD 186 −13.9 pts 14.4% 14.4%
319 Map of Cortland CortlandDeKalb County · DeKalb CUSD 428 −14.0 pts 14.3% 14.3%
320 Map of Tyrone TyroneFranklin County · Christopher USD 99 −14.0 pts 9.3% 19.2%
321 GrovelandTazewell County · Creve Coeur SD 76 −14.2 pts 10.9% 17.3%
322 Map of Shiloh ShilohJefferson County · Mount Vernon SD 80 −14.2 pts 12.4% 15.8%
323 BruceLaSalle County · Streator ESD 44 −14.4 pts 10.2% 17.6%
324 Map of Harrisburg HarrisburgSaline County · Harrisburg CUSD 3 −14.6 pts 4.1% 23.2%
325 Sugar LoafSt. Clair County · Comm Unit School District No 196 −14.7 pts 7.8% 19.4%
326 Granite CityMadison County · Granite City CUSD 9 −14.8 pts 14.5% 12.5%
327 BentonLake County · Beach Park CCSD 3 −14.8 pts 12.9% 14%
328 Johnston CityJohnston City CUSD 1 −14.9 pts 12.3% 14.6%
329 RichwoodsPeoria County · Peoria Heights CUSD 325 −15.0 pts 9.4% 17.2%
330 GrantVermilion County · Hoopeston Area CUSD 11 −15.0 pts 11.4% 15.1%
331 Lewistown LewistownFulton County · Lewistown CUSD 97 −15.2 pts 12% 14.2%
332 Map of Cunningham CunninghamChampaign County · Urbana SD 116 −15.3 pts 12% 14.1%
333 Peoria CityPeoria County · Peoria SD 150 −15.4 pts 11.2% 14.6%
334 JolietWill County · Joliet PSD 86 −15.4 pts 10.3% 15.4%
335 Map of Oakwood OakwoodVermilion County · Oakwood CUSD 76 −15.4 pts 11.5% 14.2%
336 FreeportStephenson County · Freeport SD 145 −15.6 pts 11.5% 13.9%
337 South Rock IslandRock Island County · Rock Island SD 41 −15.6 pts 11.6% 13.8%
338 Map of Clear Lake Clear LakeSangamon County · Riverton CUSD 14 −15.6 pts 11% 14.5%
339 SpartaSparta CUSD 140 −15.6 pts 13.4% 12.1%
340 Kewanee KewaneeHenry County · Kewanee CUSD 229 −15.7 pts 7.2% 18%
341 East EldoradoSaline County · Eldorado CUSD 4 −15.7 pts 9.9% 15.4%
342 Map of Sugar Grove Sugar GroveKane County · Kaneland CUSD 302 −16.3 pts 11.1% 12.9%
343 Map of Rockford RockfordWinnebago County · Rockford SD 205 −16.7 pts 9.2% 13.9%
344 Aurora AuroraKane County · Aurora East USD 131 −16.8 pts 9% 14%
345 MoneeWill County · Crete Monee CUSD 201U −16.8 pts 8.9% 14%
346 FrankfortFranklin County · Frankfort CUSD 168 −16.9 pts 8.3% 14.4%
347 Indian CreekWhite County · Norris City-Omaha-Enfield CUSD 3 −17.2 pts 9.1% 13.1%
348 Map of Moline MolineRock Island County · Moline-Coal Valley CUSD 40 −17.3 pts 8.8% 13.2%
349 ChemungMcHenry County · Harvard CUSD 50 −17.4 pts 7.3% 14.5%
350 BloomCook County · Bloom Twp HSD 206 −17.8 pts 7.8% 13.2%
351 GeorgetownVermilion County · Westville CUSD 2 −18.0 pts 8.6% 12.1%
352 Map of Alton AltonMadison County · Alton CUSD 11 −18.2 pts 9.6% 10.6%
353 Map of Auburn AuburnSangamon County · Auburn CUSD 10 −18.3 pts 6.4% 13.7%
354 DanvilleVermilion County · Danville CCSD 118 −18.4 pts 7.6% 12.2%
355 Map of Spring Bay Spring BayWoodford County · Riverview CCSD 2 −18.6 pts 7.5% 12%
356 Zion ZionLake County · Zion-Benton Twp HSD 126 −19.0 pts 7.2% 11.5%
357 Kankakee KankakeeKankakee County · Kankakee SD 111 −19.0 pts 6.9% 11.7%
358 ColonaHenry County · Colona SD 190 −19.3 pts 4% 14%
359 Peotone PeotoneWill County · Peotone CUSD 207U −19.3 pts 7% 10.9%
360 Map of Thornton ThorntonCook County · Thornton Twp HSD 205 −19.5 pts 6.8% 10.8%
361 Carrier MillsSaline County · Carrier Mills-Stonefort CUSD 2 −19.7 pts 6.9% 10.3%
362 Map of Crete CreteWill County · Crete Monee CUSD 201U −19.8 pts 5.6% 11.5%
363 Map of Cherry Valley Cherry ValleyWinnebago County · Rockford SD 205 −19.8 pts 5.8% 11.2%
364 WaukeganLake County · Waukegan CUSD 60 −20.0 pts 6.7% 10%
365 ChouteauMadison County · Roxana CUSD 1 −20.3 pts 9.3% 6.8%
366 Map of Calumet CalumetCook County · Cook County SD 130 −20.5 pts 7.8% 7.8%
367 Cicero CiceroCicero SD 99 −21.0 pts 5.3% 9.2%
368 Map of Woodside WoodsideSangamon County · Springfield SD 186 −21.0 pts 6.7% 8%
369 RantoulChampaign County · Rantoul City SD 137 −21.2 pts 5% 9.2%
370 CatlinVermilion County · Salt Fork CUSD 512 −21.8 pts 4.5% 8.4%
371 NameokiMadison County · Madison CUSD 12 −22.2 pts 5.6% 6.5%
372 DecaturMacon County · Decatur SD 61 −22.7 pts 3.8% 7.3%
373 CanteenSt. Clair County · East St Louis SD 189 −23.3 pts 2.5% 7.5%
374 Map of Dunham DunhamMcHenry County · Harvard CUSD 50 −23.3 pts 2.5% 7.5%
375 Rock Island Rock IslandRock Island County · Rock Island SD 41 −23.5 pts 4% 5.5%
376 Long CreekMacon County · Decatur SD 61 −24.5 pts 2.5% 5%
377 BeardstownCass County · Beardstown CUSD 15 −24.7 pts 2.8% 4.4%
378 Ludlow LudlowChampaign County · Rantoul City SD 137 −25.4 pts 2.9% 2.9%
379 Map of Centreville CentrevilleSt. Clair County · Cahokia CUSD 187 −25.5 pts 3.6% 1.9%
380 West PeoriaPeoria SD 150 −25.5 pts 0.6% 5.1%
381 East St. LouisSt. Clair County · East St Louis SD 189 −25.6 pts 1.8% 3.6%
382 BushnellMcDonough County · Bushnell Prairie City CUSD 170 −26.1 pts -0.7% 5%
383 Map of South Wheatland South WheatlandMacon County · Decatur SD 61 −26.3 pts 2% 2%
384 Murphysboro MurphysboroJackson County · Murphysboro CUSD 186 −27.2 pts 0.6% 1.6%

How this ranking works

For every public school in a town we take its latest math and reading proficiency and subtract the Illinois average for the same test. The town’s score is the average of those gaps, weighted by each school’s enrollment, so a big high school counts more than a small annex. Private schools aren’t included.

Each state writes its own tests, so these scores compare towns within Illinois only. We don’t rank a town unless at least 150 students in its schools were tested. Test data: EDFacts via Urban Institute Education Data Portal (SY2020-21).

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