Clarendon Hills, #1 on this list · Photo: David Wilson · CC BY 2.0
Illinois rankings · 2026
Best small towns in Illinois
Clarendon Hills ranks first of Illinois’ 410 graded small towns (2,500–9,999 residents), with an A+: health (A+) and schools (A+) are its strongest grades; cost of living (C) is its lowest. 137 of the 410 (33%) grade A− or better nationally, against 25% of U.S. towns.
The overall grade, sorted: cost of living, safety, schools, health, jobs & income, walkability and hazard risk, from Census, FBI, state, CDC, EPA and FEMA data. How grades work
Where they are: Three of the top 10 are in Lake County.
All 410 small towns
Overall score, highest first. The score (0–100) blends the seven livability grades and sets the order; the letter places that score among every U.S. town of 2,500+, and A+ is the top 5%, so neighbors on the list often share a letter. Each town links to its page, where the grade sheet shows every subject. The rank is the town’s place among all 767 Illinois towns.
599Dodds TownshipJefferson County · 2,682 people44.7bottom 29.5%CStrongest: cost of living A, jobs & income C+·lowest: walkability C−
602Mission TownshipLaSalle County · 3,738 people44.4bottom 28.7%CStrongest: health B, jobs & income B−·lowest: walkability C−
605MilanRock Island County · 5,028 people44.1bottom 28.1%CStrongest: cost of living A−, walkability A−·lowest: schools D
607RochelleOgle County · 9,498 people44.1bottom 28.0%CStrongest: cost of living B+, walkability B−·lowest: schools C−
609Springfield TownshipSangamon County · 5,485 people44.0bottom 27.8%CStrongest: cost of living A, walkability B+·lowest: schools D−
610Goode TownshipFranklin County · 2,606 people43.8bottom 27.3%CStrongest: cost of living A, schools B−·lowest: jobs & income D
614PittsfieldPike County · 4,041 people43.4bottom 26.5%CStrongest: cost of living A−, walkability B−·lowest: jobs & income D
615Stone ParkCook County · 4,477 people43.4bottom 26.4%CStrongest: safety A, walkability A−·lowest: hazard risk D
616EldoradoSaline County · 3,579 people43.4bottom 26.3%CStrongest: cost of living A, walkability B+·lowest: health D
617BushnellMcDonough County · 2,600 people43.4bottom 26.3%CStrongest: cost of living A+, walkability B+·lowest: schools D
621Caledonia TownshipBoone County · 7,246 people43.1bottom 25.7%CStrongest: health A−, hazard risk B+·lowest: walkability D
622Spring Garden TownshipJefferson County · 2,522 people43.1bottom 25.6%CStrongest: cost of living A, schools C·lowest: walkability D
625BeardstownCass County · 5,691 people42.7bottom 24.8%C−Strongest: cost of living A, walkability B+·lowest: hazard risk D
627Chemung TownshipMcHenry County · 9,102 people42.6bottom 24.6%C−Strongest: walkability A, hazard risk A·lowest: schools D
628Whitmore TownshipMacon County · 4,127 people42.4bottom 24.1%C−Strongest: hazard risk B, cost of living B·lowest: walkability C−
629HarrisburgSaline County · 7,922 people42.4bottom 24.0%C−Strongest: safety A−, walkability B+·lowest: jobs & income D−
631Drummer TownshipFord County · 3,914 people42.3bottom 23.7%C−Strongest: schools A−, hazard risk B·lowest: jobs & income D
634FairfieldWayne County · 4,794 people41.9bottom 23.1%C−Strongest: cost of living A, walkability A−·lowest: health C−
635Tyrone TownshipFranklin County · 4,582 people41.8bottom 22.9%C−Strongest: cost of living A, schools C+·lowest: jobs & income D
637Canteen TownshipSt. Clair County · 7,714 people41.8bottom 22.8%C−Strongest: cost of living A, walkability A−·lowest: health D
641SavannaCarroll County · 2,699 people41.6bottom 22.4%C−Strongest: walkability A−, cost of living B+·lowest: hazard risk D
642Yellowhead TownshipKankakee County · 2,549 people41.5bottom 22.3%C−Strongest: walkability B, jobs & income B−·lowest: hazard risk C−
644Gibson CityFord County · 3,371 people41.5bottom 22.2%C−Strongest: schools A−, hazard risk B·lowest: jobs & income D
645CaseyvilleSt. Clair County · 4,402 people41.3bottom 21.8%C−Strongest: cost of living B+, walkability B·lowest: hazard risk D
648South Ottawa TownshipLaSalle County · 8,299 people41.0bottom 21.2%C−Strongest: cost of living B−, jobs & income C+·lowest: hazard risk C−
649StegerWill County · 9,352 people40.9bottom 20.8%C−Strongest: walkability A, hazard risk B+·lowest: schools D
651HavanaMason County · 2,799 people40.5bottom 20.1%C−Strongest: walkability A−, cost of living A−·lowest: jobs & income D
653PosenCook County · 5,405 people40.4bottom 19.8%C−Strongest: walkability A−, health B−·lowest: hazard risk D
655HoopestonVermilion County · 4,676 people40.4bottom 19.7%C−Strongest: walkability A, cost of living A−·lowest: jobs & income D
657Brookside TownshipClinton County · 4,522 people40.4bottom 19.7%C−Strongest: cost of living A, walkability B·lowest: jobs & income D−
659Rock FallsWhiteside County · 8,521 people40.1bottom 19.2%C−Strongest: walkability A−, cost of living A−·lowest: safety D
660ChristopherFranklin County · 2,607 people40.0bottom 19.1%C−Strongest: cost of living A, walkability C+·lowest: jobs & income D
661Savanna TownshipCarroll County · 3,324 people39.9bottom 18.9%C−Strongest: walkability B+, cost of living B+·lowest: hazard risk D
665Ludlow TownshipChampaign County · 4,076 people39.5bottom 18.2%C−Strongest: hazard risk B, jobs & income B·lowest: schools C−
669Carmi TownshipWhite County · 6,003 people39.3bottom 17.8%C−Strongest: cost of living B, schools B−·lowest: health C−
673Georgetown TownshipVermilion County · 7,100 people38.9bottom 16.9%C−Strongest: cost of living A−, hazard risk B+·lowest: schools D
677AnnaUnion County · 4,096 people38.4bottom 15.9%C−Strongest: walkability A−, cost of living B+·lowest: health D
678Shiloh TownshipJefferson County · 6,449 people38.3bottom 15.8%C−Strongest: cost of living B−, health C+·lowest: walkability C
679Oakwood TownshipVermilion County · 3,048 people38.3bottom 15.7%C−Strongest: cost of living B, hazard risk B−·lowest: walkability C−
680GlenwoodCook County · 8,416 people38.2bottom 15.5%C−Strongest: walkability A, health B−·lowest: schools C−
683LawrencevilleLawrence County · 4,356 people37.8bottom 14.9%DStrongest: walkability A, cost of living A·lowest: jobs & income D−
684Cedar TownshipKnox County · 2,942 people37.7bottom 14.8%DStrongest: cost of living B+, walkability B−·lowest: schools C−
685Candlewick Lakeunincorporated, Boone County · 5,448 people37.7bottom 14.8%DStrongest: hazard risk B+, jobs & income B·lowest: walkability C−
686Lafayette TownshipColes County · 4,678 people37.5bottom 14.4%DStrongest: jobs & income B, cost of living B−·lowest: hazard risk C−
687Lawrence TownshipLawrence County · 6,190 people37.5bottom 14.4%DStrongest: cost of living A−, walkability A−·lowest: jobs & income D
688South Chicago HeightsCook County · 3,884 people37.5bottom 14.4%DStrongest: hazard risk A+, walkability A·lowest: safety C−
689BentonFranklin County · 6,558 people37.2bottom 13.9%DStrongest: cost of living B+, walkability B−·lowest: health C−
690Benton TownshipFranklin County · 8,535 people37.2bottom 13.8%DStrongest: cost of living B+, walkability B·lowest: health C−
691LynwoodCook County · 9,297 people37.0bottom 13.5%DStrongest: walkability B, jobs & income B·lowest: hazard risk D
692CarmiWhite County · 4,623 people36.8bottom 13.3%DStrongest: cost of living B−, schools B−·lowest: health D
694Johnston CityWilliamson County · 3,313 people36.7bottom 13.1%DStrongest: cost of living B+, walkability B−·lowest: jobs & income D
696SilvisRock Island County · 7,979 people36.6bottom 12.8%DStrongest: hazard risk A−, cost of living B·lowest: safety D
699Bonus TownshipBoone County · 4,390 people36.2bottom 12.2%DStrongest: hazard risk B, jobs & income B·lowest: walkability D
700BurnhamCook County · 3,919 people36.2bottom 12.1%DStrongest: walkability A+, cost of living B−·lowest: schools C−
701SpartaRandolph County · 4,022 people36.0bottom 12.0%DStrongest: cost of living B+, walkability B+·lowest: jobs & income D
703WatsekaIroquois County · 4,510 people36.0bottom 11.8%DStrongest: walkability B+, cost of living B·lowest: health D−
705University ParkWill County · 7,019 people35.9bottom 11.7%DStrongest: walkability A−, hazard risk B−·lowest: health C
706Olympia FieldsCook County · 4,593 people35.7bottom 11.5%DStrongest: walkability A+, health B+·lowest: cost of living D−
710Harrisburg TownshipSaline County · 9,656 people35.5bottom 11.3%DStrongest: cost of living B+, walkability B·lowest: jobs & income D
711Ingalls Parkunincorporated, Will County · 3,015 people35.5bottom 11.2%DStrongest: walkability A, cost of living C+·lowest: schools C−
717Murphysboro TownshipJackson County · 9,333 people34.5bottom 10.0%DStrongest: walkability B−, cost of living B−·lowest: hazard risk D
718Six Mile TownshipFranklin County · 3,450 people34.4bottom 10.0%DStrongest: cost of living A, jobs & income C−·lowest: schools D
723WestvilleVermilion County · 3,029 people33.8bottom 9.2%DStrongest: cost of living A−, hazard risk B+·lowest: schools D
726Ganeer TownshipKankakee County · 3,161 people33.4bottom 8.6%DStrongest: walkability B−, cost of living C+·lowest: hazard risk D
727Middleport TownshipIroquois County · 3,603 people33.4bottom 8.6%DStrongest: cost of living B+, walkability B·lowest: jobs & income D−
728DixmoorCook County · 2,951 people33.3bottom 8.5%DStrongest: walkability A+, cost of living B−·lowest: schools D
729Denning TownshipFranklin County · 4,628 people33.2bottom 8.4%DStrongest: cost of living A−, walkability B·lowest: schools D
730West FrankfortFranklin County · 7,105 people33.2bottom 8.4%DStrongest: cost of living A−, walkability A−·lowest: health D
735Sauk VillageCook County · 9,624 people32.8bottom 7.8%DStrongest: walkability A, cost of living B−·lowest: health D
738RobbinsCook County · 4,588 people32.3bottom 7.2%DStrongest: walkability A, cost of living B−·lowest: health D
741Cherry ValleyWinnebago County · 2,887 people31.9bottom 6.8%DStrongest: health B+, hazard risk B·lowest: schools D
744Frankfort TownshipFranklin County · 6,265 people31.2bottom 6.0%DStrongest: cost of living A−, walkability B−·lowest: schools D
745Aroma TownshipKankakee County · 4,827 people31.0bottom 5.9%DStrongest: jobs & income B−, cost of living B−·lowest: hazard risk D−
747York TownshipCarroll County · 2,757 people30.7bottom 5.6%DStrongest: cost of living B+, hazard risk C+·lowest: walkability D−
748Ridgewoodunincorporated, Will County · 2,795 people30.5bottom 5.4%DStrongest: hazard risk B−, walkability B−·lowest: health D
749MurphysboroJackson County · 6,977 people30.4bottom 5.3%DStrongest: walkability B+, cost of living B·lowest: safety D
750Venice TownshipMadison County · 4,523 people30.4bottom 5.3%DStrongest: cost of living B+, walkability B−·lowest: schools D−
752Foster TownshipMadison County · 3,871 people30.3bottom 5.2%DStrongest: jobs & income B, hazard risk C+·lowest: walkability D
753Calumet ParkCook County · 6,772 people30.0bottom 4.8%D−Strongest: walkability A+, cost of living C+·lowest: safety D
755Flora TownshipBoone County · 3,011 people29.9bottom 4.7%D−Strongest: hazard risk B−, health B−·lowest: schools C−
756MadisonMadison County · 3,063 people29.6bottom 4.4%D−Strongest: cost of living A−, walkability C·lowest: schools D−
759Pontoon BeachMadison County · 5,887 people28.5bottom 3.7%D−Strongest: cost of living B−, walkability B−·lowest: schools D−
760TiltonVermilion County · 2,537 people28.4bottom 3.6%D−Strongest: cost of living A−, hazard risk B·lowest: schools D−
762Owen TownshipWinnebago County · 3,601 people27.7bottom 3.1%D−Strongest: jobs & income A, cost of living C·lowest: walkability D−
764Somerset TownshipJackson County · 3,940 people26.9bottom 2.6%D−Strongest: jobs & income C+, schools C·lowest: hazard risk D
Method
How this list is made
Each town’s overall grade blends seven livability grades: cost of living (weight 18), safety (18), schools (16), health (14), jobs & income (12), walkability (8) and hazard risk (4). A town needs 2,500+ residents and three of the first four. Letters are national, so an A here means the same as an A in any state; the list is the same towns in the same order, ranked within Illinois. Towns without their own FBI figures are graded on the rest and their page says why.
Data years: crime 2023–2025 (FBI), Census ACS 2020–2024, CDC PLACES 2025, state school tests. How grades work
Quick answers
Questions people ask
What is the best small town in Illinois?
Among 410 graded towns of 2,500 to 9,999 residents, Clarendon Hills (DuPage County) ranks first, with an A+; health (A+) and schools (A+) are its strongest grades; cost of living (C) is its lowest. Hawthorn Woods and Teutopolis Township follow.
How are these towns ranked?
By the overall grade, which blends seven livability grades from public data. The letter is national; the rank is within Illinois. The full method is on How grades work.
Why isn’t my town on this list?
The list covers towns of 2,500 to 9,999 residents with an overall grade (410 in Illinois). 517 smaller places have subject grades only; 1 town of 2,500+ lack enough data for a grade; Larger towns are on the best places to live list. Every town is on the Illinois page.
Go deeper
More Illinois lists
Every list ranks the same 2,500+ towns, so a town’s rank means the same thing on each.