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 coolest summers in Washington

Ocean Shores has the coolest summers of Washington’s 265 towns of 2,500+: July afternoons average a high of 66° (NOAA 1991–2020 normals). The typical town here averages 77°; 186 of the 265 stay under 80°.

The average July high. 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
66°

July high·January low 38°·0 days of 90°+ a year

#2

Hoquiam

Grays Harbor County · 8,710 people
68°

July high·January low 37°·0 days of 90°+ a year

#3

Aberdeen

Grays Harbor County · 17,088 people
68°

July high·January low 37°·2 days of 90°+ a year

All 265 towns

July high, lowest first. Towns with the same figure share a rank (T = tied; 209 towns here).

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

#TownJuly highDays ≥90°January low
1Ocean ShoresGrays Harbor County · 7,892 people66°038°average low
2HoquiamGrays Harbor County · 8,710 people68°037°average low
3AberdeenGrays Harbor County · 17,088 people68°237°average low
4Port AngelesClallam County · 20,146 people69°037°average low
5Port Angeles Eastunincorporated, Clallam County · 3,137 people70°036°average low
6ForksClallam County · 3,488 people70°435°average low
7Port TownsendJefferson County · 10,678 people71°035°average low
T8Mirrormontunincorporated, King County · 4,019 people71°534°average low
T8Port Hadlock-Irondaleunincorporated, Jefferson County · 3,884 people71°036°average low
T10Oak HarborIsland County · 24,083 people71°136°average low
T10SequimClallam County · 8,215 people71°034°average low
12Friday HarborSan Juan County · 2,729 people72°037°average low
13Central Parkunincorporated, Grays Harbor County · 3,206 people72°235°average low
14RaymondPacific County · 3,235 people72°335°average low
15AnacortesSkagit County · 18,080 people73°135°average low
16Marietta-Alderwoodunincorporated, Whatcom County · 3,754 people73°035°average low
17Birch Bayunincorporated, Whatcom County · 10,837 people73°036°average low
T18BlaineWhatcom County · 6,475 people73°035°average low
T18Camanounincorporated, Island County · 17,303 people73°135°average low
T18FerndaleWhatcom County · 17,559 people73°035°average low
T18Sudden Valleyunincorporated, Whatcom County · 6,084 people73°034°average low
22Mount VernonSkagit County · 35,193 people73°035°average low
T23BellinghamWhatcom County · 96,395 people73°035°average low
T23Lake Goodwinunincorporated, Snohomish County · 5,536 people73°136°average low
25BurlingtonSkagit County · 11,356 people74°036°average low
T26Port Ludlowunincorporated, Jefferson County · 2,891 people74°535°average low
T26Three Lakesunincorporated, Snohomish County · 4,055 people74°235°average low
T26Warm Beachunincorporated, Snohomish County · 3,442 people74°135°average low
29North Lynnwoodunincorporated, Snohomish County · 23,339 people74°036°average low
T30Eastmontunincorporated, Snohomish County · 23,721 people74°036°average low
T30MontesanoGrays Harbor County · 4,181 people74°1035°average low
T30Sisco Heightsunincorporated, Snohomish County · 3,015 people74°135°average low
33MukilteoSnohomish County · 21,239 people74°036°average low
T34Martha Lakeunincorporated, Snohomish County · 22,634 people74°036°average low
T34Mill Creek Eastunincorporated, Snohomish County · 25,453 people74°236°average low
T34Sedro-WoolleySkagit County · 13,308 people74°035°average low
T34Silver Firsunincorporated, Snohomish County · 22,306 people74°235°average low
T38Lake Cassidyunincorporated, Snohomish County · 3,292 people74°135°average low
T38Lake StevensSnohomish County · 42,091 people74°135°average low
T38Meadowdaleunincorporated, Snohomish County · 3,009 people74°036°average low
T41Bryantunincorporated, Snohomish County · 2,648 people74°035°average low
T41Clearviewunincorporated, Snohomish County · 3,254 people74°236°average low
T43Alderwood Manorunincorporated, Snohomish County · 10,266 people74°236°average low
T43Chain Lakeunincorporated, Snohomish County · 4,950 people74°235°average low
T43Maltbyunincorporated, Snohomish County · 10,910 people74°235°average low
T46Bunk Fossunincorporated, Snohomish County · 3,627 people74°135°average low
T46Lochsloyunincorporated, Snohomish County · 3,029 people74°135°average low
T48ArlingtonSnohomish County · 22,031 people75°136°average low
T48EverettSnohomish County · 113,567 people75°136°average low
T48Granite FallsSnohomish County · 4,686 people75°134°average low
T48Hansvilleunincorporated, Kitsap County · 3,384 people75°035°average low
T48LynnwoodSnohomish County · 42,132 people75°036°average low
T48StanwoodSnohomish County · 9,421 people75°036°average low
T54Arlington Heightsunincorporated, Snohomish County · 2,727 people75°135°average low
T54Bothell Eastunincorporated, Snohomish County · 14,578 people75°236°average low
T54Bothell Westunincorporated, Snohomish County · 22,029 people75°236°average low
T54EversonWhatcom County · 3,254 people75°234°average low
T54Fobes Hillunincorporated, Snohomish County · 2,569 people75°135°average low
T54SnohomishSnohomish County · 10,719 people75°235°average low
T60EdmondsSnohomish County · 42,748 people75°236°average low
T60Lake Forest ParkKing County · 13,191 people75°236°average low
T60ShorelineKing County · 66,542 people75°236°average low
T63MarysvilleSnohomish County · 77,686 people75°136°average low
T63Peaceful Valleyunincorporated, Whatcom County · 2,858 people75°233°average low
T63PoulsboKitsap County · 12,749 people75°435°average low
T63SnoqualmieKing County · 13,640 people75°335°average low
T63Union Hill-Novelty Hillunincorporated, King County · 23,047 people75°236°average low
T68Cottage Lakeunincorporated, King County · 22,518 people75°236°average low
T68Woods Creekunincorporated, Snohomish County · 6,943 people75°235°average low
70LyndenWhatcom County · 16,881 people75°234°average low
T71High Bridgeunincorporated, Snohomish County · 3,196 people75°235°average low
T71WoodinvilleKing County · 14,548 people75°236°average low
73MonroeSnohomish County · 20,025 people75°235°average low
74Bangor Baseunincorporated, Kitsap County · 6,112 people75°435°average low
T75BothellKing County · 52,199 people76°236°average low
T75East Renton Highlandsunincorporated, King County · 12,582 people76°436°average low
T75Indianolaunincorporated, Kitsap County · 3,468 people76°236°average low
T75SammamishKing County · 66,110 people76°236°average low
T75Suquamishunincorporated, Kitsap County · 4,084 people76°436°average low
80Chicounincorporated, Kitsap County · 3,336 people76°435°average low
T81BremertonKitsap County · 45,482 people76°435°average low
T81KenmoreKing County · 24,249 people76°236°average low
T81Maple Heights-Lake Desireunincorporated, King County · 4,113 people76°535°average low
T81North BendKing County · 8,758 people76°334°average low
T85Fairwoodunincorporated, King County · 17,856 people76°436°average low
T85Hobartunincorporated, King County · 6,552 people76°535°average low
T85RedmondKing County · 82,506 people76°236°average low
T85Silverdaleunincorporated, Kitsap County · 20,685 people76°436°average low
T89Belfairunincorporated, Mason County · 4,557 people76°435°average low
T89Black DiamondKing County · 6,978 people76°534°average low
T89DuvallKing County · 9,440 people76°235°average low
T89KirklandKing County · 97,410 people76°236°average low
T89Maple ValleyKing County · 28,482 people76°534°average low
T94BellevueKing County · 154,193 people76°236°average low
T94EnumclawKing County · 13,172 people76°434°average low
96Parkwoodunincorporated, Kitsap County · 6,873 people76°436°average low
T97BuckleyPierce County · 5,688 people76°434°average low
T97SultanSnohomish County · 7,230 people76°535°average low
T97White Centerunincorporated, King County · 14,886 people76°436°average low
T100Bainbridge IslandKitsap County · 24,691 people76°436°average low
T100BurienKing County · 51,859 people76°436°average low
T100Tracytonunincorporated, Kitsap County · 6,137 people76°436°average low
T103Bethelunincorporated, Kitsap County · 4,394 people76°436°average low
T103Waunaunincorporated, Pierce County · 4,805 people76°236°average low
T105Artondaleunincorporated, Pierce County · 14,073 people76°236°average low
T105Bonney LakePierce County · 22,139 people76°335°average low
T105CovingtonKing County · 21,496 people76°535°average low
T105ElmaGrays Harbor County · 3,534 people76°1034°average low
T105IssaquahKing County · 39,423 people76°436°average low
T105Lake Holmunincorporated, King County · 3,555 people76°535°average low
T105Lake Morton-Berrydaleunincorporated, King County · 11,183 people76°535°average low
T105Manchesterunincorporated, Kitsap County · 5,956 people76°436°average low
T105Port OrchardKitsap County · 19,839 people76°436°average low
T114Canterwoodunincorporated, Pierce County · 2,971 people77°236°average low
T114Gig HarborPierce County · 12,630 people77°236°average low
T114Lake Tappsunincorporated, Pierce County · 12,798 people77°335°average low
T114Maplewoodunincorporated, Pierce County · 5,803 people77°236°average low
T114NewcastleKing County · 13,128 people77°436°average low
T114Normandy ParkKing County · 6,609 people77°436°average low
T114RentonKing County · 104,975 people77°436°average low
T121Des MoinesKing County · 33,032 people77°436°average low
T121Federal WayKing County · 99,729 people77°436°average low
T121FircrestPierce County · 6,959 people77°236°average low
T121Lakeland Northunincorporated, King County · 15,950 people77°436°average low
T121Prairie Heightsunincorporated, Pierce County · 4,998 people77°434°average low
T121Prairie Ridgeunincorporated, Pierce County · 12,074 people77°335°average low
T121SeaTacKing County · 34,578 people77°436°average low
T121SeattleKing County · 784,777 people77°237°average low
T129MiltonPierce County · 8,911 people77°136°average low
T131Boulevard Parkunincorporated, King County · 4,575 people77°337°average low
T131EatonvillePierce County · 2,861 people77°334°average low
T131Grahamunincorporated, Pierce County · 35,079 people77°335°average low
T131Lakeland Southunincorporated, King County · 13,100 people77°136°average low
T131Rosedaleunincorporated, Pierce County · 4,208 people77°236°average low
T131TacomaPierce County · 229,816 people77°136°average low
T131Vashonunincorporated, King County · 9,934 people77°436°average low
T131Wollochetunincorporated, Pierce County · 6,689 people77°236°average low
T139Bryn Mawr-Skywayunincorporated, King County · 17,638 people77°436°average low
T139Clover Creekunincorporated, Pierce County · 7,345 people77°336°average low
T139KentKing County · 134,871 people77°436°average low
T139LakewoodPierce County · 62,755 people77°236°average low
T139McChord AFBunincorporated, Pierce County · 2,999 people77°136°average low
T139Midlandunincorporated, Pierce County · 9,050 people77°136°average low
T139Parklandunincorporated, Pierce County · 38,742 people77°136°average low
T139South Hillunincorporated, Pierce County · 68,025 people77°335°average low
T139Spanawayunincorporated, Pierce County · 34,019 people77°335°average low
T139Summit Viewunincorporated, Pierce County · 8,480 people77°335°average low
T139TukwilaKing County · 22,003 people77°436°average low
T139University PlacePierce County · 35,479 people77°236°average low
T151Clyde HillKing County · 3,161 people77°237°average low
T151DuPontPierce County · 9,778 people77°235°average low
T151Fort Lewisunincorporated, Pierce County · 15,167 people77°236°average low
T151Longbranchunincorporated, Pierce County · 4,638 people77°235°average low
T151North Fort Lewisunincorporated, Pierce County · 6,337 people77°235°average low
T151SheltonMason County · 10,921 people77°834°average low
T157AuburnKing County · 86,301 people77°436°average low
T157EdgewoodPierce County · 13,548 people77°135°average low
T157Elk Plainunincorporated, Pierce County · 14,276 people77°335°average low
T157Fredericksonunincorporated, Pierce County · 25,383 people77°335°average low
T157Mercer IslandKing County · 25,422 people77°337°average low
T157Summitunincorporated, Pierce County · 8,791 people77°336°average low
T157Tehalehunincorporated, Pierce County · 9,561 people77°335°average low
T164Key Centerunincorporated, Pierce County · 3,544 people77°236°average low
T164Tanglewildeunincorporated, Thurston County · 6,314 people77°635°average low
T166FifePierce County · 11,061 people77°136°average low
T166SteilacoomPierce County · 6,648 people77°236°average low
T166SumnerPierce County · 10,871 people77°135°average low
169YelmThurston County · 12,043 people78°634°average low
T170LaceyThurston County · 58,833 people78°635°average low
T170PuyallupPierce County · 42,682 people78°336°average low
T172Aldertonunincorporated, Pierce County · 2,706 people78°335°average low
T172TumwaterThurston County · 28,010 people78°634°average low
T174North Yelmunincorporated, Thurston County · 2,522 people78°635°average low
T174OlympiaThurston County · 56,724 people78°634°average low
T174OrtingPierce County · 8,884 people78°335°average low
177Grand Moundunincorporated, Thurston County · 3,287 people78°834°average low
T178ChehalisLewis County · 7,764 people78°834°average low
T178Rochesterunincorporated, Thurston County · 5,834 people78°834°average low
180CentraliaLewis County · 19,375 people78°834°average low
181Longview Heightsunincorporated, Cowlitz County · 4,357 people79°1035°average low
182LongviewCowlitz County · 38,362 people79°1035°average low
183Lexingtonunincorporated, Cowlitz County · 4,413 people79°1035°average low
184KelsoCowlitz County · 12,801 people80°1035°average low
185KalamaCowlitz County · 3,165 people80°1035°average low
186Venersborgunincorporated, Clark County · 4,262 people80°1135°average low
187WoodlandCowlitz County · 6,611 people80°2034°average low
T188Battle GroundClark County · 23,513 people80°1135°average low
T188Hockinsonunincorporated, Clark County · 6,150 people80°1135°average low
T188La CenterClark County · 4,433 people80°1135°average low
T188RidgefieldClark County · 16,132 people80°1135°average low
T192Brush Prairieunincorporated, Clark County · 2,526 people80°1135°average low
T192Salmon Creekunincorporated, Clark County · 20,017 people80°1035°average low
T194Barbertonunincorporated, Clark County · 8,668 people80°1035°average low
T194Felidaunincorporated, Clark County · 10,841 people80°1035°average low
T194Five Cornersunincorporated, Clark County · 21,194 people80°1035°average low
T194Hazel Dellunincorporated, Clark County · 23,237 people80°1035°average low
T194Lake Shoreunincorporated, Clark County · 6,978 people80°1035°average low
T194Orchardsunincorporated, Clark County · 29,438 people80°1136°average low
T200CamasClark County · 27,749 people81°1636°average low
T200VancouverClark County · 199,698 people81°1536°average low
202WashougalClark County · 18,028 people81°1836°average low
203Sunnyslopeunincorporated, Chelan County · 3,706 people83°3523°average low
204PullmanWhitman County · 33,756 people84°2227°average low
205White SalmonKlickitat County · 2,655 people84°2130°average low
T206Fairchild AFBunincorporated, Spokane County · 2,931 people84°2124°average low
T206Medical LakeSpokane County · 4,964 people84°2124°average low
208Airway HeightsSpokane County · 11,811 people84°2124°average low
209Liberty LakeSpokane County · 14,029 people84°2925°average low
T210CheneySpokane County · 12,650 people84°2024°average low
T210ColfaxWhitman County · 2,667 people84°2226°average low
212Deer ParkSpokane County · 5,370 people84°2222°average low
213Spokane ValleySpokane County · 108,405 people85°2925°average low
214Country Homesunincorporated, Spokane County · 6,198 people85°2925°average low
T215GoldendaleKlickitat County · 3,528 people86°3527°average low
T215LeavenworthChelan County · 3,373 people86°3924°average low
T215Meadunincorporated, Spokane County · 6,893 people86°2924°average low
218SpokaneSpokane County · 230,783 people86°2125°average low
T219ColvilleStevens County · 5,116 people86°3822°average low
T219Fairwoodunincorporated, Spokane County · 10,674 people86°2924°average low
221EllensburgKittitas County · 21,308 people86°2423°average low
222Suncrestunincorporated, Stevens County · 5,345 people87°2223°average low
223ChelanChelan County · 4,494 people87°2522°average low
224ChewelahStevens County · 2,712 people87°3421°average low
T225CashmereChelan County · 3,326 people88°3624°average low
T225WardenGrant County · 2,830 people88°3825°average low
227OthelloAdams County · 9,237 people88°3525°average low
T228East WenatcheeDouglas County · 14,414 people88°3624°average low
T228Gleedunincorporated, Yakima County · 2,844 people88°4025°average low
230DaytonColumbia County · 2,538 people88°3128°average low
231SelahYakima County · 8,678 people88°4025°average low
232QuincyGrant County · 8,510 people88°2823°average low
T233Ahtanumunincorporated, Yakima County · 3,777 people89°4026°average low
T233ConnellFranklin County · 5,080 people89°3526°average low
235YakimaYakima County · 97,458 people89°4025°average low
T236MoxeeYakima County · 4,765 people89°4025°average low
T236Terrace Heightsunincorporated, Yakima County · 10,041 people89°4025°average low
T238EphrataGrant County · 8,834 people89°4023°average low
T238OmakOkanogan County · 5,185 people89°4222°average low
T240Moses LakeGrant County · 27,469 people89°4324°average low
T240WenatcheeChelan County · 35,547 people89°3626°average low
T242Cascade Valleyunincorporated, Grant County · 4,609 people90°4324°average low
T242Moses Lake Northunincorporated, Grant County · 4,517 people90°4324°average low
T242Union GapYakima County · 6,617 people90°4025°average low
T245SunnysideYakima County · 16,430 people90°4527°average low
T245WapatoYakima County · 4,469 people90°4126°average low
T247GrandviewYakima County · 12,062 people90°4528°average low
T247KennewickBenton County · 88,366 people90°4829°average low
T249GrangerYakima County · 3,831 people90°3327°average low
T249ToppenishYakima County · 8,635 people90°4126°average low
T249ZillahYakima County · 3,111 people90°4127°average low
T252MabtonYakima County · 1,967 people90°4527°average low
T252ProsserBenton County · 6,654 people90°4728°average low
T252West RichlandBenton County · 19,257 people90°3928°average low
255PascoFranklin County · 82,848 people90°5529°average low
T256Benton CityBenton County · 4,019 people90°3928°average low
T256RichlandBenton County · 65,258 people90°3928°average low
258Walla WallaWalla Walla County · 34,058 people90°4230°average low
T259Burbankunincorporated, Walla Walla County · 3,589 people91°4829°average low
T259College PlaceWalla Walla County · 9,923 people91°4430°average low
T259Finleyunincorporated, Benton County · 5,634 people91°4829°average low
T259MattawaGrant County · 3,874 people91°5026°average low
263Desert Aireunincorporated, Grant County · 2,788 people91°5027°average low
264Clarkston Heights-Vinelandunincorporated, Asotin County · 7,884 people92°4429°average low
265ClarkstonAsotin County · 7,189 people93°4430°average low
Quick answers

Questions people ask

Which Washington town has the coolest summers?

Ocean Shores (Grays Harbor County): July afternoons average a high of 66°. Hoquiam (68°) and Aberdeen (68°) follow.

How are these towns ranked?

By the average July high (the warmest month’s afternoons), lowest 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

Coolest summers in other states