2026 forecast ยท Iowa Attorney General

Nate Willems is favored to win Iowa's attorney general race.

Nate Willems vs Brenna Bird, with Brenna Bird running again. The model has Willems ahead by 6.1 points, with a 84 percent chance of winning.

Likely DModel D +6.1Polls D +2.9Updated October 22, 2026
Nate Willems
Democrat
52.5%
720,916 projected votes
Brenna Bird
Republican
46.5%
637,299 projected votes
84%Willems
16%Bird
Willems favoredEach square is one simulated election night, Willems wins about 84 of 100

Iowa Attorney General by county

Adair CountyAdams CountyAllamakee CountyAppanoose CountyAudubon CountyBenton CountyBlack Hawk CountyBoone CountyBremer CountyBuchanan CountyBuena Vista CountyButler CountyCalhoun CountyCarroll CountyCass CountyCedar CountyCerro Gordo CountyCherokee CountyChickasaw CountyClarke CountyClay CountyClayton CountyClinton CountyCrawford CountyDallas CountyDavis CountyDecatur CountyDelaware CountyDes Moines CountyDickinson CountyDubuque CountyEmmet CountyFayette CountyFloyd CountyFranklin CountyFremont CountyGreene CountyGrundy CountyGuthrie CountyHamilton CountyHancock CountyHardin CountyHarrison CountyHenry CountyHoward CountyHumboldt CountyIda CountyIowa CountyJackson CountyJasper CountyJefferson CountyJohnson CountyJones CountyKeokuk CountyKossuth CountyLee CountyLinn CountyLouisa CountyLucas CountyLyon CountyMadison CountyMahaska CountyMarion CountyMarshall CountyMills CountyMitchell CountyMonona CountyMonroe CountyMontgomery CountyMuscatine CountyO'Brien CountyOsceola CountyPage CountyPalo Alto CountyPlymouth CountyPocahontas CountyPolk CountyPottawattamie CountyPoweshiek CountyRinggold CountySac CountyScott CountyShelby CountySioux CountyStory CountyTama CountyTaylor CountyUnion CountyVan Buren CountyWapello CountyWarren CountyWashington CountyWayne CountyWebster CountyWinnebago CountyWinneshiek CountyWoodbury CountyWorth CountyWright CountyPolkLinnScottJohnsonBlack HawkDallasDubuqueStoryPottawattamieWoodburyWarrenClinton
D +40R +40Click a county to zoom ยท arrow keys step through counties by size
Where the margin is won
Polk County: Willems +73,264Johnson County: Willems +38,945Linn County: Willems +29,889Scott County: Willems +13,322Story County: Willems +11,649Black Hawk County: Willems +10,130Dallas County: Willems +5,362Dubuque County: Willems +4,968Cerro Gordo County: Willems +2,090Winneshiek County: Willems +1,154Des Moines County: Willems +1,149Jefferson County: Willems +1,070Pottawattamie County: Willems +803Muscatine County: Willems +726Clinton County: Willems +679Marshall County: Willems +388Boone County: Willems +128Poweshiek County: Willems +114Warren County: Willems +99Sioux County: Bird +10,397Plymouth County: Bird +4,753Marion County: Bird +3,877Mahaska County: Bird +3,749Lyon County: Bird +3,435O'Brien County: Bird +2,893Carroll County: Bird +2,557Delaware County: Bird +2,254Dickinson County: Bird +2,244Benton County: Bird +2,054Webster County: Bird +1,803Butler County: Bird +1,794Sac County: Bird +1,739Page County: Bird +1,704Kossuth County: Bird +1,679Grundy County: Bird +1,676Henry County: Bird +1,663Shelby County: Bird +1,629Cherokee County: Bird +1,601Harrison County: Bird +1,568Madison County: Bird +1,557Hancock County: Bird +1,540Clay County: Bird +1,528Appanoose County: Bird +1,526Osceola County: Bird +1,498Keokuk County: Bird +1,483Hardin County: Bird +1,474Humboldt County: Bird +1,456Crawford County: Bird +1,296Cass County: Bird +1,285Mills County: Bird +1,283Guthrie County: Bird +1,253Davis County: Bird +1,243Palo Alto County: Bird +1,242Wayne County: Bird +1,235Clayton County: Bird +1,201Pocahontas County: Bird +1,181Montgomery County: Bird +1,152Wright County: Bird +1,152Buena Vista County: Bird +1,148Taylor County: Bird +1,127Wapello County: Bird +1,119Allamakee County: Bird +1,102Emmet County: Bird +1,043Iowa County: Bird +1,038Jasper County: Bird +1,038Calhoun County: Bird +1,029Monona County: Bird +1,022Washington County: Bird +999Van Buren County: Bird +995Monroe County: Bird +979Chickasaw County: Bird +965Fayette County: Bird +962Decatur County: Bird +961Ida County: Bird +960Lucas County: Bird +933Fremont County: Bird +924Woodbury County: Bird +903Buchanan County: Bird +861Mitchell County: Bird +833Franklin County: Bird +801Tama County: Bird +799Adair County: Bird +798Clarke County: Bird +773Winnebago County: Bird +694Ringgold County: Bird +644Greene County: Bird +638Union County: Bird +631Louisa County: Bird +616Jones County: Bird +519Hamilton County: Bird +514Howard County: Bird +496Floyd County: Bird +483Jackson County: Bird +460Audubon County: Bird +446Adams County: Bird +405Worth County: Bird +292Bremer County: Bird +286Lee County: Bird +221Cedar County: Bird +198
Willems +195,929 net votes from 19 countiesStatewide D +6.1, a 83,620 vote marginBird +112,309 net votes from 80 counties

