Guest, Sign inJoin
Dent County CourthouseSalem, #1 on this list · Dent County Courthouse · Photo: Kbh3rd · CC BY 4.0
Missouri rankings · Climate

Towns with the least snow in Missouri

Salem gets the least snow of Missouri’s 246 towns of 2,500+ with a snow record: about 1 inches in a normal winter at its NOAA station. Bethany gets the most, about 21 inches; 246 of the 246 average under 30 inches.

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

#1

Salem

Dent County · 4,674 people
1in

0 days a year with an inch or more·Salem station, 1 km

All 246 towns

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

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

#TownSnow a yearDays with 1″+NOAA station
1SalemDent County · 4,674 people1 in0Salem0.6 km
2El Dorado SpringsCedar County · 3,642 people2 in1Eldorado Springs0.7 km
T3Independence TownshipDunklin County · 11,792 people3 in1Blytheville36.7 km
T3KennettDunklin County · 10,118 people3 in1Blytheville37.4 km
T5Cotton Hill TownshipDunklin County · 4,700 people3 in1Saint Francis17.9 km
T5Union TownshipDunklin County · 3,242 people3 in1Saint Francis9.6 km
T7Castor TownshipStoddard County · 4,651 people3 in2Sikeston Pwr Stn28.4 km
T7CharlestonMississippi County · 4,731 people3 in2Sikeston Pwr Stn26.1 km
T7DexterStoddard County · 7,851 people3 in2Sikeston Pwr Stn31.7 km
T7East PrairieMississippi County · 2,841 people3 in2Sikeston Pwr Stn23.9 km
T7Pike TownshipStoddard County · 3,577 people3 in2Sikeston Pwr Stn26.2 km
T7SikestonScott County · 15,983 people3 in2Sikeston Pwr Stn3.3 km
13Piney TownshipTexas County · 5,071 people4 in2Houston1.0 km
T14CamdentonCamden County · 4,050 people4 in2Lakeside24.0 km
T14EldonMiller County · 4,785 people4 in2Lakeside16.8 km
T14Osage BeachCamden County · 5,079 people4 in2Lakeside7.8 km
T14Ste. GenevieveSte. Genevieve County · 5,065 people4 in2Kaskaskia Rvr Navigation Lock9.3 km
18PerryvillePerry County · 8,593 people5 in2Perryville Wtp3.9 km
T19MarshfieldWebster County · 8,078 people5 in2Marshfield 4 WSW6.7 km
T19RogersvilleWebster County · 5,754 people5 in2Marshfield 4 WSW24.6 km
T19StraffordGreene County · 2,789 people5 in2Marshfield 4 WSW13.4 km
T22Duck Creek TownshipStoddard County · 3,016 people5 in2Poplar Bluff27.6 km
T22Liberty TownshipStoddard County · 14,741 people5 in2Poplar Bluff34.4 km
T22Poplar BluffButler County · 16,295 people5 in2Poplar Bluff1.0 km
T25Center TownshipVernon County · 9,550 people6 in3Nevada Wtp4.3 km
T25Mountain ViewHowell County · 2,661 people6 in2White Church 6 NNE8.4 km
T25NevadaVernon County · 8,404 people6 in3Nevada Wtp2.2 km
T28CaruthersvillePemiscot County · 5,211 people7 in3Portageville26.0 km
T28MaldenDunklin County · 3,493 people7 in3Portageville33.8 km
T28New MadridNew Madrid County · 2,586 people7 in3Portageville23.4 km
T28PortagevilleNew Madrid County · 2,702 people7 in3Portageville1.8 km
T32CassvilleBarry County · 3,301 people7 in2Monett 4sw22.1 km
T32MonettBarry County · 10,248 people7 in2Monett 4sw7.4 km
T34BransonTaney County · 12,921 people7 in2Ozark Beach17.5 km
T34ForsythTaney County · 2,752 people7 in2Ozark Beach1.3 km
T34HollisterTaney County · 4,690 people7 in2Omaha 2s.19.7 km
T34NixaChristian County · 26,597 people7 in2Ozark6.2 km
T34OzarkChristian County · 23,544 people7 in2Ozark2.1 km
39BolivarPolk County · 11,994 people7 in2Stockton Dam33.0 km
T40City TownshipBarton County · 4,337 people7 in2Lamar 7n11.6 km
T40LamarBarton County · 4,337 people7 in2Lamar 7n11.6 km
T42Cape GirardeauCape Girardeau County · 40,977 people8 in2Jackson12.3 km
T42ChaffeeScott County · 3,017 people8 in2Jackson21.9 km
T42JacksonCape Girardeau County · 16,033 people8 in2Jackson1.2 km
T42Scott CityScott County · 4,593 people8 in2Jackson20.6 km
46CameronClinton County · 7,341 people8 in3Hamilton 2w16.9 km
47AvaDouglas County · 3,231 people8 in3Mansfield18.6 km
T48Carl JunctionJasper County · 8,484 people8 in3Waco 4n15.0 km
T48OronogoJasper County · 3,204 people8 in3Waco 4n16.5 km
T50WarrentonWarren County · 9,667 people8 in3Washington33.9 km
T50WashingtonFranklin County · 15,906 people8 in3Washington3.7 km
T52CarthageJasper County · 15,895 people8 in3Neosho31.6 km
T52ChesterfieldSt. Louis County · 49,309 people8 in3St Charles 7 SSW5.7 km
T52Clarkson ValleySt. Louis County · 2,540 people8 in3St Charles 7 SSW9.2 km
T52Creve CoeurSt. Louis County · 18,480 people8 in3St Charles 7 SSW7.4 km
T52JoplinJasper County · 53,930 people8 in3Neosho26.5 km
T52MarshallSaline County · 13,766 people8 in3Marshall2.7 km
T52Maryland HeightsSt. Louis County · 27,559 people8 in3St Charles 7 SSW5.7 km
T52NeoshoNewton County · 14,078 people8 in3Neosho2.6 km
T52St. ClairFranklin County · 4,813 people8 in3Sullivan18.0 km
T52SullivanFranklin County · 6,942 people8 in3Sullivan3.1 km
T52Town and CountrySt. Louis County · 11,619 people8 in3St Charles 7 SSW7.1 km
T52Webb CityJasper County · 13,459 people8 in3Neosho32.2 km
64LebanonLaclede County · 15,663 people8 in3Lebanon 2w3.3 km
T65BeltonCass County · 26,193 people9 in3Unity Village18.4 km
T65Blue SpringsJackson County · 61,632 people9 in3Unity Village13.2 km
T65Grain ValleyJackson County · 16,908 people9 in3Unity Village17.5 km
T65GrandviewJackson County · 26,653 people9 in3Unity Village13.2 km
T65Lake LotawanaJackson County · 2,756 people9 in3Unity Village13.0 km
T65Lee's SummitJackson County · 107,514 people9 in3Unity Village3.1 km
T65RaymoreCass County · 26,633 people9 in3Unity Village17.0 km
T65RaytownJackson County · 29,154 people9 in3Unity Village7.6 km
T73Bonne TerreSt. Francois County · 6,636 people9 in3Farmington18.5 km
T73DeslogeSt. Francois County · 4,819 people9 in3Farmington13.3 km
T73FarmingtonSt. Francois County · 19,226 people9 in3Farmington1.9 km
T73Park HillsSt. Francois County · 8,753 people9 in3Farmington8.2 km
T73Terre du Lacunincorporated, St. Francois County · 2,516 people9 in3Farmington22.2 km
T73West PlainsHowell County · 12,780 people9 in2W Plains1.3 km
79Oakvilleunincorporated, St. Louis County · 35,333 people9 in4Waterloo16.5 km
T80Holts SummitCallaway County · 4,773 people9 in4Jefferson City Wtp9.2 km
T80Jefferson CityCole County · 42,489 people9 in4Jefferson City Wtp2.1 km
T82BuffaloDallas County · 3,550 people9 in4Buffalo 2n2.6 km
T82St. CharlesSt. Charles County · 72,561 people9 in3St Charles Elm Pt2.1 km
T82St. PetersSt. Charles County · 61,479 people9 in3St Charles Elm Pt8.7 km
85De SotoJefferson County · 6,527 people9 in3De Soto4.8 km
T86Barnhartunincorporated, Jefferson County · 5,785 people9 in3Festus11.6 km
T86Crystal CityJefferson County · 4,694 people9 in3Festus1.9 km
T86FestusJefferson County · 14,066 people9 in3Festus1.8 km
T86HerculaneumJefferson County · 5,402 people9 in3Festus2.8 km
T86HillsboroJefferson County · 3,493 people9 in3Festus14.8 km
T86Imperialunincorporated, Jefferson County · 5,488 people9 in3Festus13.4 km
T86PevelyJefferson County · 6,239 people9 in3Festus6.2 km
93FredericktownMadison County · 4,584 people9 in3Fredericktown1.3 km
T94ButlerBates County · 4,317 people10 in3Butler 4w5.7 km
T94Mount Pleasant TownshipBates County · 5,093 people10 in3Butler 4w5.1 km
T96CaliforniaMoniteau County · 4,523 people10 in4California0.9 km
T96TiptonMoniteau County · 2,766 people10 in4California19.7 km
T96VersaillesMorgan County · 2,713 people10 in4California33.2 km
99LouisianaPike County · 3,208 people10 in3Louisiana1.8 km
T100Afftonunincorporated, St. Louis County · 19,052 people10 in4Valley Park14.4 km
T100ArnoldJefferson County · 20,994 people10 in4Valley Park18.1 km
T100BallwinSt. Louis County · 30,901 people10 in4Valley Park6.5 km
T100BrentwoodSt. Louis County · 8,079 people10 in4Valley Park14.4 km
T100Byrnes MillJefferson County · 3,183 people10 in4Valley Park14.9 km
T100Concordunincorporated, St. Louis County · 18,368 people10 in4Valley Park13.3 km
T100CrestwoodSt. Louis County · 12,207 people10 in4Valley Park9.9 km
T100Des PeresSt. Louis County · 9,102 people10 in4Valley Park6.1 km
T100EllisvilleSt. Louis County · 10,315 people10 in4Valley Park9.1 km
T100FentonSt. Louis County · 4,060 people10 in4Valley Park4.8 km
T100Fort Leonard Woodunincorporated, Pulaski County · 15,432 people10 in2Waynesville 2 W11.1 km
T100FrontenacSt. Louis County · 3,790 people10 in4Valley Park10.3 km
T100GlendaleSt. Louis County · 6,060 people10 in4Valley Park10.3 km
T100Green ParkSt. Louis County · 2,670 people10 in4Valley Park13.9 km
T100High Ridgeunincorporated, Jefferson County · 3,714 people10 in4Valley Park11.3 km
T100KirkwoodSt. Louis County · 29,331 people10 in4Valley Park6.7 km
T100LadueSt. Louis County · 8,934 people10 in4Valley Park12.8 km
T100ManchesterSt. Louis County · 18,069 people10 in4Valley Park3.1 km
T100Mehlvilleunincorporated, St. Louis County · 29,805 people10 in4Valley Park16.6 km
T100Murphyunincorporated, Jefferson County · 8,285 people10 in4Valley Park7.3 km
T100Rock HillSt. Louis County · 4,668 people10 in4Valley Park12.3 km
T100Sappingtonunincorporated, St. Louis County · 7,367 people10 in4Valley Park10.9 km
T100ShrewsburySt. Louis County · 6,231 people10 in4Valley Park14.6 km
T100St. RobertPulaski County · 5,602 people10 in2Waynesville 2 W6.8 km
T100Sunset HillsSt. Louis County · 9,075 people10 in4Valley Park7.8 km
T100Valley ParkSt. Louis County · 6,767 people10 in4Valley Park0.9 km
T100WaynesvillePulaski County · 5,558 people10 in2Waynesville 2 W1.2 km
T100Webster GrovesSt. Louis County · 23,450 people10 in4Valley Park12.4 km
128FayetteHoward County · 2,848 people10 in4NEW Franklin 1w15.7 km
T129Burdine TownshipTexas County · 3,327 people10 in4Mtn Grove 2 N16.6 km
T129Mountain GroveWright County · 4,754 people10 in4Mtn Grove 2 N2.3 km
131OwensvilleGasconade County · 2,802 people10 in4Freedom21.7 km
T132Glasgow Villageunincorporated, St. Louis County · 5,504 people11 in4Edwardsville 2 W17.9 km
T132Spanish Lakeunincorporated, St. Louis County · 17,873 people11 in4Edwardsville 2 W17.9 km
T134Kansas CityJackson County · 521,220 people11 in4Kansas City Downtown AP4.0 km
T134LickingTexas County · 2,958 people11 in3Licking 4n6.3 km
T134North Kansas CityClay County · 5,613 people11 in4Kansas City Downtown AP3.4 km
T134RiversidePlatte County · 4,581 people11 in4Kansas City Downtown AP6.5 km
T134Sherrill TownshipTexas County · 5,574 people11 in3Licking 4n6.2 km
T139ClintonHenry County · 9,504 people11 in4Clinton2.7 km
T139WindsorHenry County · 2,869 people11 in4Clinton26.5 km
T139Windsor TownshipHenry County · 3,454 people11 in4Clinton23.0 km
T142EurekaSt. Louis County · 13,422 people11 in3Pacific10.9 km
T142Gray Summitunincorporated, Franklin County · 2,991 people11 in3Pacific4.8 km
T142PacificFranklin County · 7,824 people11 in3Pacific1.9 km
T142Villa Ridgeunincorporated, Franklin County · 2,835 people11 in3Pacific10.0 km
T142WildwoodSt. Louis County · 34,955 people11 in3Pacific13.5 km
147PotosiWashington County · 2,568 people12 in5Potosi 4 SW7.2 km
T148AuroraLawrence County · 7,686 people12 in4Billings 1sw15.9 km
T148CleverChristian County · 3,143 people12 in4Billings 1sw9.6 km
T148Mount VernonLawrence County · 4,835 people12 in4Billings 1sw22.3 km
T148Oak GroveJackson County · 9,370 people12 in5Elm17.4 km
T148OdessaLafayette County · 5,721 people12 in5Elm15.8 km
T148WarrensburgJohnson County · 20,283 people12 in5Elm30.0 km
154Knob NosterJohnson County · 2,997 people12 in5Sweet Springs25.3 km
T155HannibalMarion County · 16,804 people12 in7Palmyra11.8 km
T155PalmyraMarion County · 3,649 people12 in7Palmyra3.5 km
157CarrolltonCarroll County · 3,499 people13 in5Carrollton0.7 km
T158SedaliaPettis County · 22,621 people13 in4Sedalia Wtp3.5 km
T158Whiteman AFBunincorporated, Johnson County · 3,517 people13 in4Sedalia Wtp29.0 km
T160BucknerJackson County · 2,891 people13 in5Independence18.0 km
T160IndependenceJackson County · 121,675 people13 in5Independence3.7 km
T160LibertyClay County · 31,319 people13 in5Independence19.8 km
T160Pleasant ValleyClay County · 2,747 people13 in5Independence18.8 km
T160Sugar CreekJackson County · 3,209 people13 in5Independence8.9 km
165BoonvilleCooper County · 7,867 people13 in6Boonville1.6 km
T166CottlevilleSt. Charles County · 6,717 people14 in5Weldon Spring NWS6.2 km
T166Dardenne PrairieSt. Charles County · 15,032 people14 in5Weldon Spring NWS5.5 km
T166Lake St. LouisSt. Charles County · 19,129 people14 in5Weldon Spring NWS12.7 km
T166O'FallonSt. Charles County · 96,101 people14 in5Weldon Spring NWS9.5 km
T166St. PaulSt. Charles County · 3,849 people14 in5Weldon Spring NWS17.4 km
T166Weldon SpringSt. Charles County · 5,301 people14 in5Weldon Spring NWS2.9 km
T166WentzvilleSt. Charles County · 49,495 people14 in5Weldon Spring NWS20.6 km
T166Wright CityWarren County · 5,854 people14 in5Weldon Spring NWS34.0 km
T174BattlefieldGreene County · 6,361 people14 in4Springfield13.2 km
T174HigginsvilleLafayette County · 4,770 people14 in5Higginsville1.9 km
T174RepublicGreene County · 22,404 people14 in4Springfield7.5 km
T174SpringfieldGreene County · 169,847 people14 in4Springfield10.5 km
T174WillardGreene County · 6,904 people14 in4Springfield6.6 km
T179Lemayunincorporated, St. Louis County · 16,228 people14 in5Cahokia8.7 km
T179LexingtonLafayette County · 4,568 people14 in5Lexington 3e1.2 km
T179RichmondRay County · 5,968 people14 in5Lexington 3e14.4 km
T179St. LouisSt. Louis city · 278,144 people14 in5Cahokia8.8 km
183ChillicotheLivingston County · 9,114 people14 in6Chillicothe 2s2.4 km
184UnionFranklin County · 13,445 people14 in5Union1.0 km
T185CentraliaBoone County · 4,767 people15 in5Moberly34.9 km
T185MaconMacon County · 5,532 people15 in5Moberly36.0 km
T185MoberlyRandolph County · 13,719 people15 in5Moberly0.1 km
T188MaryvilleNodaway County · 10,092 people15 in5Maryville 2e3.1 km
T188Polk TownshipNodaway County · 13,673 people15 in5Maryville 2e2.7 km
T190Bowling GreenPike County · 4,472 people16 in4Bowling Green 1 E2.7 km
T190VandaliaAudrain County · 3,029 people16 in4Bowling Green 1 E27.7 km
192Monroe CityMonroe County · 2,714 people16 in6Shelbina27.1 km
T193Moscow MillsLincoln County · 4,388 people16 in5Elsberry 1 S26.6 km
T193TroyLincoln County · 15,201 people16 in5Elsberry 1 S26.1 km
195AshlandBoone County · 5,221 people16 in5Columbia Rgnl AP1.9 km
T196Bellefontaine NeighborsSt. Louis County · 10,368 people17 in5St Louis Lambert Intl AP12.6 km
T196BerkeleySt. Louis County · 8,026 people17 in5St Louis Lambert Intl AP3.3 km
T196Black JackSt. Louis County · 6,547 people17 in5St Louis Lambert Intl AP10.9 km
T196Breckenridge HillsSt. Louis County · 4,350 people17 in5St Louis Lambert Intl AP4.1 km
T196BridgetonSt. Louis County · 11,277 people17 in5St Louis Lambert Intl AP4.4 km
T196ClaytonSt. Louis County · 17,807 people17 in5St Louis Lambert Intl AP12.6 km
T196DellwoodSt. Louis County · 4,825 people17 in5St Louis Lambert Intl AP8.4 km
T196FergusonSt. Louis County · 17,953 people17 in5St Louis Lambert Intl AP6.8 km
T196FlorissantSt. Louis County · 51,124 people17 in5St Louis Lambert Intl AP6.6 km
T196HazelwoodSt. Louis County · 24,849 people17 in5St Louis Lambert Intl AP5.1 km
T196JenningsSt. Louis County · 13,093 people17 in5St Louis Lambert Intl AP10.0 km
T196MaplewoodSt. Louis County · 8,033 people17 in5St Louis Lambert Intl AP16.2 km
T196NormandySt. Louis County · 4,380 people17 in5St Louis Lambert Intl AP8.1 km
T196NorthwoodsSt. Louis County · 3,579 people17 in5St Louis Lambert Intl AP9.6 km
T196Old Jamestownunincorporated, St. Louis County · 20,651 people17 in5St Louis Lambert Intl AP12.0 km
T196OlivetteSt. Louis County · 8,937 people17 in5St Louis Lambert Intl AP8.9 km
T196OverlandSt. Louis County · 15,474 people17 in5St Louis Lambert Intl AP6.3 km
T196PagedaleSt. Louis County · 2,511 people17 in5St Louis Lambert Intl AP9.8 km
T196Pine LawnSt. Louis County · 2,682 people17 in5St Louis Lambert Intl AP10.6 km
T196Richmond HeightsSt. Louis County · 9,093 people17 in5St Louis Lambert Intl AP14.0 km
T196St. AnnSt. Louis County · 12,617 people17 in5St Louis Lambert Intl AP3.1 km
T196St. JohnSt. Louis County · 6,441 people17 in5St Louis Lambert Intl AP4.8 km
T196University CitySt. Louis County · 34,657 people17 in5St Louis Lambert Intl AP10.3 km
T196Woodson TerraceSt. Louis County · 3,902 people17 in5St Louis Lambert Intl AP2.9 km
T220GreenwoodJackson County · 6,315 people17 in6Pleasant Hill Wfo7.0 km
T220HarrisonvilleCass County · 10,040 people17 in6Pleasant Hill Wfo19.3 km
T220PeculiarCass County · 6,365 people17 in6Pleasant Hill Wfo19.8 km
T220Pleasant HillCass County · 8,956 people17 in6Pleasant Hill Wfo1.1 km
224TrentonGrundy County · 5,557 people17 in7Trenton0.5 km
T225CubaCrawford County · 3,288 people17 in6Rolla Missouri S&t34.7 km
T225RollaPhelps County · 20,588 people17 in6Rolla Missouri S&t1.7 km
T225St. JamesPhelps County · 3,925 people17 in6Rolla Missouri S&t15.1 km
228ColumbiaBoone County · 130,851 people17 in5Columbia U of M0.7 km
229CantonLewis County · 2,763 people18 in6Steffenville35.4 km
T230GladstoneClay County · 27,497 people18 in6Kansas City Intl AP17.5 km
T230ParkvillePlatte County · 9,093 people18 in6Kansas City Intl AP9.5 km
T230Platte CityPlatte County · 4,911 people18 in6Kansas City Intl AP7.3 km
T230SmithvilleClay County · 11,160 people18 in6Kansas City Intl AP17.6 km
T234BrookfieldLinn County · 4,083 people19 in8Brookfield2.8 km
T234FultonCallaway County · 12,853 people19 in6Fulton1.1 km
T234Marceline TownshipLinn County · 2,589 people19 in8Brookfield10.8 km
T234MexicoAudrain County · 11,558 people19 in6Fulton35.4 km
238KirksvilleAdair County · 17,863 people19 in7Kirksville0.8 km
T239Excelsior SpringsClay County · 10,819 people19 in6Kearney 3e8.2 km
T239KearneyClay County · 11,296 people19 in6Kearney 3e2.8 km
T239LawsonRay County · 2,541 people19 in6Kearney 3e11.9 km
242Grand River TownshipDeKalb County · 3,258 people21 in8Amity 4 NE14.2 km
T243Country ClubAndrew County · 2,512 people21 in7Troy 3n22.7 km
T243SavannahAndrew County · 5,107 people21 in7Troy 3n25.4 km
T243St. JosephBuchanan County · 71,001 people21 in7Troy 3n24.1 km
246BethanyHarrison County · 2,956 people21 in7Bethany1.2 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

What part of Missouri gets the least amount of snow?

Among towns of 2,500+, the least snow falls in Salem (Dent County, about 1 in), El Dorado Springs (Cedar County, about 2 in), Independence Township (Dunklin County, about 3 in), on NOAA’s 1991–2020 normals at each town’s station.

Which Missouri town gets the most snow?

Bethany (Harrison County), about 21 inches in a normal winter at the Bethany station. See the snowiest towns.

Why isn’t my town on this list?

The list covers towns of 2,500+ residents (247 in Missouri) whose nearest station has a snow normal of an inch or more; 1 have no station with a snow record. Smaller towns show their snow on their own Climate page.

Go deeper

More Missouri lists

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

All Missouri rankings →
Other states

Least snow in other states