Guest, Sign inJoin
Clear lake iowaClear Lake, #1 on this list · Photo: Bill Whittaker · CC BY-SA 3.0
Iowa rankings · Climate

Snowiest towns in Iowa

Clear Lake gets the most snow of Iowa’s 140 towns of 2,500+ with a snow record: about 44 inches in a normal winter at its NOAA station. Fort Madison gets the least, about 18 inches; 0 of the 140 average 60 inches or more.

NOAA U.S. Climate Normals, 1991–2020, at each town’s nearest station with a snow record (named in each row). A described list: no letters. How grades work

#T1

Clear Lake

Cerro Gordo County · 7,601 people
44in

13 days a year with an inch or more·Mason City Muni AP station, 4 km

#T1

Garner

Hancock County · 3,029 people
44in

13 days a year with an inch or more·Mason City Muni AP station, 23 km

#T1

Mason City

Cerro Gordo County · 26,853 people
44in

13 days a year with an inch or more·Mason City Muni AP station, 10 km

All 140 towns

Snow in a normal winter, most first. Towns that share a station share its figure and rank (T = tied; 80 towns here share a station).

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

#TownSnow a yearDays with 1″+NOAA station
T1Clear LakeCerro Gordo County · 7,601 people44 in13Mason City Muni AP4.4 km
T1GarnerHancock County · 3,029 people44 in13Mason City Muni AP23.2 km
T1Mason CityCerro Gordo County · 26,853 people44 in13Mason City Muni AP10.3 km
4SpencerClay County · 11,218 people43 in14Spencer 1 N2.1 km
5AsburyDubuque County · 6,035 people42 in13Dubuque Rgnl AP14.2 km
T6SibleyOsceola County · 2,762 people42 in15Sibley0.6 km
T6Spirit LakeDickinson County · 5,525 people42 in14Spirit Lake2.2 km
8SheldonO'Brien County · 5,575 people41 in14Sheldon0.8 km
9CrescoHoward County · 3,925 people40 in15Cresco 1 NE2.7 km
T10TiptonCedar County · 3,060 people40 in14Lowden19.8 km
T10WaukonAllamakee County · 3,849 people40 in13Postville20.9 km
12OsageMitchell County · 3,552 people40 in14Osage0.4 km
13OelweinFayette County · 5,757 people39 in13Oelwein 1e3.2 km
T14Cedar FallsBlack Hawk County · 41,240 people39 in12Waterloo Muni AP5.9 km
T14EvansdaleBlack Hawk County · 4,463 people39 in12Waterloo Muni AP14.6 km
T14HudsonBlack Hawk County · 3,028 people39 in12Waterloo Muni AP13.9 km
T14WaterlooBlack Hawk County · 66,919 people39 in12Waterloo Muni AP8.0 km
T14WaverlyBremer County · 10,561 people39 in12Waterloo Muni AP19.5 km
T19Fort DodgeWebster County · 24,837 people39 in16Ft Dodge 5nnw8.4 km
T19HumboldtHumboldt County · 4,675 people39 in16Ft Dodge 5nnw15.6 km
21New HamptonChickasaw County · 3,420 people38 in13NEW Hampton1.2 km
22Forest CityWinnebago County · 4,143 people38 in13Lake Mills19.7 km
T23EsthervilleEmmet County · 5,807 people38 in12Milford 4 NW28.3 km
T23GrimesPolk County · 17,405 people38 in12Des Moines Wsfo-johnston9.3 km
T23MilfordDickinson County · 3,209 people38 in12Milford 4 NW5.6 km
T23UrbandalePolk County · 48,570 people38 in12Des Moines Wsfo-johnston12.1 km
27CherokeeCherokee County · 5,122 people38 in12Cherokee1.5 km
T28Charles CityFloyd County · 7,013 people38 in13Charles City0.2 km
T28DecorahWinneshiek County · 7,417 people38 in14Decorah0.9 km
T30AlgonaKossuth County · 5,309 people37 in12Emmetsburg36.8 km
T30EmmetsburgPalo Alto County · 3,684 people37 in12Emmetsburg1.4 km
T32CarlisleWarren County · 4,532 people36 in11Des Moines Intl AP14.5 km
T32ClivePolk County · 19,861 people36 in11Des Moines Intl AP15.1 km
T32Des MoinesPolk County · 212,086 people36 in11Des Moines Intl AP5.6 km
T32NorwalkWarren County · 15,004 people36 in11Des Moines Intl AP6.4 km
T32Pleasant HillPolk County · 11,239 people36 in11Des Moines Intl AP14.3 km
T32WaukeeDallas County · 34,890 people36 in11Des Moines Intl AP20.1 km
T32West Des MoinesPolk County · 74,224 people36 in11Des Moines Intl AP10.8 km
T32Windsor HeightsPolk County · 5,059 people36 in11Des Moines Intl AP9.3 km
T40BettendorfScott County · 40,710 people36 in11Moline Quad City Intl AP12.0 km
T40DavenportScott County · 100,358 people36 in11Moline Quad City Intl AP12.2 km
T40DubuqueDubuque County · 59,148 people36 in12Dubuque L&d 116.8 km
T43Sergeant BluffWoodbury County · 5,324 people36 in11Sioux City Gateway AP2.4 km
T43Sioux CityWoodbury County · 86,356 people36 in11Sioux City Gateway AP11.6 km
45BooneBoone County · 12,471 people36 in11Boone1.7 km
46Rock RapidsLyon County · 2,733 people35 in12Rock Rapids0.3 km
47Sioux CenterSioux County · 8,864 people35 in14Sioux Ctr 2 SE2.7 km
48ManchesterDelaware County · 5,357 people35 in11Manchester #21.4 km
T49CarrollCarroll County · 10,085 people34 in12Denison38.5 km
T49DenisonCrawford County · 8,214 people34 in12Denison3.0 km
T51HiawathaLinn County · 7,432 people34 in10Cedar Rapids #18.4 km
T51MarionLinn County · 42,732 people34 in10Cedar Rapids #10.6 km
T51Mount VernonLinn County · 4,514 people34 in10Cedar Rapids #119.3 km
T51RobinsLinn County · 3,366 people34 in10Cedar Rapids #17.8 km
T51Rock ValleySioux County · 4,188 people34 in12Rock Valley1.4 km
T56IndependenceBuchanan County · 6,312 people34 in11Independence #17.5 km
T56JesupBuchanan County · 2,557 people34 in11Independence #116.5 km
T58Center PointLinn County · 2,572 people34 in12Vinton18.8 km
T58VintonBenton County · 5,004 people34 in12Vinton1.7 km
60EldoraHardin County · 2,593 people33 in11Eldora0.6 km
T61Eagle GroveWright County · 3,653 people33 in13Webster City23.6 km
T61Webster CityHamilton County · 7,815 people33 in13Webster City1.8 km
T63PerryDallas County · 8,208 people33 in10Jamaica 3.2 S18.4 km
T63TamaTama County · 3,011 people33 in13Toledo 3n7.9 km
T65AmesStory County · 68,220 people33 in11Ames 8 WSW12.6 km
T65MadridBoone County · 2,820 people33 in11Ames 8 WSW16.6 km
67Grundy CenterGrundy County · 2,814 people32 in11Grundy Ctr1.2 km
68Story CityStory County · 3,382 people32 in12Jewell13.5 km
T69CamancheClinton County · 4,557 people32 in11Clinton #11.0 km
T69ClintonClinton County · 24,049 people32 in11Clinton #15.6 km
T69Le ClaireScott County · 4,741 people32 in11Clinton #124.0 km
72JeffersonGreene County · 4,150 people32 in10Jefferson1.6 km
T73AnamosaJones County · 5,901 people31 in10Cascade30.2 km
T73ClarionWright County · 2,758 people31 in12Clarion1.4 km
T73DyersvilleDubuque County · 4,574 people31 in10Cascade22.3 km
T73MonticelloJones County · 4,104 people31 in10Cascade16.2 km
77GrinnellPoweshiek County · 9,430 people31 in11Grinnell 3 SW2.6 km
T78Le MarsPlymouth County · 10,760 people31 in9Le Mars2.2 km
T78Storm LakeBuena Vista County · 11,590 people31 in12Sac City30.7 km
80IndianolaWarren County · 16,829 people31 in10Indianola 2w6.9 km
81WintersetMadison County · 5,520 people31 in12Winterset 1s3.3 km
82HawardenSioux County · 2,665 people31 in11Hawarden0.3 km
83HarlanShelby County · 4,859 people30 in9Harlan0.8 km
84MaquoketaJackson County · 6,027 people30 in11Maquoketa1.9 km
T85AlbiaMonroe County · 3,599 people30 in9Albia 3 NNE4.6 km
T85KnoxvilleMarion County · 7,469 people30 in9Albia 3 NNE38.6 km
T85PellaMarion County · 10,992 people30 in9Albia 3 NNE39.3 km
88WiltonMuscatine County · 2,892 people29 in10Muscatine 2n13.2 km
T89Cedar RapidsLinn County · 137,935 people29 in9Swisher #212.9 km
T89North LibertyJohnson County · 21,976 people29 in9Swisher #213.4 km
T89SolonJohnson County · 3,345 people29 in9Swisher #216.7 km
T92DeWittClinton County · 5,704 people29 in10De Witt1.4 km
T92EldridgeScott County · 6,954 people29 in10De Witt19.4 km
T92Missouri ValleyHarrison County · 2,616 people29 in11Logan12.9 km
T92NewtonJasper County · 15,741 people29 in11Newton1.9 km
T96OsceolaClarke County · 5,679 people28 in9Osceola3.5 km
T96WilliamsburgIowa County · 3,408 people28 in10Williamsburg 1e1.4 km
T98HamptonFranklin County · 4,264 people28 in12Iowa Falls25.1 km
T98Iowa FallsHardin County · 5,013 people28 in12Iowa Falls1.1 km
T100CoralvilleJohnson County · 23,960 people28 in10Iowa City12.5 km
T100Iowa CityJohnson County · 76,229 people28 in10Iowa City5.6 km
T100KalonaWashington County · 2,811 people28 in10Iowa City21.3 km
T100TiffinJohnson County · 7,156 people28 in10Iowa City16.6 km
T100West BranchCedar County · 2,956 people28 in10Iowa City14.8 km
T100West LibertyMuscatine County · 3,717 people28 in10Iowa City20.6 km
106Red OakMontgomery County · 5,388 people27 in9Red Oak1.9 km
T107AtlanticCass County · 6,676 people27 in9Atlantic 1 NE3.1 km
T107HuxleyStory County · 4,715 people27 in13Ames 5 SE6.6 km
T107NevadaStory County · 6,974 people27 in13Ames 5 SE10.8 km
110FairfaxLinn County · 2,925 people27 in11Walford 2 SE7.3 km
T111Carter LakePottawattamie County · 3,670 people27 in8Omaha Eppley Airfield2.8 km
T111Council BluffsPottawattamie County · 62,680 people27 in8Omaha Eppley Airfield9.1 km
113Orange CitySioux County · 6,468 people27 in10Alton3.1 km
114ShenandoahPage County · 4,808 people26 in9Shenandoah2.0 km
115CrestonUnion County · 7,335 people26 in10Greenfield26.9 km
T116GlenwoodMills County · 5,287 people25 in10Plattsmouth 1e12.1 km
T116MarshalltownMarshall County · 27,536 people25 in11Marshalltown3.7 km
118WashingtonWashington County · 7,261 people25 in9Washington2.1 km
119Mount PleasantHenry County · 8,500 people25 in11Mt Pleasant 1 SSW2.1 km
T120AdelDallas County · 7,098 people25 in9Ankeny33.1 km
T120AltoonaPolk County · 22,796 people25 in9Ankeny16.8 km
T120AnkenyPolk County · 77,833 people25 in9Ankeny4.1 km
T120BondurantPolk County · 9,647 people25 in9Ankeny17.1 km
T120JohnstonPolk County · 25,065 people25 in9Ankeny7.6 km
T120MitchellvillePolk County · 2,671 people25 in9Ankeny24.5 km
T120Polk CityPolk County · 6,630 people25 in9Ankeny8.2 km
T120Saylorvilleunincorporated, Polk County · 3,366 people25 in9Ankeny6.0 km
128BloomfieldDavis County · 2,785 people24 in10Bloomfield1.1 km
129CharitonLucas County · 4,347 people24 in9Chariton 1 E2.6 km
130OnawaMonona County · 2,821 people24 in9Kennebec9.4 km
T131OskaloosaMahaska County · 11,493 people24 in8Ottumwa Industrial AP26.2 km
T131OttumwaWapello County · 25,319 people24 in8Ottumwa Industrial AP9.7 km
133MuscatineMuscatine County · 23,164 people24 in9Muscatine1.4 km
134KeokukLee County · 9,510 people23 in9Bentley25.6 km
135ClarindaPage County · 5,273 people23 in9Clarinda1.9 km
T136BurlingtonDes Moines County · 23,336 people22 in8Burlington 2s3.7 km
T136West BurlingtonDes Moines County · 3,358 people22 in8Burlington 2s7.2 km
138FairfieldJefferson County · 9,220 people22 in10Fairfield1.9 km
139CentervilleAppanoose County · 5,327 people22 in8Centerville1.5 km
140Fort MadisonLee County · 9,935 people18 in8Ft Madison1.0 km

A station’s normal can differ from the town’s own when the station sits higher or lower; each town’s Climate page names its station and checks it.

Quick answers

Questions people ask

Which Iowa town gets the most snow?

Mason City (Cerro Gordo County), about 44 inches in a normal winter at the Mason City Muni AP station.

What part of Iowa gets the least amount of snow?

Among towns of 2,500+, the least snow falls in Fort Madison (Lee County, about 18 in), Centerville (Appanoose County, about 22 in), Fairfield (Jefferson County, about 22 in), on NOAA’s 1991–2020 normals at each town’s station. See the towns with the least snow.

Why isn’t my town on this list?

The list covers towns of 2,500+ residents (140 in Iowa) whose nearest station has a snow normal of an inch or more; 0 have no station with a snow record. Smaller towns show their snow on their own Climate 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

Snowiest towns in other states