Guest, Sign inJoin
View from ISS Expedition 71, Ocean Shores, Washington, April 13, 2024 (ISS071-E-7792) (cropped)Ocean Shores, #1 on this list · Photo: Michael Barratt · Public domain
Washington rankings · Climate

Towns with the mildest winters in Washington

Ocean Shores has the mildest winters of Washington’s 265 towns of 2,500+: January nights average a low of 38° (NOAA 1991–2020 normals). The typical town here averages 35°; 202 of the 265 stay above freezing.

The average January low. NOAA U.S. Climate Normals, 1991–2020, from NOAA’s 5 km grid at each town’s center; one town for each grid cell. A described list: no letters. How grades work

#1

Ocean Shores

Grays Harbor County · 7,892 people
38°

January low·July high 66°·26 freezing nights a year

#T2

Aberdeen

Grays Harbor County · 17,088 people
37°

January low·July high 68°·35 freezing nights a year

#T2

Hoquiam

Grays Harbor County · 8,710 people
37°

January low·July high 68°·26 freezing nights a year

All 265 towns

January low, highest first. Towns with the same figure share a rank (T = tied; 241 towns here).

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

#TownJanuary lowNights ≤32°July high
1Ocean ShoresGrays Harbor County · 7,892 people38°2666°average high
T2AberdeenGrays Harbor County · 17,088 people37°3568°average high
T2HoquiamGrays Harbor County · 8,710 people37°2668°average high
T4Clyde HillKing County · 3,161 people37°2577°average high
T4SeattleKing County · 784,777 people37°2577°average high
T6Friday HarborSan Juan County · 2,729 people37°4072°average high
T6Mercer IslandKing County · 25,422 people37°3077°average high
T8Boulevard Parkunincorporated, King County · 4,575 people37°3077°average high
T8Port AngelesClallam County · 20,146 people37°2669°average high
T10Port Angeles Eastunincorporated, Clallam County · 3,137 people36°2670°average high
T10White Centerunincorporated, King County · 14,886 people36°2576°average high
T12NewcastleKing County · 13,128 people36°3077°average high
T12TukwilaKing County · 22,003 people36°2577°average high
T14Bainbridge IslandKitsap County · 24,691 people36°4276°average high
T14BellevueKing County · 154,193 people36°2576°average high
T14Bryn Mawr-Skywayunincorporated, King County · 17,638 people36°3077°average high
T14BurienKing County · 51,859 people36°2576°average high
T14KenmoreKing County · 24,249 people36°2576°average high
T14KirklandKing County · 97,410 people36°2576°average high
T14Manchesterunincorporated, Kitsap County · 5,956 people36°4276°average high
T14Normandy ParkKing County · 6,609 people36°2577°average high
T14Vashonunincorporated, King County · 9,934 people36°2577°average high
T14WashougalClark County · 18,028 people36°4081°average high
T24CamasClark County · 27,749 people36°2881°average high
T24SeaTacKing County · 34,578 people36°2577°average high
T26BothellKing County · 52,199 people36°2576°average high
T26Lake Forest ParkKing County · 13,191 people36°2575°average high
T26RedmondKing County · 82,506 people36°2576°average high
T26RentonKing County · 104,975 people36°3077°average high
T26ShorelineKing County · 66,542 people36°2575°average high
T26SteilacoomPierce County · 6,648 people36°2177°average high
T26University PlacePierce County · 35,479 people36°2177°average high
T26Wollochetunincorporated, Pierce County · 6,689 people36°2177°average high
T35Bethelunincorporated, Kitsap County · 4,394 people36°4276°average high
T35Canterwoodunincorporated, Pierce County · 2,971 people36°2177°average high
T35Des MoinesKing County · 33,032 people36°2577°average high
T35EdmondsSnohomish County · 42,748 people36°2575°average high
T35Gig HarborPierce County · 12,630 people36°2177°average high
T35IssaquahKing County · 39,423 people36°3076°average high
T35LynnwoodSnohomish County · 42,132 people36°2975°average high
T35Maplewoodunincorporated, Pierce County · 5,803 people36°2177°average high
T35Oak HarborIsland County · 24,083 people36°3271°average high
T35Parkwoodunincorporated, Kitsap County · 6,873 people36°4276°average high
T35Port OrchardKitsap County · 19,839 people36°4276°average high
T35Rosedaleunincorporated, Pierce County · 4,208 people36°2177°average high
T35TacomaPierce County · 229,816 people36°2777°average high
T48Alderwood Manorunincorporated, Snohomish County · 10,266 people36°2574°average high
T48Bothell Eastunincorporated, Snohomish County · 14,578 people36°2575°average high
T48Bothell Westunincorporated, Snohomish County · 22,029 people36°2575°average high
T48Federal WayKing County · 99,729 people36°3977°average high
T48FifePierce County · 11,061 people36°2777°average high
T48FircrestPierce County · 6,959 people36°2177°average high
T48Indianolaunincorporated, Kitsap County · 3,468 people36°2576°average high
T48MiltonPierce County · 8,911 people36°2777°average high
T48SammamishKing County · 66,110 people36°2576°average high
T48StanwoodSnohomish County · 9,421 people36°4675°average high
T48WoodinvilleKing County · 14,548 people36°2575°average high
T59Artondaleunincorporated, Pierce County · 14,073 people36°2176°average high
T59KentKing County · 134,871 people36°3977°average high
T59Key Centerunincorporated, Pierce County · 3,544 people36°2177°average high
T59McChord AFBunincorporated, Pierce County · 2,999 people36°2777°average high
T59Meadowdaleunincorporated, Snohomish County · 3,009 people36°2974°average high
T59Midlandunincorporated, Pierce County · 9,050 people36°2777°average high
T59North Lynnwoodunincorporated, Snohomish County · 23,339 people36°2974°average high
T59Suquamishunincorporated, Kitsap County · 4,084 people36°4276°average high
T59Tracytonunincorporated, Kitsap County · 6,137 people36°4276°average high
T59VancouverClark County · 199,698 people36°4581°average high
T59Waunaunincorporated, Pierce County · 4,805 people36°2176°average high
T70AuburnKing County · 86,301 people36°3977°average high
T70Clearviewunincorporated, Snohomish County · 3,254 people36°6074°average high
T70Cottage Lakeunincorporated, King County · 22,518 people36°6075°average high
T70East Renton Highlandsunincorporated, King County · 12,582 people36°3976°average high
T70Eastmontunincorporated, Snohomish County · 23,721 people36°2974°average high
T70EverettSnohomish County · 113,567 people36°5175°average high
T70Lakeland Northunincorporated, King County · 15,950 people36°3977°average high
T70Lakeland Southunincorporated, King County · 13,100 people36°2777°average high
T70Martha Lakeunincorporated, Snohomish County · 22,634 people36°2974°average high
T70MarysvilleSnohomish County · 77,686 people36°5175°average high
T70Mill Creek Eastunincorporated, Snohomish County · 25,453 people36°6074°average high
T70Union Hill-Novelty Hillunincorporated, King County · 23,047 people36°2575°average high
T82ArlingtonSnohomish County · 22,031 people36°5175°average high
T82Birch Bayunincorporated, Whatcom County · 10,837 people36°5273°average high
T82BurlingtonSkagit County · 11,356 people36°4674°average high
T82Clover Creekunincorporated, Pierce County · 7,345 people36°6077°average high
T82Fairwoodunincorporated, King County · 17,856 people36°3976°average high
T82Fort Lewisunincorporated, Pierce County · 15,167 people36°2177°average high
T82Lake Goodwinunincorporated, Snohomish County · 5,536 people36°5173°average high
T82LakewoodPierce County · 62,755 people36°2177°average high
T82MukilteoSnohomish County · 21,239 people36°2974°average high
T82Orchardsunincorporated, Clark County · 29,438 people36°7080°average high
T82Parklandunincorporated, Pierce County · 38,742 people36°2777°average high
T82Port Hadlock-Irondaleunincorporated, Jefferson County · 3,884 people36°1471°average high
T82PuyallupPierce County · 42,682 people36°6078°average high
T82Silverdaleunincorporated, Kitsap County · 20,685 people36°4276°average high
T82Summitunincorporated, Pierce County · 8,791 people36°6077°average high
T97BlaineWhatcom County · 6,475 people35°5273°average high
T97Bryantunincorporated, Snohomish County · 2,648 people35°4674°average high
T97Camanounincorporated, Island County · 17,303 people35°3273°average high
T97EdgewoodPierce County · 13,548 people35°2777°average high
T97Five Cornersunincorporated, Clark County · 21,194 people35°6680°average high
T97Fobes Hillunincorporated, Snohomish County · 2,569 people35°5175°average high
T97Hansvilleunincorporated, Kitsap County · 3,384 people35°1475°average high
T97Longbranchunincorporated, Pierce County · 4,638 people35°2177°average high
T97Maltbyunincorporated, Snohomish County · 10,910 people35°6074°average high
T97Mount VernonSkagit County · 35,193 people35°4673°average high
T97Port TownsendJefferson County · 10,678 people35°1471°average high
T97PoulsboKitsap County · 12,749 people35°4275°average high
T97Silver Firsunincorporated, Snohomish County · 22,306 people35°6074°average high
T97SumnerPierce County · 10,871 people35°2777°average high
T97Warm Beachunincorporated, Snohomish County · 3,442 people35°5174°average high
T112Aldertonunincorporated, Pierce County · 2,706 people35°6078°average high
T112AnacortesSkagit County · 18,080 people35°3073°average high
T112Bangor Baseunincorporated, Kitsap County · 6,112 people35°4275°average high
T112BremertonKitsap County · 45,482 people35°4276°average high
T112Central Parkunincorporated, Grays Harbor County · 3,206 people35°3572°average high
T112Chicounincorporated, Kitsap County · 3,336 people35°4276°average high
T112ForksClallam County · 3,488 people35°6070°average high
T112Fredericksonunincorporated, Pierce County · 25,383 people35°6077°average high
T112Hazel Dellunincorporated, Clark County · 23,237 people35°6680°average high
T112Lake StevensSnohomish County · 42,091 people35°5174°average high
T112Maple Heights-Lake Desireunincorporated, King County · 4,113 people35°7076°average high
T112Sisco Heightsunincorporated, Snohomish County · 3,015 people35°5174°average high
T112Spanawayunincorporated, Pierce County · 34,019 people35°6077°average high
T112Summit Viewunincorporated, Pierce County · 8,480 people35°6077°average high
T126Barbertonunincorporated, Clark County · 8,668 people35°6680°average high
T126Brush Prairieunincorporated, Clark County · 2,526 people35°7080°average high
T126Bunk Fossunincorporated, Snohomish County · 3,627 people35°5174°average high
T126DuPontPierce County · 9,778 people35°2177°average high
T126DuvallKing County · 9,440 people35°6076°average high
T126Lake Holmunincorporated, King County · 3,555 people35°7076°average high
T126Lake Shoreunincorporated, Clark County · 6,978 people35°6680°average high
T126North Fort Lewisunincorporated, Pierce County · 6,337 people35°2177°average high
T126Port Ludlowunincorporated, Jefferson County · 2,891 people35°8374°average high
T126Sedro-WoolleySkagit County · 13,308 people35°4674°average high
T126SnohomishSnohomish County · 10,719 people35°6075°average high
T137Elk Plainunincorporated, Pierce County · 14,276 people35°6077°average high
T137Felidaunincorporated, Clark County · 10,841 people35°6680°average high
T137Hockinsonunincorporated, Clark County · 6,150 people35°7080°average high
T137Lake Cassidyunincorporated, Snohomish County · 3,292 people35°5174°average high
T137Lake Tappsunincorporated, Pierce County · 12,798 people35°6077°average high
T137Salmon Creekunincorporated, Clark County · 20,017 people35°6680°average high
T137SnoqualmieKing County · 13,640 people35°5475°average high
T144KelsoCowlitz County · 12,801 people35°4180°average high
T144Lake Morton-Berrydaleunincorporated, King County · 11,183 people35°7076°average high
T144Lexingtonunincorporated, Cowlitz County · 4,413 people35°4179°average high
T144LongviewCowlitz County · 38,362 people35°4179°average high
T144Longview Heightsunincorporated, Cowlitz County · 4,357 people35°4179°average high
T144Three Lakesunincorporated, Snohomish County · 4,055 people35°6074°average high
T144Venersborgunincorporated, Clark County · 4,262 people35°7080°average high
T151Arlington Heightsunincorporated, Snohomish County · 2,727 people35°5175°average high
T151Battle GroundClark County · 23,513 people35°7080°average high
T151Bonney LakePierce County · 22,139 people35°6076°average high
T151CovingtonKing County · 21,496 people35°7076°average high
T151Lochsloyunincorporated, Snohomish County · 3,029 people35°5174°average high
T151OrtingPierce County · 8,884 people35°6078°average high
T151South Hillunincorporated, Pierce County · 68,025 people35°6077°average high
T158Belfairunincorporated, Mason County · 4,557 people35°4276°average high
T158Chain Lakeunincorporated, Snohomish County · 4,950 people35°6074°average high
T158Grahamunincorporated, Pierce County · 35,079 people35°6077°average high
T158High Bridgeunincorporated, Snohomish County · 3,196 people35°6075°average high
T158Marietta-Alderwoodunincorporated, Whatcom County · 3,754 people35°5973°average high
T158RaymondPacific County · 3,235 people35°8272°average high
T158RidgefieldClark County · 16,132 people35°7080°average high
T165Hobartunincorporated, King County · 6,552 people35°7076°average high
T165KalamaCowlitz County · 3,165 people35°4180°average high
T165LaceyThurston County · 58,833 people35°7778°average high
T165MontesanoGrays Harbor County · 4,181 people35°6974°average high
T165North Yelmunincorporated, Thurston County · 2,522 people35°7778°average high
T165Prairie Ridgeunincorporated, Pierce County · 12,074 people35°6077°average high
T165SultanSnohomish County · 7,230 people35°5376°average high
T165Tanglewildeunincorporated, Thurston County · 6,314 people35°7777°average high
T173BellinghamWhatcom County · 96,395 people35°4373°average high
T173FerndaleWhatcom County · 17,559 people35°5973°average high
T173La CenterClark County · 4,433 people35°7080°average high
T173MonroeSnohomish County · 20,025 people35°6075°average high
T173Tehalehunincorporated, Pierce County · 9,561 people35°6077°average high
T173Woods Creekunincorporated, Snohomish County · 6,943 people35°6075°average high
T179Granite FallsSnohomish County · 4,686 people34°5175°average high
T179Maple ValleyKing County · 28,482 people34°7076°average high
T179YelmThurston County · 12,043 people34°7778°average high
T182Black DiamondKing County · 6,978 people34°7076°average high
T182Prairie Heightsunincorporated, Pierce County · 4,998 people34°5077°average high
T182WoodlandCowlitz County · 6,611 people34°5880°average high
T185ElmaGrays Harbor County · 3,534 people34°6976°average high
T185OlympiaThurston County · 56,724 people34°7778°average high
T185SequimClallam County · 8,215 people34°8971°average high
T185TumwaterThurston County · 28,010 people34°7778°average high
T189CentraliaLewis County · 19,375 people34°4878°average high
T189EatonvillePierce County · 2,861 people34°6077°average high
T191Grand Moundunincorporated, Thurston County · 3,287 people34°4878°average high
T191Rochesterunincorporated, Thurston County · 5,834 people34°4878°average high
T191SheltonMason County · 10,921 people34°7977°average high
T191Sudden Valleyunincorporated, Whatcom County · 6,084 people34°4373°average high
195ChehalisLewis County · 7,764 people34°4878°average high
196LyndenWhatcom County · 16,881 people34°5775°average high
T197BuckleyPierce County · 5,688 people34°5076°average high
T197North BendKing County · 8,758 people34°5476°average high
T199EnumclawKing County · 13,172 people34°5076°average high
T199EversonWhatcom County · 3,254 people34°5775°average high
T199Mirrormontunincorporated, King County · 4,019 people34°7071°average high
202Peaceful Valleyunincorporated, Whatcom County · 2,858 people33°5775°average high
203White SalmonKlickitat County · 2,655 people30°9284°average high
T204College PlaceWalla Walla County · 9,923 people30°12591°average high
T204Walla WallaWalla Walla County · 34,058 people30°7090°average high
206ClarkstonAsotin County · 7,189 people30°8093°average high
207Clarkston Heights-Vinelandunincorporated, Asotin County · 7,884 people29°8092°average high
T208Burbankunincorporated, Walla Walla County · 3,589 people29°7691°average high
T208Finleyunincorporated, Benton County · 5,634 people29°7691°average high
210PascoFranklin County · 82,848 people29°11290°average high
211KennewickBenton County · 88,366 people29°7690°average high
212RichlandBenton County · 65,258 people28°9190°average high
T213Benton CityBenton County · 4,019 people28°9190°average high
T213West RichlandBenton County · 19,257 people28°9190°average high
215ProsserBenton County · 6,654 people28°10990°average high
T216DaytonColumbia County · 2,538 people28°11388°average high
T216GrandviewYakima County · 12,062 people28°12490°average high
218MabtonYakima County · 1,967 people27°12490°average high
T219Desert Aireunincorporated, Grant County · 2,788 people27°7591°average high
T219SunnysideYakima County · 16,430 people27°12490°average high
221PullmanWhitman County · 33,756 people27°12784°average high
T222GoldendaleKlickitat County · 3,528 people27°14486°average high
T222GrangerYakima County · 3,831 people27°14390°average high
T222ZillahYakima County · 3,111 people27°12790°average high
T225MattawaGrant County · 3,874 people26°7591°average high
T225ToppenishYakima County · 8,635 people26°12790°average high
T227ColfaxWhitman County · 2,667 people26°12784°average high
T227ConnellFranklin County · 5,080 people26°11589°average high
T227WapatoYakima County · 4,469 people26°12790°average high
230WenatcheeChelan County · 35,547 people26°10489°average high
231Ahtanumunincorporated, Yakima County · 3,777 people26°14789°average high
T232OthelloAdams County · 9,237 people25°11588°average high
T232Union GapYakima County · 6,617 people25°14790°average high
234YakimaYakima County · 97,458 people25°14789°average high
T235Gleedunincorporated, Yakima County · 2,844 people25°14788°average high
T235MoxeeYakima County · 4,765 people25°14789°average high
T235SelahYakima County · 8,678 people25°14788°average high
T235Spokane ValleySpokane County · 108,405 people25°12385°average high
T239Liberty LakeSpokane County · 14,029 people25°12384°average high
T239Terrace Heightsunincorporated, Yakima County · 10,041 people25°14789°average high
241SpokaneSpokane County · 230,783 people25°13286°average high
T242Country Homesunincorporated, Spokane County · 6,198 people25°12385°average high
T242WardenGrant County · 2,830 people25°12688°average high
T244CashmereChelan County · 3,326 people24°10488°average high
T244Meadunincorporated, Spokane County · 6,893 people24°12386°average high
T246Airway HeightsSpokane County · 11,811 people24°13284°average high
T246Fairwoodunincorporated, Spokane County · 10,674 people24°12386°average high
T248CheneySpokane County · 12,650 people24°18684°average high
T248East WenatcheeDouglas County · 14,414 people24°10488°average high
T250Cascade Valleyunincorporated, Grant County · 4,609 people24°12990°average high
T250Fairchild AFBunincorporated, Spokane County · 2,931 people24°13284°average high
T252LeavenworthChelan County · 3,373 people24°16086°average high
T252Moses LakeGrant County · 27,469 people24°12989°average high
254Moses Lake Northunincorporated, Grant County · 4,517 people24°12990°average high
255Medical LakeSpokane County · 4,964 people24°13284°average high
T256EllensburgKittitas County · 21,308 people23°15586°average high
T256QuincyGrant County · 8,510 people23°12288°average high
T256Suncrestunincorporated, Stevens County · 5,345 people23°17487°average high
259EphrataGrant County · 8,834 people23°12189°average high
260Sunnyslopeunincorporated, Chelan County · 3,706 people23°11183°average high
261ChelanChelan County · 4,494 people22°10987°average high
262ColvilleStevens County · 5,116 people22°14486°average high
T263Deer ParkSpokane County · 5,370 people22°17484°average high
T263OmakOkanogan County · 5,185 people22°14589°average high
265ChewelahStevens County · 2,712 people21°17087°average high
Quick answers

Questions people ask

Which Washington town has the mildest winters?

Ocean Shores (Grays Harbor County): January nights average a low of 38°. Aberdeen (37°) and Hoquiam (37°) follow.

How are these towns ranked?

By the average January low (the coldest month’s nights), highest first, on NOAA’s 1991–2020 normals, read from its 5 km grid at each town’s center. Towns with the same figure share a rank (T); the figure and the state rank are the ones on each town’s Climate page. How grades work.

Why isn’t my town on this list?

The list covers towns of 2,500+ residents, one for each of NOAA’s 5 km grid cells (265 in Washington): where towns share a cell, one of them stands for it, since the grid gives them the same figures. Every town’s own figures are on its Climate page. Every town is on the Washington page.

Go deeper

More Washington lists

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

All Washington rankings →
Other states

Mildest winters in other states