Guest, Sign inJoin
Downtown, Grundy Center, Iowa.Grundy Center, #1 on this list · Photo: Lolwhynot3498 · CC BY-SA 4.0
Iowa rankings · Schools

Towns with the best schools in Iowa

Grundy Center ranks first on schools among Iowa’s 140 towns of 2,500+; 40 of the 140 grade A− or better (schools are graded within each state).

The Schools grade: state test results and graduation rates of the districts serving each town, compared with the state’s other districts (U.S. Department of Education). How grades work

#1

Grundy Center

Grundy County · 2,814 people
A+

Schools grade, graded within the state·Overall A+ · #4 of 140 in IA

#2

Polk City

Polk County · 6,630 people
A+

Schools grade, graded within the state·Overall A+ · #8 of 140 in IA

#3

Pella

Marion County · 10,992 people
A+

Schools grade, graded within the state·Overall A+ · #7 of 140 in IA

All 140 towns

Schools grade, best first (graded within Iowa). Towns with the same score share a rank (T = tied; 10 towns here); the overall grade and state rank are beside each.

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

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

Questions people ask

Which Iowa town has the best schools?

Grundy Center (Grundy County) ranks first on schools among 140 towns, with an A+; Polk City and Pella follow. Schools are compared within Iowa, so the letter is a state grade.

How are these towns ranked?

The Schools grade: state test results and graduation rates of the districts serving each town, compared with the state’s other districts (U.S. Department of Education). 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 schools 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

Towns with the best schools in other states