Guest, Sign inJoin
Hartland Railroad DepotHartland, #1 on this list · Photo: Shadowe · CC BY-SA 3.0
Wisconsin rankings · Schools

Towns with the best schools in Wisconsin

Hartland ranks first on schools among Wisconsin’s 362 towns of 2,500+; 122 of the 362 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

Hartland

Waukesha County · 10,740 people
A+

Schools grade, graded within the state·Overall A+ · #17 of 357 in WI

#T2

Bayside

Milwaukee County · 4,331 people
A+

Schools grade, graded within the state·Overall A+ · #18 of 357 in WI

#T2

Fox Point

Milwaukee County · 6,583 people
A+

Schools grade, graded within the state·Overall A+ · #7 of 357 in WI

All 362 towns

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

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

#TownGradeOverall
1HartlandWaukesha County · 10,740 peopleA+graded within the state·Overall A+ · #17 of 357
T2BaysideMilwaukee County · 4,331 peopleA+graded within the state·Overall A+ · #18 of 357
T2Fox PointMilwaukee County · 6,583 peopleA+graded within the state·Overall A+ · #7 of 357
4SevastopolDoor County · 2,835 peopleA+graded within the state·Overall B · #204 of 357
5MertonWaukesha County · 3,676 peopleA+graded within the state·Overall A · #71 of 357
T6CedarburgOzaukee County · 12,916 peopleA+graded within the state·Overall A+ · #10 of 357
T6CedarburgOzaukee County · 6,169 peopleA+graded within the state·Overall A− · #105 of 357
8Whitefish BayMilwaukee County · 14,489 peopleA+graded within the state·Overall A+ · #9 of 357
9MuskegoWaukesha County · 25,602 peopleA+graded within the state·Overall A · #43 of 357
10MertonWaukesha County · 8,319 peopleA+graded within the state·Overall A− · #94 of 357
T11MequonOzaukee County · 25,120 peopleA+graded within the state·Overall A · #34 of 357
T11ThiensvilleOzaukee County · 3,267 peopleA+graded within the state·Overall A · #35 of 357
13Lisbon11,150 peopleA+graded within the state·No overall grade
T14BrookfieldWaukesha County · 41,448 peopleAgraded within the state·Overall A · #40 of 357
T14Elm GroveWaukesha County · 6,354 peopleAgraded within the state·Overall A+ · #13 of 357
16DelafieldWaukesha County · 7,314 peopleAgraded within the state·Overall A− · #114 of 357
17PolkWashington County · 4,041 peopleAgraded within the state·Overall A · #70 of 357
18KimberlyOutagamie County · 7,556 peopleAgraded within the state·Overall A+ · #4 of 357
19SussexWaukesha County · 12,779 peopleAgraded within the state·Overall A− · #87 of 357
20OostburgSheboygan County · 3,056 peopleAgraded within the state·Overall A+ · #15 of 357
21PewaukeeWaukesha County · 8,216 peopleAgraded within the state·Overall A · #69 of 357
22LuxemburgKewaunee County · 2,784 peopleAgraded within the state·Overall A · #47 of 357
T23Cross PlainsDane County · 4,182 peopleAgraded within the state·Overall A · #59 of 357
T23MiddletonDane County · 23,115 peopleAgraded within the state·Overall A · #63 of 357
T23MiddletonDane County · 6,833 peopleAgraded within the state·Overall A− · #90 of 357
T26AddisonWashington County · 3,416 peopleAgraded within the state·Overall A+ · #22 of 357
T26SlingerWashington County · 6,495 peopleAgraded within the state·Overall A · #48 of 357
28New BerlinWaukesha County · 39,953 peopleAgraded within the state·Overall A · #52 of 357
29SpringfieldDane County · 2,800 peopleAgraded within the state·Overall A · #33 of 357
T30GraftonOzaukee County · 13,389 peopleAgraded within the state·Overall A · #51 of 357
T30GraftonOzaukee County · 4,343 peopleAgraded within the state·Overall A · #57 of 357
32ShorewoodMilwaukee County · 13,474 peopleAgraded within the state·Overall A− · #106 of 357
T33DousmanWaukesha County · 2,665 peopleAgraded within the state·Overall A · #78 of 357
T33OttawaWaukesha County · 3,642 peopleAgraded within the state·Overall A · #60 of 357
T33WalesWaukesha County · 2,885 peopleAgraded within the state·Overall A · #39 of 357
36SummitWaukesha County · 5,323 peopleAgraded within the state·Overall A · #77 of 357
T37OconomowocWaukesha County · 20,119 peopleAgraded within the state·Overall A · #62 of 357
T37OconomowocWaukesha County · 8,849 peopleAgraded within the state·Overall B+ · #145 of 357
T39WaunakeeDane County · 16,411 peopleAgraded within the state·Overall A+ · #5 of 357
T39WestportDane County · 4,249 peopleAgraded within the state·Overall A · #74 of 357
41WrightstownBrown County · 4,169 peopleAgraded within the state·Overall A · #64 of 357
42Vernon7,464 peopleAgraded within the state·No overall grade
43BelgiumOzaukee County · 2,540 peopleAgraded within the state·Overall A · #79 of 357
44LedgeviewBrown County · 9,642 peopleAgraded within the state·Overall A− · #127 of 357
T45Oak GrovePierce County · 2,561 peopleAgraded within the state·Overall A · #67 of 357
T45PrescottPierce County · 4,581 peopleAgraded within the state·Overall A+ · #25 of 357
47MukwonagoWaukesha County · 8,544 peopleAgraded within the state·Overall A− · #92 of 357
T48HudsonSt. Croix County · 15,019 peopleAgraded within the state·Overall A− · #108 of 357
T48HudsonSt. Croix County · 8,736 peopleAgraded within the state·Overall A · #82 of 357
T48North HudsonSt. Croix County · 3,803 peopleAgraded within the state·Overall A · #81 of 357
51Combined LocksOutagamie County · 3,626 peopleAgraded within the state·Overall A+ · #8 of 357
52AshippunDodge County · 2,666 peopleAgraded within the state·Overall B+ · #150 of 357
T53FarmingtonWashington County · 3,586 peopleAgraded within the state·Overall A− · #142 of 357
T53KewaskumWashington County · 4,561 peopleAgraded within the state·Overall A− · #91 of 357
55EagleWaukesha County · 3,536 peopleAgraded within the state·Overall A− · #130 of 357
56Menomonee FallsWaukesha County · 41,291 peopleAgraded within the state·Overall A · #46 of 357
T57Port WashingtonOzaukee County · 12,658 peopleAgraded within the state·Overall A+ · #6 of 357
T57SaukvilleOzaukee County · 4,554 peopleAgraded within the state·Overall B+ · #159 of 357
59St. JosephSt. Croix County · 4,408 peopleAgraded within the state·Overall B+ · #170 of 357
60WaterfordRacine County · 6,025 peopleAgraded within the state·Overall B · #199 of 357
61TroySt. Croix County · 5,686 peopleAgraded within the state·Overall B+ · #152 of 357
62HartfordWashington County · 3,359 peopleAgraded within the state·Overall A+ · #14 of 357
63BrillionCalumet County · 3,327 peopleAgraded within the state·Overall A+ · #11 of 357
64West BendWashington County · 4,401 peopleAgraded within the state·Overall B+ · #160 of 357
65De PereBrown County · 25,590 peopleAgraded within the state·Overall A+ · #12 of 357
66OsceolaPolk County · 2,890 peopleA−graded within the state·Overall B− · #241 of 357
67BristolKenosha County · 5,300 peopleA−graded within the state·Overall A · #31 of 357
68FranklinMilwaukee County · 36,687 peopleA−graded within the state·Overall A− · #113 of 357
69RiponFond du Lac County · 7,738 peopleA−graded within the state·Overall A · #83 of 357
70PoynetteColumbia County · 2,924 peopleA−graded within the state·Overall A · #58 of 357
71RichfieldWashington County · 11,785 peopleA−graded within the state·Overall A− · #93 of 357
72Howards GroveSheboygan County · 3,190 peopleA−graded within the state·Overall A+ · #16 of 357
73Mount HorebDane County · 7,725 peopleA−graded within the state·Overall A+ · #1 of 357
74HoriconDodge County · 3,917 peopleA−graded within the state·Overall B− · #247 of 357
75AldenPolk County · 3,019 peopleA−graded within the state·Overall B · #196 of 357
76YorkvilleRacine County · 3,253 peopleA−graded within the state·Overall B+ · #162 of 357
77ClaytonWinnebago County · 5,303 peopleA−graded within the state·Overall A− · #140 of 357
78KielManitowoc County · 3,973 peopleA−graded within the state·Overall A+ · #2 of 357
79GreendaleMilwaukee County · 14,426 peopleA−graded within the state·Overall A− · #101 of 357
T80Greenville13,388 peopleA−graded within the state·No overall grade
T80HortonvilleOutagamie County · 3,340 peopleA−graded within the state·Overall A · #53 of 357
82BaldwinSt. Croix County · 4,347 peopleA−graded within the state·Overall A · #29 of 357
83West SalemLa Crosse County · 5,288 peopleA−graded within the state·Overall A− · #118 of 357
84River FallsPierce County · 17,916 peopleA−graded within the state·Overall A · #27 of 357
85GermantownWashington County · 21,050 peopleA−graded within the state·Overall A− · #126 of 357
T86HowardBrown County · 22,233 peopleA−graded within the state·Overall A− · #115 of 357
T86SuamicoBrown County · 13,153 peopleA−graded within the state·Overall A− · #97 of 357
88BartonWashington County · 2,769 peopleA−graded within the state·Overall B+ · #180 of 357
89NorwayRacine County · 7,856 peopleA−graded within the state·Overall B · #207 of 357
90EllingtonOutagamie County · 3,307 peopleA−graded within the state·Overall A− · #132 of 357
91Little ChuteOutagamie County · 11,800 peopleA−graded within the state·Overall A+ · #21 of 357
T92Hales CornersMilwaukee County · 7,740 peopleA−graded within the state·Overall A · #54 of 357
T92OregonDane County · 12,015 peopleA−graded within the state·Overall A+ · #20 of 357
T92OregonDane County · 2,994 peopleA−graded within the state·Overall B+ · #167 of 357
95IxoniaJefferson County · 5,083 peopleA−graded within the state·Overall A · #56 of 357
T96AmeryPolk County · 2,927 peopleA−graded within the state·Overall A · #55 of 357
T96StanleyChippewa County · 3,876 peopleA−graded within the state·Overall B+ · #178 of 357
98JacksonWashington County · 3,950 peopleA−graded within the state·Overall A · #84 of 357
T99BuchananOutagamie County · 6,793 peopleA−graded within the state·Overall A− · #107 of 357
T99KaukaunaOutagamie County · 18,517 peopleA−graded within the state·Overall A · #30 of 357
T99SherwoodCalumet County · 3,311 peopleA−graded within the state·Overall A · #61 of 357
T102New RichmondSt. Croix County · 10,988 peopleA−graded within the state·Overall A · #36 of 357
T102RichmondSt. Croix County · 4,276 peopleA−graded within the state·Overall B− · #238 of 357
T104HarmonyRock County · 2,608 peopleA−graded within the state·Overall B · #198 of 357
T104MiltonRock County · 6,024 peopleA−graded within the state·Overall A · #45 of 357
T104MiltonRock County · 3,129 peopleA−graded within the state·Overall B · #202 of 357
107BrookfieldWaukesha County · 6,515 peopleA−graded within the state·Overall B+ · #146 of 357
108HarrisonCalumet County · 14,492 peopleA−graded within the state·Overall A · #73 of 357
T109ChaseOconto County · 3,373 peopleA−graded within the state·Overall A− · #104 of 357
T109PittsfieldBrown County · 2,838 peopleA−graded within the state·Overall A · #76 of 357
T109PulaskiBrown County · 4,048 peopleA−graded within the state·Overall A · #41 of 357
T112Fox CrossingWinnebago County · 19,320 peopleA−graded within the state·Overall A− · #120 of 357
T112NeenahWinnebago County · 27,638 peopleA−graded within the state·Overall A− · #141 of 357
T112NeenahWinnebago County · 3,673 peopleA−graded within the state·Overall B+ · #147 of 357
115HobartBrown County · 11,674 peopleA−graded within the state·Overall A− · #129 of 357
116Star PrairieSt. Croix County · 3,771 peopleA−graded within the state·Overall A− · #88 of 357
T117JacksonWashington County · 8,322 peopleA−graded within the state·Overall A · #32 of 357
T117TrentonWashington County · 4,721 peopleA−graded within the state·Overall B+ · #148 of 357
T117West BendWashington County · 32,268 peopleA−graded within the state·Overall B+ · #165 of 357
120LawrenceBrown County · 6,937 peopleA−graded within the state·Overall A− · #125 of 357
121CenterOutagamie County · 3,706 peopleA−graded within the state·Overall A · #38 of 357
122RaymondRacine County · 4,006 peopleA−graded within the state·Overall B+ · #188 of 357
123MosineeMarathon County · 4,529 peopleB+graded within the state·Overall A · #37 of 357
T124East TroyWalworth County · 4,988 peopleB+graded within the state·Overall A− · #111 of 357
T124East TroyWalworth County · 4,002 peopleB+graded within the state·Overall B+ · #186 of 357
126RochesterRacine County · 3,786 peopleB+graded within the state·Overall A− · #121 of 357
127DaleOutagamie County · 2,902 peopleB+graded within the state·Overall B+ · #169 of 357
T128DeForestDane County · 13,094 peopleB+graded within the state·Overall A · #68 of 357
T128WindsorDane County · 10,085 peopleB+graded within the state·Overall A− · #119 of 357
130EllsworthPierce County · 3,336 peopleB+graded within the state·Overall A · #42 of 357
131FennimoreGrant County · 2,775 peopleB+graded within the state·Overall A− · #99 of 357
132WheatlandKenosha County · 3,337 peopleB+graded within the state·Overall B− · #233 of 357
T133SomersetSt. Croix County · 3,408 peopleB+graded within the state·Overall A · #44 of 357
T133SomersetSt. Croix County · 4,536 peopleB+graded within the state·Overall A · #72 of 357
135FitchburgDane County · 34,615 peopleB+graded within the state·Overall B+ · #154 of 357
136Union GroveRacine County · 5,370 peopleB+graded within the state·Overall A− · #102 of 357
137Lake GenevaWalworth County · 8,818 peopleB+graded within the state·Overall B− · #231 of 357
138Sturgeon BayDoor County · 9,917 peopleB+graded within the state·Overall B+ · #182 of 357
T139HollandLa Crosse County · 4,512 peopleB+graded within the state·Overall A− · #136 of 357
T139HolmenLa Crosse County · 12,105 peopleB+graded within the state·Overall A− · #110 of 357
T139OnalaskaLa Crosse County · 5,809 peopleB+graded within the state·Overall B+ · #183 of 357
142Oak CreekMilwaukee County · 38,296 peopleB+graded within the state·Overall B+ · #176 of 357
143Lake MillsJefferson County · 6,655 peopleB+graded within the state·Overall A− · #89 of 357
144Prairie du ChienCrawford County · 5,408 peopleB+graded within the state·Overall C+ · #285 of 357
145LimaSheboygan County · 2,920 peopleB+graded within the state·Overall A− · #124 of 357
146Little SuamicoOconto County · 5,794 peopleB+graded within the state·Overall A− · #122 of 357
147FultonRock County · 3,715 peopleB+graded within the state·Overall B · #209 of 357
148OnalaskaLa Crosse County · 20,297 peopleB+graded within the state·Overall B · #210 of 357
149PlattevilleGrant County · 11,815 peopleB+graded within the state·Overall B · #208 of 357
150BellevilleDane County · 2,705 peopleB+graded within the state·Overall A · #65 of 357
151MarshfieldWood County · 18,980 peopleB+graded within the state·Overall B+ · #157 of 357
152KronenwetterMarathon County · 8,413 peopleB+graded within the state·Overall A · #50 of 357
153ErinWashington County · 3,835 peopleB+graded within the state·Overall B · #215 of 357
T154Rice LakeBarron County · 8,882 peopleB+graded within the state·Overall C+ · #309 of 357
T154Rice LakeBarron County · 2,897 peopleB+graded within the state·Overall B+ · #144 of 357
156EvansvilleRock County · 5,837 peopleB+graded within the state·Overall B+ · #192 of 357
157VeronaDane County · 16,821 peopleB+graded within the state·Overall A+ · #23 of 357
158BurkeDane County · 3,089 peopleB+graded within the state·Overall A · #49 of 357
159MondoviBuffalo County · 2,853 peopleB+graded within the state·Overall C+ · #283 of 357
T160PlymouthSheboygan County · 8,821 peopleB+graded within the state·Overall A− · #103 of 357
T160PlymouthSheboygan County · 3,038 peopleB+graded within the state·Overall B+ · #172 of 357
162GenevaWalworth County · 5,443 peopleB+graded within the state·Overall A− · #85 of 357
163LyonsWalworth County · 3,635 peopleB+graded within the state·Overall B− · #236 of 357
T164RothschildMarathon County · 5,627 peopleB+graded within the state·Overall A− · #95 of 357
T164WestonMarathon County · 15,931 peopleB+graded within the state·Overall A− · #98 of 357
166Salem LakesKenosha County · 14,271 peopleB+graded within the state·Overall B− · #239 of 357
167HammondSt. Croix County · 2,732 peopleB+graded within the state·Overall B+ · #158 of 357
168AltoonaEau Claire County · 9,376 peopleB+graded within the state·Overall B · #224 of 357
169Mineral PointIowa County · 2,555 peopleB+graded within the state·Overall A+ · #19 of 357
170ViroquaVernon County · 4,435 peopleBgraded within the state·Overall A− · #117 of 357
T171DaytonWaupaca County · 2,608 peopleBgraded within the state·Overall B+ · #173 of 357
T171FarmingtonWaupaca County · 3,501 peopleBgraded within the state·Overall B · #211 of 357
T171WaupacaWaupaca County · 6,352 peopleBgraded within the state·Overall B− · #242 of 357
174AshwaubenonBrown County · 17,398 peopleBgraded within the state·Overall B · #200 of 357
175DoverRacine County · 4,202 peopleBgraded within the state·Overall A− · #143 of 357
176PewaukeeWaukesha County · 16,375 peopleBgraded within the state·Overall A− · #139 of 357
T177BristolDane County · 4,347 peopleBgraded within the state·Overall A− · #96 of 357
T177Sun PrairieDane County · 39,227 peopleBgraded within the state·Overall B+ · #149 of 357
179DenmarkBrown County · 2,875 peopleBgraded within the state·Overall A− · #128 of 357
180BloomfieldWalworth County · 6,369 peopleBgraded within the state·Overall B− · #245 of 357
181New HolsteinCalumet County · 3,040 peopleBgraded within the state·Overall A+ · #3 of 357
182DodgevilleIowa County · 5,076 peopleBgraded within the state·Overall B · #223 of 357
183ElkhornWalworth County · 10,045 peopleBgraded within the state·Overall A− · #116 of 357
184GeneseeWaukesha County · 7,235 peopleBgraded within the state·Overall B+ · #166 of 357
T185BurlingtonRacine County · 10,951 peopleBgraded within the state·Overall B+ · #194 of 357
T185BurlingtonRacine County · 6,403 peopleBgraded within the state·Overall B+ · #193 of 357
T187Pleasant SpringsDane County · 2,968 peopleBgraded within the state·Overall A · #66 of 357
T187StoughtonDane County · 13,256 peopleBgraded within the state·Overall A− · #133 of 357
189Paddock LakeKenosha County · 2,974 peopleBgraded within the state·Overall A− · #109 of 357
190MayvilleDodge County · 5,184 peopleBgraded within the state·Overall A− · #123 of 357
191WauwatosaMilwaukee County · 48,649 peopleBgraded within the state·Overall B · #197 of 357
192TainterDunn County · 2,690 peopleBgraded within the state·Overall C · #322 of 357
193HartfordWashington County · 16,005 peopleBgraded within the state·Overall B · #218 of 357
194BerlinGreen Lake County · 5,588 peopleBgraded within the state·Overall B · #219 of 357
195DeerfieldDane County · 2,619 peopleBgraded within the state·Overall A− · #131 of 357
196BeloitRock County · 8,014 peopleBgraded within the state·Overall B− · #252 of 357
T197MenomonieDunn County · 16,664 peopleBgraded within the state·Overall B+ · #177 of 357
T197MenomonieDunn County · 3,514 peopleBgraded within the state·Overall B+ · #189 of 357
199Cottage GroveDane County · 3,677 peopleBgraded within the state·Overall B− · #275 of 357
200OaklandJefferson County · 3,215 peopleBgraded within the state·Overall C+ · #302 of 357
201Arbor VitaeVilas County · 3,503 peopleBgraded within the state·Overall B+ · #179 of 357
T202Cottage GroveDane County · 8,930 peopleBgraded within the state·Overall A− · #86 of 357
T202MononaDane County · 8,664 peopleBgraded within the state·Overall B− · #234 of 357
T204BloomerChippewa County · 3,634 peopleBgraded within the state·Overall B · #205 of 357
T204FreedomOutagamie County · 6,354 peopleBgraded within the state·Overall A · #26 of 357
T206MukwaWaupaca County · 2,793 peopleBgraded within the state·Overall B− · #276 of 357
T206New LondonWaupaca County · 7,726 peopleBgraded within the state·Overall B+ · #174 of 357
208ChiltonCalumet County · 4,183 peopleBgraded within the state·Overall A · #28 of 357
209RandallKenosha County · 3,276 peopleB−graded within the state·Overall B+ · #153 of 357
210LomiraDodge County · 2,686 peopleB−graded within the state·Overall B · #216 of 357
211WheatonChippewa County · 2,785 peopleB−graded within the state·Overall B+ · #161 of 357
212Oconto FallsOconto County · 3,012 peopleB−graded within the state·Overall C+ · #280 of 357
213WaupunDodge County · 11,150 peopleB−graded within the state·Overall B · #201 of 357
T214MerrillLincoln County · 9,389 peopleB−graded within the state·Overall C · #329 of 357
T214MerrillLincoln County · 2,856 peopleB−graded within the state·Overall B− · #260 of 357
216EdgertonRock County · 6,121 peopleB−graded within the state·Overall B+ · #155 of 357
T217Fort AtkinsonJefferson County · 12,388 peopleB−graded within the state·Overall B+ · #191 of 357
T217KoshkonongJefferson County · 3,776 peopleB−graded within the state·Overall B− · #248 of 357
219GlendaleMilwaukee County · 14,795 peopleB−graded within the state·Overall C · #313 of 357
220GreenfieldMilwaukee County · 37,159 peopleB−graded within the state·Overall B− · #258 of 357
T221Lake DeltonSauk County · 3,451 peopleB−graded within the state·Overall B− · #230 of 357
T221Wisconsin DellsColumbia County · 3,149 peopleB−graded within the state·Overall C+ · #281 of 357
223LinnWalworth County · 2,707 peopleB−graded within the state·Overall B+ · #163 of 357
224JanesvilleRock County · 3,699 peopleB−graded within the state·Overall C+ · #291 of 357
225SpoonerWashburn County · 2,531 peopleB−graded within the state·Overall C · #315 of 357
226StocktonPortage County · 3,019 peopleB−graded within the state·Overall B+ · #156 of 357
T227SeymourEau Claire County · 3,261 peopleB−graded within the state·Overall B · #220 of 357
T227WashingtonEau Claire County · 7,478 peopleB−graded within the state·Overall B+ · #164 of 357
T229Eau ClaireEau Claire County · 72,465 peopleB−graded within the state·Overall B− · #264 of 357
T229UnionEau Claire County · 2,556 peopleB−graded within the state·Overall B+ · #195 of 357
T231Chippewa FallsChippewa County · 15,293 peopleB−graded within the state·Overall B− · #257 of 357
T231Eagle PointChippewa County · 3,267 peopleB−graded within the state·Overall B− · #253 of 357
T231Lake HallieChippewa County · 7,396 peopleB−graded within the state·Overall B− · #273 of 357
234ColumbusColumbia County · 5,400 peopleB−graded within the state·Overall A− · #100 of 357
235LincolnVilas County · 2,737 peopleB−graded within the state·Overall B− · #240 of 357
236JuneauDodge County · 2,706 peopleB−graded within the state·Overall A− · #137 of 357
T237MedfordTaylor County · 4,589 peopleB−graded within the state·Overall B− · #246 of 357
T237MedfordTaylor County · 2,506 peopleB−graded within the state·Overall B− · #237 of 357
239Fox LakeDodge County · 2,550 peopleB−graded within the state·Overall C · #324 of 357
240LafayetteChippewa County · 6,430 peopleB−graded within the state·Overall C+ · #312 of 357
241LodiColumbia County · 3,190 peopleB−graded within the state·Overall B+ · #151 of 357
242MinocquaOneida County · 5,062 peopleB−graded within the state·Overall C+ · #301 of 357
243MaustonJuneau County · 4,133 peopleB−graded within the state·Overall C · #316 of 357
244Sugar CreekWalworth County · 3,888 peopleB−graded within the state·Overall A− · #138 of 357
245Pleasant ValleyEau Claire County · 3,878 peopleB−graded within the state·Overall C+ · #286 of 357
246MonroeGreen County · 10,581 peopleB−graded within the state·Overall A− · #135 of 357
T247WaukeshaWaukesha County · 70,872 peopleB−graded within the state·Overall B+ · #184 of 357
T247Waukesha8,507 peopleB−graded within the state·No overall grade
249Twin LakesKenosha County · 6,338 peopleB−graded within the state·Overall B · #206 of 357
T250Prairie du SacSauk County · 4,316 peopleB−graded within the state·Overall B− · #262 of 357
T250Sauk CitySauk County · 3,439 peopleB−graded within the state·Overall B− · #270 of 357
T252HullPortage County · 5,239 peopleB−graded within the state·Overall B+ · #181 of 357
T252PloverPortage County · 14,274 peopleB−graded within the state·Overall B · #228 of 357
T252Stevens PointPortage County · 26,377 peopleB−graded within the state·Overall B · #212 of 357
255BrodheadGreen County · 3,214 peopleB−graded within the state·Overall B− · #244 of 357
256Sheboygan FallsSheboygan County · 8,687 peopleB−graded within the state·Overall A− · #134 of 357
257OcontoOconto County · 4,640 peopleC+graded within the state·Overall B · #222 of 357
258StettinMarathon County · 2,593 peopleC+graded within the state·Overall C+ · #299 of 357
259Williams BayWalworth County · 2,935 peopleC+graded within the state·Overall B+ · #187 of 357
T260MaineMarathon County · 2,621 peopleC+graded within the state·Overall A− · #112 of 357
T260Rib MountainMarathon County · 7,280 peopleC+graded within the state·Overall B · #229 of 357
T260WausauMarathon County · 40,188 peopleC+graded within the state·Overall B− · #274 of 357
263OmroWinnebago County · 3,639 peopleC+graded within the state·Overall B+ · #185 of 357
264JeffersonJefferson County · 7,814 peopleC+graded within the state·Overall C+ · #300 of 357
265NewboldOneida County · 2,869 peopleC+graded within the state·Overall C+ · #297 of 357
266TomahawkLincoln County · 3,387 peopleC+graded within the state·Overall C+ · #295 of 357
267RockRock County · 2,988 peopleC+graded within the state·Overall C · #332 of 357
T268Beaver DamDodge County · 16,542 peopleC+graded within the state·Overall B · #214 of 357
T268Beaver DamDodge County · 4,105 peopleC+graded within the state·Overall B · #203 of 357
270KewauneeKewaunee County · 2,793 peopleC+graded within the state·Overall A+ · #24 of 357
271ReedsburgSauk County · 10,641 peopleC+graded within the state·Overall C+ · #292 of 357
272JanesvilleRock County · 66,929 peopleC+graded within the state·Overall C+ · #307 of 357
273DunnDane County · 4,676 peopleC+graded within the state·Overall B− · #251 of 357
T274PelicanOneida County · 2,840 peopleC+graded within the state·Overall B− · #255 of 357
T274Pine LakeOneida County · 2,733 peopleC+graded within the state·Overall C+ · #284 of 357
T274RhinelanderOneida County · 8,242 peopleC+graded within the state·Overall B · #226 of 357
277PacificColumbia County · 2,769 peopleC+graded within the state·Overall B · #225 of 357
278PortageColumbia County · 9,956 peopleC+graded within the state·Overall C+ · #293 of 357
279WatertownJefferson County · 22,704 peopleC+graded within the state·Overall B− · #263 of 357
280EmpireFond du Lac County · 2,790 peopleC+graded within the state·Overall B− · #232 of 357
281ClintonvilleWaupaca County · 4,499 peopleC+graded within the state·Overall C · #314 of 357
282MarshallDane County · 3,696 peopleC+graded within the state·Overall B+ · #190 of 357
283OneidaOutagamie County · 4,568 peopleC+graded within the state·Overall B+ · #171 of 357
T284Grand RapidsWood County · 7,622 peopleC+graded within the state·Overall B+ · #175 of 357
T284Wisconsin RapidsWood County · 18,654 peopleC+graded within the state·Overall C− · #343 of 357
T286Bass LakeSawyer County · 2,896 peopleC+graded within the state·Overall C− · #344 of 357
T286HaywardSawyer County · 2,614 peopleC+graded within the state·Overall D · #348 of 357
T286HaywardSawyer County · 3,928 peopleC+graded within the state·Overall C− · #341 of 357
289BarronBarron County · 3,634 peopleC+graded within the state·Overall C · #320 of 357
290TaycheedahFond du Lac County · 4,690 peopleC+graded within the state·Overall B− · #243 of 357
291MenashaWinnebago County · 18,385 peopleC+graded within the state·Overall B− · #266 of 357
T292AppletonOutagamie County · 75,452 peopleCgraded within the state·Overall B+ · #168 of 357
T292Grand ChuteOutagamie County · 24,579 peopleCgraded within the state·Overall B− · #267 of 357
294PeshtigoMarinette County · 3,423 peopleCgraded within the state·Overall A · #75 of 357
295SuperiorDouglas County · 26,397 peopleCgraded within the state·Overall C+ · #294 of 357
T296Fond du LacFond du Lac County · 44,541 peopleCgraded within the state·Overall C · #327 of 357
T296Fond du LacFond du Lac County · 3,780 peopleCgraded within the state·Overall C+ · #278 of 357
T298SpartaMonroe County · 9,974 peopleCgraded within the state·Overall C− · #340 of 357
T298SpartaMonroe County · 3,277 peopleCgraded within the state·Overall C− · #335 of 357
T300AlgomaWinnebago County · 6,956 peopleCgraded within the state·Overall C+ · #279 of 357
T300OshkoshWinnebago County · 67,460 peopleCgraded within the state·Overall C+ · #298 of 357
302BarabooSauk County · 13,224 peopleCgraded within the state·Overall B− · #269 of 357
303MadisonDane County · 286,233 peopleCgraded within the state·Overall C+ · #289 of 357
T304CampbellLa Crosse County · 4,092 peopleCgraded within the state·Overall C · #319 of 357
T304La CrosseLa Crosse County · 50,784 peopleCgraded within the state·Overall C− · #342 of 357
T304ShelbyLa Crosse County · 4,668 peopleCgraded within the state·Overall B− · #259 of 357
T307ShawanoShawano County · 9,693 peopleCgraded within the state·Overall C · #321 of 357
T307WescottShawano County · 3,287 peopleCgraded within the state·Overall D− · #355 of 357
T309FriendshipFond du Lac County · 2,774 peopleCgraded within the state·Overall C+ · #288 of 357
T309North Fond du LacFond du Lac County · 5,425 peopleCgraded within the state·Overall C− · #339 of 357
311Johnson CreekJefferson County · 3,435 peopleCgraded within the state·Overall B− · #250 of 357
312LadysmithRusk County · 3,172 peopleCgraded within the state·Overall C− · #334 of 357
313ArcadiaTrempealeau County · 3,840 peopleCgraded within the state·Overall C+ · #282 of 357
314Brown DeerMilwaukee County · 12,821 peopleCgraded within the state·Overall C · #331 of 357
315WhitewaterWalworth County · 16,038 peopleCgraded within the state·Overall B− · #268 of 357
316TomahMonroe County · 9,600 peopleCgraded within the state·Overall D · #346 of 357
317DelavanWalworth County · 5,210 peopleCgraded within the state·Overall B · #213 of 357
318DelavanWalworth County · 9,228 peopleCgraded within the state·Overall C+ · #290 of 357
319St. FrancisMilwaukee County · 8,955 peopleC−graded within the state·Overall B− · #272 of 357
320StephensonMarinette County · 3,654 peopleC−graded within the state·Overall D · #354 of 357
321SeymourOutagamie County · 3,628 peopleC−graded within the state·Overall A · #80 of 357
322Genoa CityWalworth County · 2,866 peopleC−graded within the state·Overall C+ · #304 of 357
323WaterlooJefferson County · 3,600 peopleC−graded within the state·Overall B · #217 of 357
324SaratogaWood County · 5,141 peopleC−graded within the state·Overall C · #330 of 357
325WilsonSheboygan County · 3,401 peopleC−graded within the state·Overall C · #325 of 357
T326Black River FallsJackson County · 3,555 peopleC−graded within the state·Overall C+ · #310 of 357
T326BrockwayJackson County · 2,991 peopleC−graded within the state·Overall D · #353 of 357
T328KenoshaKenosha County · 99,239 peopleC−graded within the state·Overall C− · #333 of 357
T328Pleasant PrairieKenosha County · 21,798 peopleC−graded within the state·Overall C+ · #311 of 357
T328SomersKenosha County · 8,171 peopleC−graded within the state·Overall C− · #338 of 357
331BoscobelGrant County · 3,250 peopleC−graded within the state·Overall C− · #337 of 357
332PeshtigoMarinette County · 4,087 peopleC−graded within the state·Overall C · #317 of 357
333AntigoLanglade County · 8,060 peopleC−graded within the state·Overall C · #323 of 357
334ManitowocManitowoc County · 34,671 peopleC−graded within the state·Overall B− · #261 of 357
T335SheboyganSheboygan County · 49,376 peopleC−graded within the state·Overall C+ · #306 of 357
T335SheboyganSheboygan County · 8,615 peopleC−graded within the state·Overall B− · #265 of 357
337South MilwaukeeMilwaukee County · 20,191 peopleC−graded within the state·Overall B− · #271 of 357
338Richland CenterRichland County · 5,020 peopleDgraded within the state·Overall D · #345 of 357
339WalworthWalworth County · 2,759 peopleDgraded within the state·Overall C+ · #296 of 357
340MarinetteMarinette County · 11,168 peopleDgraded within the state·Overall C+ · #305 of 357
341Two RiversManitowoc County · 11,222 peopleDgraded within the state·Overall B · #221 of 357
T342West AllisMilwaukee County · 60,119 peopleDgraded within the state·Overall C+ · #308 of 357
T342West MilwaukeeMilwaukee County · 3,984 peopleDgraded within the state·Overall D · #349 of 357
344CudahyMilwaukee County · 17,655 peopleDgraded within the state·Overall B− · #256 of 357
345AlgomaKewaunee County · 3,225 peopleDgraded within the state·Overall B− · #249 of 357
T346AllouezBrown County · 13,838 peopleDgraded within the state·Overall B− · #235 of 357
T346BellevueBrown County · 16,776 peopleDgraded within the state·Overall C · #318 of 357
T346Green BayBrown County · 106,675 peopleDgraded within the state·Overall C− · #336 of 357
T346ScottBrown County · 3,650 peopleDgraded within the state·Overall C+ · #287 of 357
350McFarlandDane County · 9,145 peopleDgraded within the state·Overall B · #227 of 357
351AshlandAshland County · 7,927 peopleDgraded within the state·Overall D · #351 of 357
352Lac du FlambeauVilas County · 3,659 peopleDgraded within the state·Overall D− · #356 of 357
353New LisbonJuneau County · 2,577 peopleDgraded within the state·Overall C · #326 of 357
T354CaledoniaRacine County · 25,229 peopleDgraded within the state·Overall B− · #254 of 357
T354Mount PleasantRacine County · 28,253 peopleDgraded within the state·Overall C · #328 of 357
T354RacineRacine County · 77,908 peopleDgraded within the state·Overall D · #350 of 357
T354SturtevantRacine County · 6,852 peopleDgraded within the state·Overall B− · #277 of 357
358RomeAdams County · 3,420 peopleD−graded within the state·Overall D · #347 of 357
359BeloitRock County · 36,649 peopleD−graded within the state·Overall D · #352 of 357
360MilwaukeeMilwaukee County · 562,407 peopleD−graded within the state·Overall D− · #357 of 357
361LancasterGrant County · 4,031 peopleD−graded within the state·Overall C+ · #303 of 357
362MenomineeMenominee County · 4,199 peopleD−graded within the state·No overall grade
Quick answers

Questions people ask

Which Wisconsin town has the best schools?

Hartland (Waukesha County) ranks first on schools among 362 towns, with an A+; Bayside and Fox Point follow. Schools are compared within Wisconsin, 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 (362 in Wisconsin). Smaller towns have the grade on their page but no rank. Every town is on the Wisconsin page.

Go deeper

More Wisconsin lists

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

All Wisconsin rankings →
Other states

Towns with the best schools in other states