2026 forecast ยท Ohio Attorney General

John Kulewicz is slightly favored to win Ohio's attorney general race.

John Kulewicz vs Keith Faber, an open seat. The model has Kulewicz ahead by 2.1 points, with a 65 percent chance of winning.

Lean DModel D +2.1Polls D +0.5Updated October 22, 2026
John Kulewicz
Democrat
50.6%
2,413,046 projected votes
Keith Faber
Republican
48.4%
2,310,918 projected votes
65%Kulewicz
35%Faber
Kulewicz slightly favoredEach square is one simulated election night, Kulewicz wins about 65 of 100

Ohio Attorney General by county

Adams CountyAllen CountyAshland CountyAshtabula CountyAthens CountyAuglaize CountyBelmont CountyBrown CountyButler CountyCarroll CountyChampaign CountyClark CountyClermont CountyClinton CountyColumbiana CountyCoshocton CountyCrawford CountyCuyahoga CountyDarke CountyDefiance CountyDelaware CountyErie CountyFairfield CountyFayette CountyFranklin CountyFulton CountyGallia CountyGeauga CountyGreene CountyGuernsey CountyHamilton CountyHancock CountyHardin CountyHarrison CountyHenry CountyHighland CountyHocking CountyHolmes CountyHuron CountyJackson CountyJefferson CountyKnox CountyLake CountyLawrence CountyLicking CountyLogan CountyLorain CountyLucas CountyMadison CountyMahoning CountyMarion CountyMedina CountyMeigs CountyMercer CountyMiami CountyMonroe CountyMontgomery CountyMorgan CountyMorrow CountyMuskingum CountyNoble CountyOttawa CountyPaulding CountyPerry CountyPickaway CountyPike CountyPortage CountyPreble CountyPutnam CountyRichland CountyRoss CountySandusky CountyScioto CountySeneca CountyShelby CountyStark CountySummit CountyTrumbull CountyTuscarawas CountyUnion CountyVan Wert CountyVinton CountyWarren CountyWashington CountyWayne CountyWilliams CountyWood CountyWyandot CountyFranklinCuyahogaHamiltonSummitMontgomeryLucasStarkButlerLorainWarrenDelawareLake
D +40R +40Click a county to zoom ยท arrow keys step through counties by size
Where the margin is won
Cuyahoga County: Kulewicz +248,795Franklin County: Kulewicz +235,266Hamilton County: Kulewicz +99,972Summit County: Kulewicz +55,378Lucas County: Kulewicz +45,186Montgomery County: Kulewicz +22,709Lorain County: Kulewicz +9,954Mahoning County: Kulewicz +8,848Athens County: Kulewicz +7,039Delaware County: Kulewicz +1,314Erie County: Kulewicz +172Clermont County: Faber +28,189Butler County: Faber +28,073Warren County: Faber +26,193Miami County: Faber +18,895Richland County: Faber +16,804Licking County: Faber +15,538Stark County: Faber +14,733Allen County: Faber +14,572Columbiana County: Faber +14,235Darke County: Faber +13,669Shelby County: Faber +12,695Wayne County: Faber +12,633Auglaize County: Faber +12,581Mercer County: Faber +12,244Greene County: Faber +11,653Putnam County: Faber +10,835Hancock County: Faber +10,515Knox County: Faber +10,495Muskingum County: Faber +10,394Fairfield County: Faber +10,218Logan County: Faber +9,975Tuscarawas County: Faber +9,949Ashland County: Faber +9,660Medina County: Faber +9,640Preble County: Faber +9,249Pickaway County: Faber +8,795Highland County: Faber +8,554Brown County: Faber +8,059Scioto County: Faber +7,995Washington County: Faber +7,763Clinton County: Faber +7,686Union County: Faber +7,680Crawford County: Faber +7,651Belmont County: Faber +7,543Huron County: Faber +7,487Clark County: Faber +7,457Lawrence County: Faber +7,430Holmes County: Faber +7,123Marion County: Faber +7,117Jefferson County: Faber +7,079Morrow County: Faber +6,860Geauga County: Faber +6,842Ross County: Faber +6,581Williams County: Faber +6,570Champaign County: Faber +6,505Van Wert County: Faber +6,319Fulton County: Faber +6,285Seneca County: Faber +5,870Coshocton County: Faber +5,813Guernsey County: Faber +5,712Madison County: Faber +5,627Henry County: Faber +5,465Adams County: Faber +5,428Defiance County: Faber +5,419Perry County: Faber +5,183Sandusky County: Faber +5,152Fayette County: Faber +5,128Gallia County: Faber +5,073Lake County: Faber +5,026Hardin County: Faber +4,894Jackson County: Faber +4,882Carroll County: Faber +4,754Ashtabula County: Faber +4,388Wyandot County: Faber +4,003Meigs County: Faber +3,644Paulding County: Faber +3,562Pike County: Faber +3,439Hocking County: Faber +2,970Ottawa County: Faber +2,601Noble County: Faber +2,572Morgan County: Faber +2,275Harrison County: Faber +2,273Monroe County: Faber +2,073Vinton County: Faber +1,939Portage County: Faber +898Wood County: Faber +785Trumbull County: Faber +636
Kulewicz +734,633 net votes from 11 countiesStatewide D +2.1, a 102,131 vote marginFaber +632,502 net votes from 77 counties

Projected statewide vote

4,771,682 votes
CandidateVotesShare
John Kulewicz D2,413,04650.6%
Keith Faber R2,310,91848.4%
Other candidates47,7161.0%
Total4,771,682100%

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

