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.0 points, with a 84 percent chance of winning.

Lean DModel D +6.0Polls D +2.9Updated October 22, 2026
Nate Willems
Democrat
52.5%
720,145 projected votes
Brenna Bird
Republican
46.5%
638,070 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,044Johnson County: Willems +38,897Linn County: Willems +29,785Scott County: Willems +13,229Story County: Willems +11,595Black Hawk County: Willems +10,062Dallas County: Willems +5,313Dubuque County: Willems +4,918Cerro Gordo County: Willems +2,069Winneshiek County: Willems +1,144Des Moines County: Willems +1,129Jefferson County: Willems +1,060Pottawattamie County: Willems +754Muscatine County: Willems +702Clinton County: Willems +654Marshall County: Willems +366Boone County: Willems +113Poweshiek County: Willems +105Warren County: Willems +72Sioux County: Bird +10,409Plymouth County: Bird +4,764Marion County: Bird +3,893Mahaska County: Bird +3,759Lyon County: Bird +3,439O'Brien County: Bird +2,899Carroll County: Bird +2,567Delaware County: Bird +2,262Dickinson County: Bird +2,252Benton County: Bird +2,067Webster County: Bird +1,823Butler County: Bird +1,801Sac County: Bird +1,743Page County: Bird +1,712Kossuth County: Bird +1,685Grundy County: Bird +1,682Henry County: Bird +1,673Shelby County: Bird +1,635Cherokee County: Bird +1,607Harrison County: Bird +1,576Madison County: Bird +1,564Hancock County: Bird +1,546Clay County: Bird +1,536Appanoose County: Bird +1,532Osceola County: Bird +1,500Keokuk County: Bird +1,488Hardin County: Bird +1,483Humboldt County: Bird +1,460Crawford County: Bird +1,305Cass County: Bird +1,291Mills County: Bird +1,291Guthrie County: Bird +1,257Palo Alto County: Bird +1,246Davis County: Bird +1,245Wayne County: Bird +1,239Clayton County: Bird +1,209Pocahontas County: Bird +1,183Wright County: Bird +1,159Buena Vista County: Bird +1,158Montgomery County: Bird +1,157Wapello County: Bird +1,139Taylor County: Bird +1,130Allamakee County: Bird +1,110Jasper County: Bird +1,058Emmet County: Bird +1,049Iowa County: Bird +1,046Calhoun County: Bird +1,035Monona County: Bird +1,026Washington County: Bird +1,011Van Buren County: Bird +997Monroe County: Bird +983Fayette County: Bird +972Chickasaw County: Bird +969Decatur County: Bird +965Ida County: Bird +964Woodbury County: Bird +960Lucas County: Bird +938Fremont County: Bird +927Buchanan County: Bird +872Mitchell County: Bird +838Tama County: Bird +808Franklin County: Bird +806Adair County: Bird +802Clarke County: Bird +779Winnebago County: Bird +700Ringgold County: Bird +646Greene County: Bird +642Union County: Bird +637Louisa County: Bird +622Jones County: Bird +530Hamilton County: Bird +522Howard County: Bird +500Floyd County: Bird +491Jackson County: Bird +470Audubon County: Bird +448Adams County: Bird +406Bremer County: Bird +300Worth County: Bird +296Lee County: Bird +239Cedar County: Bird +208
Willems +195,011 net votes from 19 countiesStatewide D +6.0, a 82,073 vote marginBird +112,938 net votes from 80 counties

Projected statewide vote

