Guest, Sign inJoin
Stone AcademySolon, #1 on this list · Stone Academy · Photo: Billwhittaker at English Wikipedia · CC BY-SA 3.0
Iowa rankings · Health

Healthiest towns in Iowa

Solon ranks first on health among Iowa’s 140 towns of 2,500+; 36 of the 140 grade A− or better on health nationally.

The Health grade: seven CDC PLACES estimates for adults (general, physical and mental health, obesity, diabetes, smoking, exercise). How grades work

#1

Solon

Johnson County · 3,345 people
A

Health grade, better than 95% of U.S. towns·Overall A+ · #11 of 140 in IA

#2

North Liberty

Johnson County · 21,976 people
A

Health grade, better than 95% of U.S. towns·Overall A− · #47 of 140 in IA

All 140 towns

Health grade, best first (the letter is national). Towns with the same score share a rank; the overall grade and state rank are beside each.

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

#TownGradeOverall
1SolonJohnson County · 3,345 peopleAbetter than 95% of U.S. towns·Overall A+ · #11 of 140
2North LibertyJohnson County · 21,976 peopleAbetter than 95% of U.S. towns·Overall A− · #47 of 140
3TiffinJohnson County · 7,156 peopleAbetter than 94% of U.S. towns·Overall B · #74 of 140
4WaukeeDallas County · 34,890 peopleAbetter than 93% of U.S. towns·Overall A− · #36 of 140
5HuxleyStory County · 4,715 peopleAbetter than 93% of U.S. towns·Overall A · #26 of 140
6CoralvilleJohnson County · 23,960 peopleAbetter than 91% of U.S. towns·Overall B− · #88 of 140
7ClivePolk County · 19,861 peopleAbetter than 90% of U.S. towns·Overall A− · #49 of 140
8EldridgeScott County · 6,954 peopleAbetter than 89% of U.S. towns·Overall A+ · #10 of 140
9JohnstonPolk County · 25,065 peopleAbetter than 89% of U.S. towns·Overall A · #25 of 140
10West Des MoinesPolk County · 74,224 peopleAbetter than 89% of U.S. towns·Overall B+ · #58 of 140
11AnkenyPolk County · 77,833 peopleAbetter than 88% of U.S. towns·Overall A · #30 of 140
12AsburyDubuque County · 6,035 peopleAbetter than 88% of U.S. towns·Overall B+ · #61 of 140
13RobinsLinn County · 3,366 peopleAbetter than 88% of U.S. towns·Overall B− · #89 of 140
14DecorahWinneshiek County · 7,417 peopleAbetter than 88% of U.S. towns·Overall A+ · #9 of 140
15Orange CitySioux County · 6,468 peopleAbetter than 87% of U.S. towns·Overall A+ · #1 of 140
16Mount VernonLinn County · 4,514 peopleAbetter than 87% of U.S. towns·Overall A+ · #6 of 140
17BondurantPolk County · 9,647 peopleAbetter than 86% of U.S. towns·Overall A− · #45 of 140
18PellaMarion County · 10,992 peopleAbetter than 86% of U.S. towns·Overall A+ · #7 of 140
19Polk CityPolk County · 6,630 peopleAbetter than 86% of U.S. towns·Overall A+ · #8 of 140
20UrbandalePolk County · 48,570 peopleA−better than 84% of U.S. towns·Overall A · #23 of 140
21MarionLinn County · 42,732 peopleA−better than 84% of U.S. towns·Overall A · #31 of 140
22NorwalkWarren County · 15,004 peopleA−better than 83% of U.S. towns·Overall A+ · #2 of 140
23GrimesPolk County · 17,405 peopleA−better than 83% of U.S. towns·Overall A+ · #15 of 140
24Sergeant BluffWoodbury County · 5,324 peopleA−better than 82% of U.S. towns·Overall A+ · #18 of 140
25AdelDallas County · 7,098 peopleA−better than 81% of U.S. towns·Overall A · #19 of 140
26BettendorfScott County · 40,710 peopleA−better than 81% of U.S. towns·Overall A− · #44 of 140
27Sioux CenterSioux County · 8,864 peopleA−better than 80% of U.S. towns·Overall A · #29 of 140
28Story CityStory County · 3,382 peopleA−better than 79% of U.S. towns·Overall A · #28 of 140
29HudsonBlack Hawk County · 3,028 peopleA−better than 78% of U.S. towns·Overall A+ · #12 of 140
30Iowa CityJohnson County · 76,229 peopleA−better than 78% of U.S. towns·Overall C+ · #92 of 140
31Windsor HeightsPolk County · 5,059 peopleA−better than 78% of U.S. towns·Overall C− · #119 of 140
32FairfaxLinn County · 2,925 peopleA−better than 78% of U.S. towns·Overall B− · #82 of 140
33AmesStory County · 68,220 peopleA−better than 78% of U.S. towns·Overall B · #72 of 140
34Center PointLinn County · 2,572 peopleA−better than 77% of U.S. towns·Overall A+ · #5 of 140
35Cedar FallsBlack Hawk County · 41,240 peopleA−better than 76% of U.S. towns·Overall A− · #46 of 140
36CarlisleWarren County · 4,532 peopleA−better than 76% of U.S. towns·Overall A · #24 of 140
37IndianolaWarren County · 16,829 peopleB+better than 74% of U.S. towns·Overall B+ · #62 of 140
38DeWittClinton County · 5,704 peopleB+better than 74% of U.S. towns·Overall B+ · #64 of 140
39WaverlyBremer County · 10,561 peopleB+better than 74% of U.S. towns·Overall B+ · #59 of 140
40KalonaWashington County · 2,811 peopleB+better than 73% of U.S. towns·Overall A− · #53 of 140
41MadridBoone County · 2,820 peopleB+better than 72% of U.S. towns·Overall A− · #56 of 140
42DubuqueDubuque County · 59,148 peopleB+better than 71% of U.S. towns·Overall C+ · #96 of 140
43NevadaStory County · 6,974 peopleB+better than 70% of U.S. towns·Overall A− · #43 of 140
44Rock ValleySioux County · 4,188 peopleB+better than 70% of U.S. towns·Overall A+ · #17 of 140
45WintersetMadison County · 5,520 peopleB+better than 70% of U.S. towns·Overall A · #33 of 140
46DyersvilleDubuque County · 4,574 peopleB+better than 69% of U.S. towns·Overall A · #21 of 140
47Saylorvilleunincorporated, Polk County · 3,366 peopleB+better than 69% of U.S. towns·Overall A− · #39 of 140
48GlenwoodMills County · 5,287 peopleB+better than 68% of U.S. towns·Overall A− · #42 of 140
49Forest CityWinnebago County · 4,143 peopleB+better than 68% of U.S. towns·Overall A+ · #14 of 140
50JesupBuchanan County · 2,557 peopleB+better than 67% of U.S. towns·Overall A− · #54 of 140
51MilfordDickinson County · 3,209 peopleB+better than 67% of U.S. towns·Overall A− · #50 of 140
52West BranchCedar County · 2,956 peopleB+better than 66% of U.S. towns·Overall A− · #35 of 140
53IndependenceBuchanan County · 6,312 peopleB+better than 66% of U.S. towns·Overall A− · #52 of 140
54WilliamsburgIowa County · 3,408 peopleBbetter than 65% of U.S. towns·Overall A− · #37 of 140
55GrinnellPoweshiek County · 9,430 peopleBbetter than 64% of U.S. towns·Overall B− · #81 of 140
56Le ClaireScott County · 4,741 peopleBbetter than 63% of U.S. towns·Overall B+ · #57 of 140
57Le MarsPlymouth County · 10,760 peopleBbetter than 63% of U.S. towns·Overall A− · #41 of 140
58AltoonaPolk County · 22,796 peopleBbetter than 63% of U.S. towns·Overall B− · #85 of 140
59MitchellvillePolk County · 2,671 peopleBbetter than 63% of U.S. towns·Overall A+ · #3 of 140
60MonticelloJones County · 4,104 peopleBbetter than 62% of U.S. towns·Overall A · #27 of 140
61Cedar RapidsLinn County · 137,935 peopleBbetter than 61% of U.S. towns·Overall C · #104 of 140
62AlbiaMonroe County · 3,599 peopleBbetter than 61% of U.S. towns·Overall B+ · #69 of 140
63HiawathaLinn County · 7,432 peopleBbetter than 61% of U.S. towns·Overall C · #107 of 140
64Grundy CenterGrundy County · 2,814 peopleBbetter than 58% of U.S. towns·Overall A+ · #4 of 140
65CrescoHoward County · 3,925 peopleBbetter than 58% of U.S. towns·Overall A · #22 of 140
66CamancheClinton County · 4,557 peopleBbetter than 58% of U.S. towns·Overall B · #75 of 140
67Spirit LakeDickinson County · 5,525 peopleBbetter than 58% of U.S. towns·Overall B+ · #68 of 140
68Clear LakeCerro Gordo County · 7,601 peopleBbetter than 57% of U.S. towns·Overall B+ · #66 of 140
69OsageMitchell County · 3,552 peopleBbetter than 57% of U.S. towns·Overall A+ · #16 of 140
70Webster CityHamilton County · 7,815 peopleBbetter than 55% of U.S. towns·Overall B− · #91 of 140
71AlgonaKossuth County · 5,309 peopleBbetter than 55% of U.S. towns·Overall A− · #51 of 140
72KnoxvilleMarion County · 7,469 peopleB−better than 53% of U.S. towns·Overall C+ · #95 of 140
73Iowa FallsHardin County · 5,013 peopleB−better than 53% of U.S. towns·Overall C · #100 of 140
74Pleasant HillPolk County · 11,239 peopleB−better than 53% of U.S. towns·Overall C− · #116 of 140
75SpencerClay County · 11,218 peopleB−better than 52% of U.S. towns·Overall B · #76 of 140
76WiltonMuscatine County · 2,892 peopleB−better than 51% of U.S. towns·Overall B+ · #63 of 140
77Rock RapidsLyon County · 2,733 peopleB−better than 50% of U.S. towns·Overall A · #20 of 140
78Mount PleasantHenry County · 8,500 peopleB−better than 50% of U.S. towns·Overall B− · #83 of 140
79BooneBoone County · 12,471 peopleB−better than 50% of U.S. towns·Overall B+ · #65 of 140
80ClarionWright County · 2,758 peopleB−better than 50% of U.S. towns·Overall B+ · #67 of 140
81HumboldtHumboldt County · 4,675 peopleB−better than 50% of U.S. towns·Overall B− · #86 of 140
82TiptonCedar County · 3,060 peopleB−better than 48% of U.S. towns·Overall A− · #38 of 140
83JeffersonGreene County · 4,150 peopleB−better than 48% of U.S. towns·Overall C+ · #94 of 140
84CarrollCarroll County · 10,085 peopleB−better than 48% of U.S. towns·Overall A− · #40 of 140
85SheldonO'Brien County · 5,575 peopleB−better than 47% of U.S. towns·Overall B · #77 of 140
86VintonBenton County · 5,004 peopleB−better than 46% of U.S. towns·Overall A− · #48 of 140
87HawardenSioux County · 2,665 peopleB−better than 46% of U.S. towns·Overall B · #71 of 140
88GarnerHancock County · 3,029 peopleC+better than 43% of U.S. towns·Overall A− · #34 of 140
89CrestonUnion County · 7,335 peopleC+better than 42% of U.S. towns·Overall B− · #84 of 140
90West LibertyMuscatine County · 3,717 peopleC+better than 41% of U.S. towns·Overall C · #103 of 140
91New HamptonChickasaw County · 3,420 peopleC+better than 41% of U.S. towns·Overall A− · #55 of 140
92Mason CityCerro Gordo County · 26,853 peopleC+better than 40% of U.S. towns·Overall C− · #110 of 140
93HarlanShelby County · 4,859 peopleC+better than 40% of U.S. towns·Overall B+ · #60 of 140
94Missouri ValleyHarrison County · 2,616 peopleC+better than 40% of U.S. towns·Overall B · #73 of 140
95BurlingtonDes Moines County · 23,336 peopleC+better than 40% of U.S. towns·Overall C− · #118 of 140
96Charles CityFloyd County · 7,013 peopleC+better than 39% of U.S. towns·Overall C− · #111 of 140
97DavenportScott County · 100,358 peopleC+better than 39% of U.S. towns·Overall D · #135 of 140
98Fort DodgeWebster County · 24,837 peopleC+better than 39% of U.S. towns·Overall D · #132 of 140
99West BurlingtonDes Moines County · 3,358 peopleC+better than 38% of U.S. towns·Overall D · #130 of 140
100FairfieldJefferson County · 9,220 peopleC+better than 38% of U.S. towns·Overall C+ · #99 of 140
101OskaloosaMahaska County · 11,493 peopleC+better than 38% of U.S. towns·Overall B− · #80 of 140
102Fort MadisonLee County · 9,935 peopleC+better than 37% of U.S. towns·Overall D · #125 of 140
103WaukonAllamakee County · 3,849 peopleC+better than 36% of U.S. towns·Overall A+ · #13 of 140
104AnamosaJones County · 5,901 peopleC+better than 36% of U.S. towns·Overall C+ · #97 of 140
105BloomfieldDavis County · 2,785 peopleC+better than 35% of U.S. towns·Overall B · #79 of 140
106EmmetsburgPalo Alto County · 3,684 peopleCbetter than 34% of U.S. towns·Overall A · #32 of 140
107NewtonJasper County · 15,741 peopleCbetter than 34% of U.S. towns·Overall C · #105 of 140
108Council BluffsPottawattamie County · 62,680 peopleCbetter than 32% of U.S. towns·Overall D · #127 of 140
109Des MoinesPolk County · 212,086 peopleCbetter than 31% of U.S. towns·Overall D · #134 of 140
110EldoraHardin County · 2,593 peopleCbetter than 30% of U.S. towns·Overall C− · #112 of 140
111Storm LakeBuena Vista County · 11,590 peopleCbetter than 29% of U.S. towns·Overall C · #108 of 140
112MuscatineMuscatine County · 23,164 peopleCbetter than 29% of U.S. towns·Overall C− · #117 of 140
113MarshalltownMarshall County · 27,536 peopleCbetter than 28% of U.S. towns·Overall C− · #113 of 140
114EsthervilleEmmet County · 5,807 peopleCbetter than 28% of U.S. towns·Overall B · #78 of 140
115Sioux CityWoodbury County · 86,356 peopleCbetter than 28% of U.S. towns·Overall D · #129 of 140
116WaterlooBlack Hawk County · 66,919 peopleCbetter than 27% of U.S. towns·Overall D · #137 of 140
117WashingtonWashington County · 7,261 peopleCbetter than 26% of U.S. towns·Overall C− · #120 of 140
118MaquoketaJackson County · 6,027 peopleC−better than 24% of U.S. towns·Overall C− · #124 of 140
119SibleyOsceola County · 2,762 peopleC−better than 24% of U.S. towns·Overall C · #106 of 140
120ClintonClinton County · 24,049 peopleC−better than 24% of U.S. towns·Overall C− · #121 of 140
121PerryDallas County · 8,208 peopleC−better than 23% of U.S. towns·Overall C+ · #93 of 140
122AtlanticCass County · 6,676 peopleC−better than 21% of U.S. towns·Overall C− · #115 of 140
123ClarindaPage County · 5,273 peopleC−better than 21% of U.S. towns·Overall C · #109 of 140
124Carter LakePottawattamie County · 3,670 peopleC−better than 20% of U.S. towns·Overall D · #126 of 140
125ManchesterDelaware County · 5,357 peopleC−better than 19% of U.S. towns·Overall C+ · #98 of 140
126OelweinFayette County · 5,757 peopleC−better than 19% of U.S. towns·Overall D · #128 of 140
127OttumwaWapello County · 25,319 peopleC−better than 18% of U.S. towns·Overall D · #139 of 140
128CharitonLucas County · 4,347 peopleC−better than 17% of U.S. towns·Overall C · #101 of 140
129OnawaMonona County · 2,821 peopleC−better than 17% of U.S. towns·Overall C− · #114 of 140
130Red OakMontgomery County · 5,388 peopleC−better than 16% of U.S. towns·Overall D · #133 of 140
131HamptonFranklin County · 4,264 peopleC−better than 16% of U.S. towns·Overall B− · #87 of 140
132ShenandoahPage County · 4,808 peopleC−better than 15% of U.S. towns·Overall C · #102 of 140
133EvansdaleBlack Hawk County · 4,463 peopleDbetter than 15% of U.S. towns·Overall D · #140 of 140
134CherokeeCherokee County · 5,122 peopleDbetter than 14% of U.S. towns·Overall B · #70 of 140
135DenisonCrawford County · 8,214 peopleDbetter than 13% of U.S. towns·Overall B− · #90 of 140
136Eagle GroveWright County · 3,653 peopleDbetter than 13% of U.S. towns·Overall C− · #122 of 140
137KeokukLee County · 9,510 peopleDbetter than 13% of U.S. towns·Overall D · #138 of 140
138CentervilleAppanoose County · 5,327 peopleDbetter than 10% of U.S. towns·Overall C− · #123 of 140
139OsceolaClarke County · 5,679 peopleDbetter than 10% of U.S. towns·Overall D · #136 of 140
140TamaTama County · 3,011 peopleDbetter than 7% of U.S. towns·Overall D · #131 of 140
Quick answers

Questions people ask

What is the healthiest town in Iowa?

Solon (Johnson County) ranks first on health among 140 towns, with an A; North Liberty and Tiffin follow.

How are these towns ranked?

The Health grade: seven CDC PLACES estimates for adults (general, physical and mental health, obesity, diabetes, smoking, exercise). Towns are sorted on the grade’s score; the letter and rank are the same as on each town’s page. How grades work.

Why isn’t my town on this list?

The list covers towns of 2,500+ residents with a health grade (140 in Iowa). Smaller towns have the grade on their page but no rank. 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

Healthiest towns in other states