88 counties
CountyKulewiczFaberOtherTotalMargin
Statewide2,413,0502,310,91947,7114,771,680D +2.1
Franklin County369,124133,8585,080508,062D +46.3
Cuyahoga County370,461121,6664,971497,098D +50.0
Hamilton County222,478122,5063,484348,468D +28.7
Summit County140,68385,3052,283228,271D +24.3
Montgomery County117,22294,5132,139213,874D +10.6
Lucas County101,28056,0941,590158,964D +28.4
Stark County67,77182,5041,517151,792R +9.7
Butler County60,18588,2581,499149,942R +18.7
Lorain County68,94758,9931,292129,232D +7.7
Warren County42,99769,1901,133113,320R +23.1
Delaware County54,81453,5001,094109,408D +1.2
Lake County49,57854,6041,052105,234R +4.8
Mahoning County51,64342,79595495,392D +9.3
Clermont County31,11959,30891391,340R +30.9
Medina County38,02647,66686686,558R +11.1
Trumbull County39,74240,37880880,928R +0.8
Licking County29,81245,35075975,921R +20.5
Greene County31,28242,93575074,967R +15.5
Portage County33,70734,60569069,002R +1.3
Fairfield County28,53938,75768067,976R +15.0
Wood County27,04327,82855555,426R +1.4
Clark County21,48928,94650950,944R +14.6
Richland County15,36732,17148048,018R +35.0
Miami County13,96932,86447347,306R +39.9
Geauga County19,40626,24846246,116R +14.8
Wayne County15,27427,90743643,617R +29.0
Columbiana County12,39826,63339339,424R +36.1
Allen County11,33125,90337637,610R +38.7
Ashtabula County15,26119,64935235,262R +12.4
Tuscarawas County12,15722,10634534,608R +28.8
Erie County16,19516,02332632,544D +0.5
Muskingum County10,44820,84231631,606R +32.9
Hancock County10,01220,52730830,847R +34.1
Union County10,63818,31829329,249R +26.3
Ross County9,92316,50426726,694R +24.6
Knox County7,63518,13025926,024R +40.3
Jefferson County9,22516,30425725,786R +27.4
Belmont County8,92616,46925725,652R +29.4
Washington County8,59616,35925225,207R +30.8
Scioto County8,46616,46125125,178R +31.8
Sandusky County9,28314,43524023,958R +21.5
Pickaway County7,07015,86523123,166R +38.0
Athens County14,8157,77622922,820D +30.8
Marion County7,55514,67222522,452R +31.7
Darke County3,88217,55121721,650R +63.1
Huron County6,82614,31321321,352R +35.1
Ashland County5,62015,28021021,110R +45.8
Lawrence County6,54813,97820720,733R +35.8
Seneca County7,27213,14220620,620R +28.5
Auglaize County3,87616,45720520,538R +61.3
Shelby County3,66816,36320320,234R +62.8
Ottawa County8,51611,11719919,832R +13.1
Mercer County3,34315,58719019,120R +64.0
Logan County4,20614,18118518,572R +53.7
Fulton County5,73712,02218017,939R +35.0
Preble County3,96513,21417317,352R +53.3
Madison County5,46911,09616716,732R +33.6
Brown County4,20012,25916516,624R +48.5
Crawford County4,28411,93516416,383R +46.7
Clinton County4,22811,91416216,304R +47.1
Putnam County2,63113,46616316,260R +66.6
Champaign County4,74011,24516216,147R +40.3
Highland County3,43111,98515615,572R +54.9
Defiance County4,82410,24315315,220R +35.6
Morrow County3,94410,80414814,896R +46.0
Williams County3,89210,46214514,499R +45.3
Guernsey County4,0709,78214013,992R +40.8
Perry County4,0709,25313413,457R +38.5
Coshocton County3,6159,42813213,175R +44.1
Henry County3,0418,50611711,664R +46.9
Van Wert County2,5448,86311611,523R +54.8
Carroll County3,1327,88611211,130R +42.7
Jackson County3,0027,88411010,996R +44.4
Hocking County3,8136,78310710,703R +27.8
Holmes County1,6978,82010710,624R +67.0
Hardin County2,7907,68410610,580R +46.3
Gallia County2,6887,76110510,554R +48.1
Adams County2,2237,6511009,974R +54.4
Fayette County2,3727,5001009,972R +51.4
Pike County2,9516,390959,436R +36.5
Wyandot County2,4726,475919,038R +44.3
Meigs County2,3165,960838,359R +43.6
Paulding County1,8465,408747,328R +48.6
Harrison County1,6773,950575,684R +40.0
Morgan County1,5413,816545,411R +42.0
Monroe County1,6273,700535,380R +38.5
Noble County1,2713,843525,166R +49.8
Vinton County1,2983,237474,582R +42.3

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 +9.4R +5.1D +2.1

80 percent of simulations fall between D +9.4 and R +5.1. 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 +3.8
Down ballot history, moved to 2026R +3.6
Blend of every legD +2.3
With incumbency and primary unityD +2.3
With polls, 5% weightD +2.1

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

Polls of the race

2 polls
R+2EvenD+2D+4D+6D+8AugSepOctKulewicz aheadFaber aheadTulchin Research (D) for Kulewicz campaign, 600, D +4.0, 79 days agoD +4.0poll trendD +0.5average
PollsterSampleEndedKulewiczFaberMargin
Tulchin Research (D) for Kulewicz campaign600 LV2026-08-043632D +4.0
Tulchin Research (D) for Kulewicz campaign600 LV2026-06-043434R +0.0