Guest, Sign inJoin
Main Street - Downtown Council Bluffs, Iowa (44441440954)Council Bluffs, #1 on this list · Photo: Tony Webster from Minneapolis, Minnesota, United States · CC BY-SA 2.0
Iowa rankings · Climate

Towns with the hottest summers in Iowa

Council Bluffs has the hottest summers of Iowa’s 142 towns of 2,500+: July afternoons average a high of 87° (NOAA 1991–2020 normals). The typical town here averages 84°; none of the 142 average 90° or more.

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

Council Bluffs

Pottawattamie County · 62,680 people
87°

July high·January low 14°·33 days of 90°+ a year

#2

Carter Lake

Pottawattamie County · 3,670 people
86°

July high·January low 14°·33 days of 90°+ a year

#3

Keokuk

Lee County · 9,510 people
86°

July high·January low 18°·26 days of 90°+ a year

All 142 towns

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

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

#TownJuly highDays ≥90°January low
1Council BluffsPottawattamie County · 62,680 people87°3314°average low
2Carter LakePottawattamie County · 3,670 people86°3314°average low
3KeokukLee County · 9,510 people86°2618°average low
T4Fort MadisonLee County · 9,935 people86°1916°average low
T4ShenandoahPage County · 4,808 people86°3214°average low
6ClarindaPage County · 5,273 people86°2014°average low
T7GlenwoodMills County · 5,287 people86°3414°average low
T7Missouri ValleyHarrison County · 2,616 people86°2412°average low
9OnawaMonona County · 2,821 people86°2611°average low
10Sergeant BluffWoodbury County · 5,324 people86°2511°average low
T11BloomfieldDavis County · 2,785 people86°2215°average low
T11CarlisleWarren County · 4,532 people86°2213°average low
T11OttumwaWapello County · 25,319 people86°1914°average low
T11Red OakMontgomery County · 5,388 people86°2613°average low
T15BurlingtonDes Moines County · 23,336 people86°2316°average low
T15Sioux CityWoodbury County · 86,356 people86°2510°average low
T17CentervilleAppanoose County · 5,327 people85°1714°average low
T17IndianolaWarren County · 16,829 people85°1813°average low
T19Des MoinesPolk County · 212,086 people85°2213°average low
T19NorwalkWarren County · 15,004 people85°2213°average low
T19Pleasant HillPolk County · 11,239 people85°2213°average low
T22AdelDallas County · 7,098 people85°2012°average low
T22CharitonLucas County · 4,347 people85°1714°average low
T22KnoxvilleMarion County · 7,469 people85°2014°average low
T22OsceolaClarke County · 5,679 people85°2513°average low
T22Saylorvilleunincorporated, Polk County · 3,366 people85°2313°average low
T22West BurlingtonDes Moines County · 3,358 people85°2316°average low
T22West Des MoinesPolk County · 74,224 people85°2213°average low
T22Windsor HeightsPolk County · 5,059 people85°2213°average low
30JohnstonPolk County · 25,065 people85°2312°average low
T31AlbiaMonroe County · 3,599 people85°1514°average low
T31HawardenSioux County · 2,665 people85°198°average low
T31Mount PleasantHenry County · 8,500 people85°2015°average low
T31PellaMarion County · 10,992 people85°2013°average low
T35ClivePolk County · 19,861 people85°2213°average low
T35FairfieldJefferson County · 9,220 people85°2414°average low
T35KalonaWashington County · 2,811 people85°2413°average low
T35OskaloosaMahaska County · 11,493 people85°1513°average low
T35Polk CityPolk County · 6,630 people85°2312°average low
T40Le MarsPlymouth County · 10,760 people85°179°average low
T40PerryDallas County · 8,208 people85°2011°average low
T40UrbandalePolk County · 48,570 people85°2313°average low
T40WintersetMadison County · 5,520 people85°1513°average low
T44AltoonaPolk County · 22,796 people85°2313°average low
T44MitchellvillePolk County · 2,671 people85°1413°average low
T44WashingtonWashington County · 7,261 people85°2014°average low
T44WaukeeDallas County · 34,890 people85°2213°average low
T48AnkenyPolk County · 77,833 people85°2313°average low
T48AtlanticCass County · 6,676 people85°2212°average low
T48GrimesPolk County · 17,405 people85°2313°average low
T48Iowa CityJohnson County · 76,229 people85°2413°average low
T52BondurantPolk County · 9,647 people84°2313°average low
T52MuscatineMuscatine County · 23,164 people84°2213°average low
T54AmesStory County · 68,220 people84°1711°average low
T54BettendorfScott County · 40,710 people84°1814°average low
T54CoralvilleJohnson County · 23,960 people84°2412°average low
T54CrestonUnion County · 7,335 people84°1813°average low
T54HarlanShelby County · 4,859 people84°1911°average low
T54TiffinJohnson County · 7,156 people84°2412°average low
T54WilliamsburgIowa County · 3,408 people84°1712°average low
T61DenisonCrawford County · 8,214 people84°1410°average low
T61JeffersonGreene County · 4,150 people84°1910°average low
T61MadridBoone County · 2,820 people84°1412°average low
T61MarengoIowa County · 2,425 people84°1711°average low
T61NewtonJasper County · 15,741 people84°2112°average low
T66DavenportScott County · 100,358 people84°1314°average low
T66Le ClaireScott County · 4,741 people84°1814°average low
T66North LibertyJohnson County · 21,976 people84°2412°average low
T66Rock ValleySioux County · 4,188 people84°228°average low
T66West LibertyMuscatine County · 3,717 people84°2413°average low
T71CamancheClinton County · 4,557 people84°1414°average low
T71CherokeeCherokee County · 5,122 people84°178°average low
T71West BranchCedar County · 2,956 people84°2413°average low
T71WiltonMuscatine County · 2,892 people84°1813°average low
T75DeWittClinton County · 5,704 people84°1413°average low
T75HuxleyStory County · 4,715 people84°1512°average low
T75Sioux CenterSioux County · 8,864 people84°228°average low
T78CarrollCarroll County · 10,085 people84°1810°average low
T78Cedar RapidsLinn County · 137,935 people84°1211°average low
T78EldridgeScott County · 6,954 people84°1714°average low
T78NevadaStory County · 6,974 people84°1511°average low
T78Orange CitySioux County · 6,468 people84°228°average low
T78Story CityStory County · 3,382 people84°1410°average low
T84ClintonClinton County · 24,049 people84°1413°average low
T84FairfaxLinn County · 2,925 people84°1211°average low
T84MarionLinn County · 42,732 people84°1811°average low
T84Rock RapidsLyon County · 2,733 people84°187°average low
T84SolonJohnson County · 3,345 people84°1212°average low
T89BooneBoone County · 12,471 people84°1611°average low
T89MaquoketaJackson County · 6,027 people84°1013°average low
T89Mount VernonLinn County · 4,514 people84°1812°average low
T92HiawathaLinn County · 7,432 people84°1811°average low
T92MarshalltownMarshall County · 27,536 people84°1311°average low
T92SheldonO'Brien County · 5,575 people84°127°average low
T92SpencerClay County · 11,218 people84°167°average low
T92TamaTama County · 3,011 people84°1211°average low
T97Center PointLinn County · 2,572 people84°1110°average low
T97EvansdaleBlack Hawk County · 4,463 people84°159°average low
T97GrinnellPoweshiek County · 9,430 people84°1112°average low
T97VintonBenton County · 5,004 people84°1110°average low
T101EmmetsburgPalo Alto County · 3,684 people83°158°average low
T101Webster CityHamilton County · 7,815 people83°139°average low
T103AnamosaJones County · 5,901 people83°1312°average low
T103Cedar FallsBlack Hawk County · 41,240 people83°159°average low
T103EldoraHardin County · 2,593 people83°1610°average low
T103Fort DodgeWebster County · 24,837 people83°119°average low
T103HudsonBlack Hawk County · 3,028 people83°159°average low
T103TiptonCedar County · 3,060 people83°812°average low
T103WaterlooBlack Hawk County · 66,919 people83°159°average low
T110DubuqueDubuque County · 59,148 people83°1812°average low
T110SibleyOsceola County · 2,762 people83°106°average low
T112Eagle GroveWright County · 3,653 people83°168°average low
T112HumboldtHumboldt County · 4,675 people83°68°average low
T112Storm LakeBuena Vista County · 11,590 people83°109°average low
T115AlgonaKossuth County · 5,309 people83°108°average low
T115Grundy CenterGrundy County · 2,814 people83°1110°average low
T115IndependenceBuchanan County · 6,312 people83°129°average low
T115MonticelloJones County · 4,104 people83°1111°average low
T115WaverlyBremer County · 10,561 people83°159°average low
T120ClarionWright County · 2,758 people83°168°average low
T120MilfordDickinson County · 3,209 people83°107°average low
122BelmondWright County · 2,420 people83°168°average low
T123HamptonFranklin County · 4,264 people83°129°average low
T123JesupBuchanan County · 2,557 people83°129°average low
T123Spirit LakeDickinson County · 5,525 people83°107°average low
126Iowa FallsHardin County · 5,013 people83°119°average low
T127AsburyDubuque County · 6,035 people82°1811°average low
T127ManchesterDelaware County · 5,357 people82°99°average low
129EsthervilleEmmet County · 5,807 people82°107°average low
T130GarnerHancock County · 3,029 people82°87°average low
T130Mason CityCerro Gordo County · 26,853 people82°98°average low
T132Charles CityFloyd County · 7,013 people82°98°average low
T132DyersvilleDubuque County · 4,574 people82°1110°average low
T134Clear LakeCerro Gordo County · 7,601 people82°127°average low
T134DecorahWinneshiek County · 7,417 people82°128°average low
T134OelweinFayette County · 5,757 people82°78°average low
137Forest CityWinnebago County · 4,143 people82°97°average low
138OsageMitchell County · 3,552 people82°88°average low
T139CrescoHoward County · 3,925 people81°87°average low
T139New HamptonChickasaw County · 3,420 people81°88°average low
T141PostvilleAllamakee County · 2,402 people81°98°average low
T141WaukonAllamakee County · 3,849 people81°89°average low
Quick answers

Questions people ask

Which Iowa town has the hottest summers?

Council Bluffs (Pottawattamie County): July afternoons average a high of 87°. Carter Lake (86°) and Keokuk (86°) follow.

How are these towns ranked?

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

Hottest summers in other states