1,371,936 votes
CandidateVotesShare
Nate Willems D720,14552.5%
Brenna Bird R638,07046.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,142638,06913,7201,371,931D +6.0
Polk County142,62069,5762,143214,339D +34.1
Linn County65,93236,1471,031103,110D +28.9
Scott County42,98729,75873573,480D +18.0
Johnson County55,46516,56872872,761D +53.5
Black Hawk County31,46621,40453453,404D +18.8
Dallas County27,26521,95249849,715D +10.7
Dubuque County24,04819,13043643,614D +11.3
Story County27,17615,58143343,190D +26.9
Pottawattamie County17,76717,01335135,131D +2.1
Woodbury County16,76317,72334834,834R +2.8
Warren County13,05012,97826226,290D +0.3
Clinton County9,8289,17419219,194D +3.4
Cerro Gordo County10,3548,28518918,828D +11.0
Jasper County7,6818,73916616,586R +6.4
Marion County5,9429,83515915,936R +24.4
Sioux County2,65713,06615815,881R +65.5
Muscatine County8,1157,41315615,684D +4.5
Des Moines County8,2317,10215515,488D +7.3
Marshall County7,2156,84914214,206D +2.6
Webster County5,9657,78813913,892R +13.1
Lee County6,3606,59913113,090R +1.8
Boone County6,2186,10512512,448D +0.9
Benton County5,0207,08712312,230R +16.9
Wapello County5,4286,56712112,116R +9.4
Bremer County5,8336,13312112,087R +2.5
Plymouth County3,1037,86711111,081R +43.0
Winneshiek County5,6134,46910210,184D +11.2
Washington County4,2715,282979,650R +10.5
Dickinson County3,4065,658929,156R +24.6
Mahaska County2,6466,405919,142R +41.1
Carroll County3,2165,783919,090R +28.2
Jones County4,2074,737909,034R +5.9
Buchanan County3,9664,838898,893R +9.8
Cedar County4,1864,394868,666R +2.4
Jackson County4,0384,508868,632R +5.5
Poweshiek County4,1914,086838,360D +1.3
Delaware County2,9635,225828,270R +27.4
Fayette County3,5964,568828,246R +11.8
Madison County3,2654,829818,175R +19.1
Iowa County3,4214,467797,967R +13.1
Henry County3,0934,766797,938R +21.1
Clayton County3,2734,482797,834R +15.4
Hardin County2,8344,317717,222R +20.5
Tama County3,1613,969727,202R +11.2
Clay County2,7634,299727,134R +21.5
Jefferson County4,0592,999717,129D +14.9
Kossuth County2,6694,354717,094R +23.8
Butler County2,3534,154676,574R +27.4
Mills County2,5793,870656,514R +19.8
Harrison County2,3353,911636,309R +25.0
Floyd County2,8763,367636,306R +7.8
Hamilton County2,8503,372626,284R +8.3
Allamakee County2,5023,612626,176R +18.0
Buena Vista County2,4613,619626,142R +18.9
O'Brien County1,5544,453606,067R +47.8
Page County2,1033,815605,978R +28.6
Grundy County2,0693,751585,878R +28.6
Cass County2,2363,527575,820R +22.2
Lyon County1,0224,461555,538R +62.1
Guthrie County2,0483,305545,407R +23.3
Crawford County1,9753,280535,308R +24.6
Appanoose County1,8583,390535,301R +28.9
Chickasaw County2,1063,075535,234R +18.5
Shelby County1,7683,403515,222R +31.3
Cherokee County1,7163,323515,090R +31.6
Union County2,1692,806505,025R +12.7
Hancock County1,6063,152484,806R +32.2
Wright County1,7922,951494,792R +24.2
Winnebago County1,9842,684474,715R +14.8
Mitchell County1,9012,739484,688R +17.9
Sac County1,3263,069454,440R +39.3
Calhoun County1,6012,636434,280R +24.2
Keokuk County1,3532,841434,237R +35.1
Humboldt County1,3422,802424,186R +34.9
Montgomery County1,4372,594414,072R +28.4
Louisa County1,6892,311414,041R +15.4
Franklin County1,5742,380403,994R +20.2
Palo Alto County1,3522,598403,990R +31.2
Greene County1,6452,287403,972R +16.2
Emmet County1,3742,423383,835R +27.3
Howard County1,6342,134383,806R +13.1
Lucas County1,4032,341383,782R +24.8
Clarke County1,4482,227373,712R +21.0
Monona County1,3192,345373,701R +27.7
Worth County1,5811,877353,493R +8.4
Adair County1,2852,087343,406R +23.5
Davis County1,0232,268333,324R +37.5
Monroe County1,1482,131333,312R +29.7
Decatur County1,0742,039313,144R +30.7
Van Buren County1,0052,002313,038R +32.8
Pocahontas County9092,092313,032R +39.0
Ida County1,0071,971303,008R +32.0
Fremont County1,0021,929292,960R +31.3
Audubon County1,0901,538262,654R +16.9
Wayne County6721,911272,610R +47.5
Osceola County5282,028262,582R +58.1
Taylor County6771,807262,510R +45.0
Ringgold County7811,427232,231R +29.0
Adams County6741,080181,772R +22.9

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.7R +1.7D +6.0

80 percent of simulations fall between D +13.7 and R +1.7. 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.6
Down ballot history, moved to 2026D +13.8
Blend of every legD +9.7
With incumbency and primary unityD +6.4
With polls, 11% weightD +6.0

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

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