Projected statewide vote

1,371,936 votes
CandidateVotesShare
Nate Willems D720,91652.5%
Brenna Bird R637,29946.5%
Other candidates13,7191.0%
Total1,371,936100%

Expected votes at the projected turnout for this office, which runs a little below the top of the ticket because some voters skip down ballot races.

Projected vote by county

99 counties
CountyWillemsBirdOtherTotalMargin
Statewide720,918637,29813,7151,371,931D +6.1
Polk County142,73069,4662,143214,339D +34.2
Linn County65,98436,0951,031103,110D +29.0
Scott County43,03329,71173673,480D +18.1
Johnson County55,48916,54472872,761D +53.5
Black Hawk County31,50021,37053453,404D +19.0
Dallas County27,29021,92849749,715D +10.8
Dubuque County24,07319,10543643,614D +11.4
Story County27,20315,55443343,190D +27.0
Pottawattamie County17,79116,98835235,131D +2.3
Woodbury County16,79217,69534734,834R +2.6
Warren County13,06312,96426326,290D +0.4
Clinton County9,8409,16119319,194D +3.5
Cerro Gordo County10,3658,27518818,828D +11.1
Jasper County7,6918,72916616,586R +6.3
Marion County5,9509,82715915,936R +24.3
Sioux County2,66313,06015815,881R +65.5
Muscatine County8,1277,40115615,684D +4.6
Des Moines County8,2417,09215515,488D +7.4
Marshall County7,2266,83814214,206D +2.7
Webster County5,9757,77813913,892R +13.0
Lee County6,3696,59013113,090R +1.7
Boone County6,2266,09812412,448D +1.0
Benton County5,0277,08112212,230R +16.8
Wapello County5,4386,55712112,116R +9.2
Bremer County5,8406,12612112,087R +2.4
Plymouth County3,1097,86211011,081R +42.9
Winneshiek County5,6184,46410210,184D +11.3
Washington County4,2775,276979,650R +10.4
Dickinson County3,4105,654929,156R +24.5
Mahaska County2,6516,400919,142R +41.0
Carroll County3,2215,778919,090R +28.1
Jones County4,2124,731919,034R +5.7
Buchanan County3,9724,833888,893R +9.7
Cedar County4,1914,389868,666R +2.3
Jackson County4,0434,503868,632R +5.3
Poweshiek County4,1954,081848,360D +1.4
Delaware County2,9675,221828,270R +27.3
Fayette County3,6014,563828,246R +11.7
Madison County3,2684,825828,175R +19.0
Iowa County3,4254,463797,967R +13.0
Henry County3,0984,761797,938R +20.9
Clayton County3,2774,478797,834R +15.3
Hardin County2,8384,312727,222R +20.4
Tama County3,1653,964737,202R +11.1
Clay County2,7674,295727,134R +21.4
Jefferson County4,0642,994717,129D +15.0
Kossuth County2,6724,351717,094R +23.7
Butler County2,3574,151666,574R +27.3
Mills County2,5833,866656,514R +19.7
Harrison County2,3393,907636,309R +24.9
Floyd County2,8803,363636,306R +7.7
Hamilton County2,8543,368626,284R +8.2
Allamakee County2,5063,608626,176R +17.9
Buena Vista County2,4663,614626,142R +18.7
O'Brien County1,5574,450606,067R +47.7
Page County2,1073,811605,978R +28.5
Grundy County2,0723,748585,878R +28.5
Cass County2,2393,524575,820R +22.1
Lyon County1,0244,459555,538R +62.0
Guthrie County2,0503,303545,407R +23.2
Crawford County1,9803,276525,308R +24.4
Appanoose County1,8613,387535,301R +28.8
Chickasaw County2,1083,073535,234R +18.4
Shelby County1,7713,400515,222R +31.2
Cherokee County1,7193,320515,090R +31.5
Union County2,1722,803505,025R +12.6
Hancock County1,6093,149484,806R +32.1
Wright County1,7962,948484,792R +24.1
Winnebago County1,9872,681474,715R +14.7
Mitchell County1,9042,737474,688R +17.8
Sac County1,3283,067454,440R +39.2
Calhoun County1,6042,633434,280R +24.1
Keokuk County1,3562,839424,237R +35.0
Humboldt County1,3442,800424,186R +34.8
Montgomery County1,4402,592404,072R +28.3
Louisa County1,6922,308414,041R +15.2
Franklin County1,5762,377413,994R +20.1
Palo Alto County1,3542,596403,990R +31.1
Greene County1,6472,285403,972R +16.1
Emmet County1,3772,420383,835R +27.2
Howard County1,6362,132383,806R +13.0
Lucas County1,4062,339373,782R +24.7
Clarke County1,4512,224373,712R +20.8
Monona County1,3212,343373,701R +27.6
Worth County1,5831,875353,493R +8.4
Adair County1,2872,085343,406R +23.4
Davis County1,0242,267333,324R +37.4
Monroe County1,1502,129333,312R +29.6
Decatur County1,0762,037313,144R +30.6
Van Buren County1,0062,001313,038R +32.7
Pocahontas County9102,091313,032R +38.9
Ida County1,0091,969303,008R +31.9
Fremont County1,0031,927302,960R +31.2
Audubon County1,0911,537262,654R +16.8
Wayne County6741,909272,610R +47.4
Osceola County5292,027262,582R +58.0
Taylor County6791,806252,510R +44.9
Ringgold County7821,426232,231R +28.9
Adams County6751,080171,772R +22.8

Projected 2026 votes from the On Point simulation: each county's expected turnout times its simulated vote share. Totals may differ from the race total by rounding.

Range of outcomes

80 percent of simulations
D +13.8R +1.6D +6.1

80 percent of simulations fall between D +13.8 and R +1.6. The white dot is the forecast; the line is a tie.

How the model gets there

statewide margin at each step
Top of ticket, Senate and governorD +6.9
Down ballot history, moved to 2026D +13.8
Blend of every legD +9.8
With incumbency and primary unityD +6.5
With polls, 11% weightD +6.1

Leg weights: Top of ticket 38%, Approval fundamentals 19%, Gallup, relaxed 13%, Down ballot history 31%. 80 percent of outcomes fall between D +13.8 and R +1.6.

Polls of the race

2 polls
R+4R+2EvenD+2D+4D+69/109/179/2410/110/810/1510/22Willems aheadBird aheadCygnal (R), 500, Even, 41 days agoEvenpoll trendD +2.9average
PollsterSampleEndedWillemsBirdMargin
Cygnal (R)500 LV2026-09-114040R +0.0
Cygnal (R)600 LV2026-06-193944R +5.0