Guest, Sign inJoin
Zwemer Hall, Northwestern CollegeOrange City, #1 on this list · Zwemer Hall, Northwestern College · Photo: Tlandegent at en.wikipedia · Public domain
Iowa rankings · 2026

Best small towns in Iowa

Orange City ranks first of Iowa’s 99 graded small towns (2,500–9,999 residents), with an A+: walkability (A) and schools (A) are its strongest grades; jobs & income (B) is its lowest. 42 of the 99 (42%) 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

#1

Orange City

Sioux County · 6,468 people
A+

Strongest: walkability A, schools A·lowest: jobs & income B

A−Cost–SafetyASchoolsAHealthBJobsAWalkA−Hazards
#3

Mitchellville

Polk County · 2,671 people
A+

Strongest: cost of living A, safety A·lowest: walkability B

ACostASafetyB+SchoolsBHealthA−JobsBWalkB+Hazards
#4

Grundy Center

Grundy County · 2,814 people
A+

Strongest: schools A+, safety A+·lowest: health B

B+CostA+SafetyA+SchoolsBHealthBJobsBWalkA−Hazards

Where they are: Two of the top 10 are in Polk County.

All 99 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 140 Iowa towns.

99 towns ranked. Not here? See why a town may be missing.

#TownScoreGradeWhat drives it
1Orange CitySioux County · 6,468 people79.1top 0.3%A+Strongest: walkability A, schools A·lowest: jobs & income B
3MitchellvillePolk County · 2,671 people77.3top 0.5%A+Strongest: cost of living A, safety A·lowest: walkability B
4Grundy CenterGrundy County · 2,814 people76.9top 0.7%A+Strongest: schools A+, safety A+·lowest: health B
5Center PointLinn County · 2,572 people76.7top 0.7%A+Strongest: jobs & income A, schools A−·lowest: walkability B−
6Mount VernonLinn County · 4,514 people75.3top 1.2%A+Strongest: health A, schools A−·lowest: cost of living B
8Polk CityPolk County · 6,630 people74.5top 1.7%A+Strongest: schools A+, safety A·lowest: walkability C
9DecorahWinneshiek County · 7,417 people74.1top 2.0%A+Strongest: schools A+, walkability A·lowest: hazard risk C+
10EldridgeScott County · 6,954 people74.1top 2.0%A+Strongest: jobs & income A+, health A·lowest: walkability C+
11SolonJohnson County · 3,345 people73.8top 2.3%A+Strongest: jobs & income A+, schools A+·lowest: hazard risk C−
12HudsonBlack Hawk County · 3,028 people72.8top 3.1%A+Strongest: schools A, hazard risk A−·lowest: walkability C+
13WaukonAllamakee County · 3,849 people72.8top 3.2%A+Strongest: safety A, cost of living A·lowest: health C+
14Forest CityWinnebago County · 4,143 people72.5top 3.5%A+Strongest: cost of living A, walkability A·lowest: hazard risk C+
16OsageMitchell County · 3,552 people71.9top 4.1%A+Strongest: cost of living A+, safety A−·lowest: hazard risk C+
17Rock ValleySioux County · 4,188 people71.5top 4.6%A+Strongest: safety A+, walkability A−·lowest: hazard risk C
18Sergeant BluffWoodbury County · 5,324 people71.2top 4.9%A+Strongest: schools A, jobs & income A−·lowest: cost of living C+
19AdelDallas County · 7,098 people70.8top 5.6%AStrongest: schools A, health A−·lowest: hazard risk C
20Rock RapidsLyon County · 2,733 people70.8top 5.6%AStrongest: schools A, cost of living A·lowest: hazard risk C
21DyersvilleDubuque County · 4,574 people70.6top 5.9%AStrongest: safety A, schools A·lowest: hazard risk C−
22CrescoHoward County · 3,925 people70.4top 6.1%AStrongest: cost of living A, hazard risk A·lowest: jobs & income C+
24CarlisleWarren County · 4,532 people70.3top 6.3%AStrongest: jobs & income A−, hazard risk A−·lowest: walkability B
26HuxleyStory County · 4,715 people69.5top 7.6%AStrongest: jobs & income A, health A·lowest: cost of living C−
27MonticelloJones County · 4,104 people69.4top 7.7%AStrongest: cost of living A, safety A−·lowest: hazard risk C
28Story CityStory County · 3,382 people68.5top 9.2%AStrongest: schools A+, health A−·lowest: walkability C+
29Sioux CenterSioux County · 8,864 people68.1top 10.0%AStrongest: safety A+, walkability A·lowest: schools C−
32EmmetsburgPalo Alto County · 3,684 people66.9top 12.6%AStrongest: cost of living A+, walkability A·lowest: jobs & income C
33WintersetMadison County · 5,520 people66.3top 13.8%AStrongest: hazard risk A, walkability A−·lowest: jobs & income B−
34GarnerHancock County · 3,029 people65.7top 15.2%A−Strongest: schools A, cost of living A−·lowest: health C+
35West BranchCedar County · 2,956 people65.7top 15.2%A−Strongest: jobs & income A, safety A−·lowest: hazard risk C
37WilliamsburgIowa County · 3,408 people65.2top 16.4%A−Strongest: schools A, cost of living B+·lowest: walkability C+
38TiptonCedar County · 3,060 people65.1top 16.6%A−Strongest: cost of living A, walkability A−·lowest: health B−
39Saylorvilleunincorporated, Polk County · 3,366 people64.8top 17.1%A−Strongest: hazard risk A, schools A−·lowest: walkability C−
42GlenwoodMills County · 5,287 people64.7top 17.4%A−Strongest: schools A−, health B+·lowest: hazard risk C−
43NevadaStory County · 6,974 people64.6top 17.6%A−Strongest: health B+, schools B+·lowest: walkability B−
45BondurantPolk County · 9,647 people64.2top 18.6%A−Strongest: jobs & income A+, health A·lowest: walkability C−
48VintonBenton County · 5,004 people63.8top 19.6%A−Strongest: walkability A−, schools A−·lowest: hazard risk D
50MilfordDickinson County · 3,209 people63.4top 20.4%A−Strongest: schools A−, cost of living B+·lowest: hazard risk C
51AlgonaKossuth County · 5,309 people63.4top 20.6%A−Strongest: walkability A, hazard risk B+·lowest: schools B−
52IndependenceBuchanan County · 6,312 people63.1top 21.1%A−Strongest: cost of living A−, walkability A−·lowest: hazard risk C−
53KalonaWashington County · 2,811 people62.4top 23.0%A−Strongest: jobs & income A−, walkability A−·lowest: hazard risk C+
54JesupBuchanan County · 2,557 people62.3top 23.3%A−Strongest: cost of living B+, health B+·lowest: walkability C+
55New HamptonChickasaw County · 3,420 people62.0top 24.1%A−Strongest: cost of living A, schools A−·lowest: jobs & income C
56MadridBoone County · 2,820 people62.0top 24.1%A−Strongest: jobs & income A, health B+·lowest: schools C+
57Le ClaireScott County · 4,741 people61.5top 25.6%B+Strongest: schools A, jobs & income A·lowest: cost of living C−
60HarlanShelby County · 4,859 people61.2top 26.4%B+Strongest: schools A, cost of living A−·lowest: jobs & income C
61AsburyDubuque County · 6,035 people60.4top 28.5%B+Strongest: jobs & income A+, safety A+·lowest: walkability C−
63WiltonMuscatine County · 2,892 people59.7top 30.3%B+Strongest: jobs & income B+, cost of living B+·lowest: hazard risk B−
64DeWittClinton County · 5,704 people59.6top 30.4%B+Strongest: jobs & income A−, schools A−·lowest: safety C+
66Clear LakeCerro Gordo County · 7,601 people59.1top 31.7%B+Strongest: schools A−, walkability A−·lowest: safety C
67ClarionWright County · 2,758 people58.9top 32.2%B+Strongest: cost of living A, safety B+·lowest: schools C
68Spirit LakeDickinson County · 5,525 people58.1top 34.5%B+Strongest: schools B+, walkability B+·lowest: safety C+
69AlbiaMonroe County · 3,599 people58.0top 34.6%B+Strongest: walkability A−, schools A−·lowest: jobs & income C
70CherokeeCherokee County · 5,122 people57.8top 35.2%BStrongest: cost of living A, walkability A−·lowest: health D
71HawardenSioux County · 2,665 people57.4top 36.2%BStrongest: cost of living A, jobs & income B·lowest: hazard risk C
73Missouri ValleyHarrison County · 2,616 people57.2top 36.8%BStrongest: cost of living A+, walkability B+·lowest: schools C−
74TiffinJohnson County · 7,156 people57.0top 37.5%BStrongest: health A, jobs & income A·lowest: hazard risk C−
75CamancheClinton County · 4,557 people56.3top 39.2%BStrongest: cost of living A−, safety B·lowest: hazard risk C
77SheldonO'Brien County · 5,575 people55.7top 41.0%BStrongest: hazard risk B+, schools B+·lowest: safety C+
78EsthervilleEmmet County · 5,807 people54.5top 44.0%BStrongest: cost of living A−, walkability A−·lowest: health C
79BloomfieldDavis County · 2,785 people54.3top 44.5%BStrongest: cost of living A−, safety A−·lowest: schools C
81GrinnellPoweshiek County · 9,430 people54.0top 45.3%B−Strongest: walkability A−, hazard risk A−·lowest: jobs & income C+
82FairfaxLinn County · 2,925 people53.7top 46.2%B−Strongest: jobs & income A, health A−·lowest: walkability C−
83Mount PleasantHenry County · 8,500 people53.6top 46.3%B−Strongest: hazard risk A−, cost of living B+·lowest: schools C
84CrestonUnion County · 7,335 people53.3top 47.5%B−Strongest: walkability A−, hazard risk B+·lowest: jobs & income C−
86HumboldtHumboldt County · 4,675 people52.8top 48.8%B−Strongest: cost of living A−, schools B+·lowest: jobs & income C−
87HamptonFranklin County · 4,264 people52.3bottom 49.8%B−Strongest: cost of living A, safety A−·lowest: jobs & income D
89RobinsLinn County · 3,366 people51.3bottom 46.9%B−Strongest: health A, hazard risk B+·lowest: schools D
90DenisonCrawford County · 8,214 people51.2bottom 46.9%B−Strongest: cost of living A−, walkability A−·lowest: health D
91Webster CityHamilton County · 7,815 people50.9bottom 46.1%B−Strongest: cost of living A, health B·lowest: jobs & income C
93PerryDallas County · 8,208 people49.9bottom 43.3%C+Strongest: cost of living A, hazard risk B+·lowest: schools C−
94JeffersonGreene County · 4,150 people48.9bottom 40.7%C+Strongest: cost of living B+, hazard risk B·lowest: schools C−
95KnoxvilleMarion County · 7,469 people48.1bottom 38.1%C+Strongest: cost of living A−, hazard risk A−·lowest: safety C−
97AnamosaJones County · 5,901 people47.6bottom 36.9%C+Strongest: safety B+, walkability B+·lowest: hazard risk C−
98ManchesterDelaware County · 5,357 people47.4bottom 36.5%C+Strongest: cost of living A−, schools B+·lowest: hazard risk D
99FairfieldJefferson County · 9,220 people47.0bottom 35.3%C+Strongest: walkability A, hazard risk A·lowest: jobs & income D
100Iowa FallsHardin County · 5,013 people46.4bottom 33.8%CStrongest: walkability A−, cost of living B+·lowest: jobs & income D
101CharitonLucas County · 4,347 people46.3bottom 33.8%CStrongest: cost of living A, hazard risk B+·lowest: jobs & income D
102ShenandoahPage County · 4,808 people46.0bottom 32.9%CStrongest: walkability A, cost of living B+·lowest: jobs & income D
103West LibertyMuscatine County · 3,717 people46.0bottom 32.9%CStrongest: safety B, jobs & income B·lowest: schools D
106SibleyOsceola County · 2,762 people44.5bottom 29.0%CStrongest: cost of living A−, hazard risk B·lowest: jobs & income D
107HiawathaLinn County · 7,432 people44.4bottom 28.8%CStrongest: hazard risk A−, walkability B·lowest: schools D
109ClarindaPage County · 5,273 people43.9bottom 27.5%CStrongest: cost of living A−, hazard risk B+·lowest: jobs & income D
111Charles CityFloyd County · 7,013 people42.5bottom 24.4%C−Strongest: cost of living A, walkability C+·lowest: hazard risk D
112EldoraHardin County · 2,593 people42.5bottom 24.2%C−Strongest: cost of living A, walkability A−·lowest: safety D−
114OnawaMonona County · 2,821 people42.2bottom 23.6%C−Strongest: hazard risk B+, cost of living B·lowest: health C−
115AtlanticCass County · 6,676 people41.3bottom 21.8%C−Strongest: walkability B+, cost of living B·lowest: health C−
119Windsor HeightsPolk County · 5,059 people39.4bottom 17.9%C−Strongest: jobs & income A, health A−·lowest: schools D−
120WashingtonWashington County · 7,261 people39.1bottom 17.4%C−Strongest: walkability A−, hazard risk A−·lowest: schools D
122Eagle GroveWright County · 3,653 people38.7bottom 16.5%C−Strongest: cost of living A−, walkability A−·lowest: schools D−
123CentervilleAppanoose County · 5,327 people38.2bottom 15.6%C−Strongest: walkability A−, hazard risk B+·lowest: health D
124MaquoketaJackson County · 6,027 people38.0bottom 15.1%C−Strongest: cost of living A, walkability B·lowest: schools D
125Fort MadisonLee County · 9,935 people37.6bottom 14.5%DStrongest: cost of living A−, walkability B+·lowest: schools D
126Carter LakePottawattamie County · 3,670 people37.3bottom 14.1%DStrongest: cost of living A−, walkability B+·lowest: safety D
128OelweinFayette County · 5,757 people36.7bottom 13.1%DStrongest: walkability A−, cost of living B+·lowest: schools D−
130West BurlingtonDes Moines County · 3,358 people35.8bottom 11.6%DStrongest: walkability A+, hazard risk A−·lowest: safety D−
131TamaTama County · 3,011 people34.9bottom 10.5%DStrongest: cost of living A, hazard risk B·lowest: health D
133Red OakMontgomery County · 5,388 people34.9bottom 10.4%DStrongest: cost of living B+, walkability B−·lowest: health C−
136OsceolaClarke County · 5,679 people33.7bottom 9.0%DStrongest: hazard risk B+, cost of living B·lowest: schools D
138KeokukLee County · 9,510 people32.3bottom 7.2%DStrongest: walkability B+, cost of living B·lowest: schools D
140EvansdaleBlack Hawk County · 4,463 people31.4bottom 6.2%DStrongest: cost of living B, safety C+·lowest: schools 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 Iowa. 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 Iowa?

Among 99 graded towns of 2,500 to 9,999 residents, Orange City (Sioux County) ranks first, with an A+; walkability (A) and schools (A) are its strongest grades; jobs & income (B) is its lowest. Mitchellville and Grundy Center 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 Iowa. 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 (99 in Iowa). 136 smaller places have subject grades only; Larger towns are on the best places to live list. Every town is on the Iowa page.

Go deeper

More Iowa lists

Every list ranks the same 2,500+ towns, so a town’s rank means the same thing on each.

All Iowa rankings →
Other states

Best small towns in other states