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
D +40R +40Click a county to zoom ยท arrow keys step through counties by size
Where the margin is won
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| Candidate | Votes | Share |
|---|---|---|
| Nate Willems D | 720,145 | 52.5% |
| Brenna Bird R | 638,070 | 46.5% |
| Other candidates | 13,719 | 1.0% |
| Total | 1,371,936 | 100% |
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| County | Willems | Bird | Other | Total | Margin |
|---|---|---|---|---|---|
| Statewide | 720,142 | 638,069 | 13,720 | 1,371,931 | D +6.0 |
| Polk County | 142,620 | 69,576 | 2,143 | 214,339 | D +34.1 |
| Linn County | 65,932 | 36,147 | 1,031 | 103,110 | D +28.9 |
| Scott County | 42,987 | 29,758 | 735 | 73,480 | D +18.0 |
| Johnson County | 55,465 | 16,568 | 728 | 72,761 | D +53.5 |
| Black Hawk County | 31,466 | 21,404 | 534 | 53,404 | D +18.8 |
| Dallas County | 27,265 | 21,952 | 498 | 49,715 | D +10.7 |
| Dubuque County | 24,048 | 19,130 | 436 | 43,614 | D +11.3 |
| Story County | 27,176 | 15,581 | 433 | 43,190 | D +26.9 |
| Pottawattamie County | 17,767 | 17,013 | 351 | 35,131 | D +2.1 |
| Woodbury County | 16,763 | 17,723 | 348 | 34,834 | R +2.8 |
| Warren County | 13,050 | 12,978 | 262 | 26,290 | D +0.3 |
| Clinton County | 9,828 | 9,174 | 192 | 19,194 | D +3.4 |
| Cerro Gordo County | 10,354 | 8,285 | 189 | 18,828 | D +11.0 |
| Jasper County | 7,681 | 8,739 | 166 | 16,586 | R +6.4 |
| Marion County | 5,942 | 9,835 | 159 | 15,936 | R +24.4 |
| Sioux County | 2,657 | 13,066 | 158 | 15,881 | R +65.5 |
| Muscatine County | 8,115 | 7,413 | 156 | 15,684 | D +4.5 |
| Des Moines County | 8,231 | 7,102 | 155 | 15,488 | D +7.3 |
| Marshall County | 7,215 | 6,849 | 142 | 14,206 | D +2.6 |
| Webster County | 5,965 | 7,788 | 139 | 13,892 | R +13.1 |
| Lee County | 6,360 | 6,599 | 131 | 13,090 | R +1.8 |
| Boone County | 6,218 | 6,105 | 125 | 12,448 | D +0.9 |
| Benton County | 5,020 | 7,087 | 123 | 12,230 | R +16.9 |
| Wapello County | 5,428 | 6,567 | 121 | 12,116 | R +9.4 |
| Bremer County | 5,833 | 6,133 | 121 | 12,087 | R +2.5 |
| Plymouth County | 3,103 | 7,867 | 111 | 11,081 | R +43.0 |
| Winneshiek County | 5,613 | 4,469 | 102 | 10,184 | D +11.2 |
| Washington County | 4,271 | 5,282 | 97 | 9,650 | R +10.5 |
| Dickinson County | 3,406 | 5,658 | 92 | 9,156 | R +24.6 |
| Mahaska County | 2,646 | 6,405 | 91 | 9,142 | R +41.1 |
| Carroll County | 3,216 | 5,783 | 91 | 9,090 | R +28.2 |
| Jones County | 4,207 | 4,737 | 90 | 9,034 | R +5.9 |
| Buchanan County | 3,966 | 4,838 | 89 | 8,893 | R +9.8 |
| Cedar County | 4,186 | 4,394 | 86 | 8,666 | R +2.4 |
| Jackson County | 4,038 | 4,508 | 86 | 8,632 | R +5.5 |
| Poweshiek County | 4,191 | 4,086 | 83 | 8,360 | D +1.3 |
| Delaware County | 2,963 | 5,225 | 82 | 8,270 | R +27.4 |
| Fayette County | 3,596 | 4,568 | 82 | 8,246 | R +11.8 |
| Madison County | 3,265 | 4,829 | 81 | 8,175 | R +19.1 |
| Iowa County | 3,421 | 4,467 | 79 | 7,967 | R +13.1 |
| Henry County | 3,093 | 4,766 | 79 | 7,938 | R +21.1 |
| Clayton County | 3,273 | 4,482 | 79 | 7,834 | R +15.4 |
| Hardin County | 2,834 | 4,317 | 71 | 7,222 | R +20.5 |
| Tama County | 3,161 | 3,969 | 72 | 7,202 | R +11.2 |
| Clay County | 2,763 | 4,299 | 72 | 7,134 | R +21.5 |
| Jefferson County | 4,059 | 2,999 | 71 | 7,129 | D +14.9 |
| Kossuth County | 2,669 | 4,354 | 71 | 7,094 | R +23.8 |
| Butler County | 2,353 | 4,154 | 67 | 6,574 | R +27.4 |
| Mills County | 2,579 | 3,870 | 65 | 6,514 | R +19.8 |
| Harrison County | 2,335 | 3,911 | 63 | 6,309 | R +25.0 |
| Floyd County | 2,876 | 3,367 | 63 | 6,306 | R +7.8 |
| Hamilton County | 2,850 | 3,372 | 62 | 6,284 | R +8.3 |
| Allamakee County | 2,502 | 3,612 | 62 | 6,176 | R +18.0 |
| Buena Vista County | 2,461 | 3,619 | 62 | 6,142 | R +18.9 |
| O'Brien County | 1,554 | 4,453 | 60 | 6,067 | R +47.8 |
| Page County | 2,103 | 3,815 | 60 | 5,978 | R +28.6 |
| Grundy County | 2,069 | 3,751 | 58 | 5,878 | R +28.6 |
| Cass County | 2,236 | 3,527 | 57 | 5,820 | R +22.2 |
| Lyon County | 1,022 | 4,461 | 55 | 5,538 | R +62.1 |
| Guthrie County | 2,048 | 3,305 | 54 | 5,407 | R +23.3 |
| Crawford County | 1,975 | 3,280 | 53 | 5,308 | R +24.6 |
| Appanoose County | 1,858 | 3,390 | 53 | 5,301 | R +28.9 |
| Chickasaw County | 2,106 | 3,075 | 53 | 5,234 | R +18.5 |
| Shelby County | 1,768 | 3,403 | 51 | 5,222 | R +31.3 |
| Cherokee County | 1,716 | 3,323 | 51 | 5,090 | R +31.6 |
| Union County | 2,169 | 2,806 | 50 | 5,025 | R +12.7 |
| Hancock County | 1,606 | 3,152 | 48 | 4,806 | R +32.2 |
| Wright County | 1,792 | 2,951 | 49 | 4,792 | R +24.2 |
| Winnebago County | 1,984 | 2,684 | 47 | 4,715 | R +14.8 |
| Mitchell County | 1,901 | 2,739 | 48 | 4,688 | R +17.9 |
| Sac County | 1,326 | 3,069 | 45 | 4,440 | R +39.3 |
| Calhoun County | 1,601 | 2,636 | 43 | 4,280 | R +24.2 |
| Keokuk County | 1,353 | 2,841 | 43 | 4,237 | R +35.1 |
| Humboldt County | 1,342 | 2,802 | 42 | 4,186 | R +34.9 |
| Montgomery County | 1,437 | 2,594 | 41 | 4,072 | R +28.4 |
| Louisa County | 1,689 | 2,311 | 41 | 4,041 | R +15.4 |
| Franklin County | 1,574 | 2,380 | 40 | 3,994 | R +20.2 |
| Palo Alto County | 1,352 | 2,598 | 40 | 3,990 | R +31.2 |
| Greene County | 1,645 | 2,287 | 40 | 3,972 | R +16.2 |
| Emmet County | 1,374 | 2,423 | 38 | 3,835 | R +27.3 |
| Howard County | 1,634 | 2,134 | 38 | 3,806 | R +13.1 |
| Lucas County | 1,403 | 2,341 | 38 | 3,782 | R +24.8 |
| Clarke County | 1,448 | 2,227 | 37 | 3,712 | R +21.0 |
| Monona County | 1,319 | 2,345 | 37 | 3,701 | R +27.7 |
| Worth County | 1,581 | 1,877 | 35 | 3,493 | R +8.4 |
| Adair County | 1,285 | 2,087 | 34 | 3,406 | R +23.5 |
| Davis County | 1,023 | 2,268 | 33 | 3,324 | R +37.5 |
| Monroe County | 1,148 | 2,131 | 33 | 3,312 | R +29.7 |
| Decatur County | 1,074 | 2,039 | 31 | 3,144 | R +30.7 |
| Van Buren County | 1,005 | 2,002 | 31 | 3,038 | R +32.8 |
| Pocahontas County | 909 | 2,092 | 31 | 3,032 | R +39.0 |
| Ida County | 1,007 | 1,971 | 30 | 3,008 | R +32.0 |
| Fremont County | 1,002 | 1,929 | 29 | 2,960 | R +31.3 |
| Audubon County | 1,090 | 1,538 | 26 | 2,654 | R +16.9 |
| Wayne County | 672 | 1,911 | 27 | 2,610 | R +47.5 |
| Osceola County | 528 | 2,028 | 26 | 2,582 | R +58.1 |
| Taylor County | 677 | 1,807 | 26 | 2,510 | R +45.0 |
| Ringgold County | 781 | 1,427 | 23 | 2,231 | R +29.0 |
| Adams County | 674 | 1,080 | 18 | 1,772 | R +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 simulations80 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 governor | D +6.6 |
| Down ballot history, moved to 2026 | D +13.8 |
| Blend of every leg | D +9.7 |
| With incumbency and primary unity | D +6.4 |
| With polls, 11% weight | D +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| Pollster | Sample | Ended | Willems | Bird | Margin |
|---|---|---|---|---|---|
| Cygnal (R) | 500 LV | 2026-09-11 | 40 | 40 | R +0.0 |
| Cygnal (R) | 600 LV | 2026-06-19 | 39 | 44 | R +5.0 |