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

Lean DModel D +2.2Polls D +0.5Updated October 22, 2026
John Kulewicz
Democrat
50.6%
2,413,565 projected votes
Keith Faber
Republican
48.4%
2,310,399 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,868Franklin County: Kulewicz +235,336Hamilton County: Kulewicz +100,044Summit County: Kulewicz +55,429Lucas County: Kulewicz +45,216Montgomery County: Kulewicz +22,760Lorain County: Kulewicz +9,985Mahoning County: Kulewicz +8,874Athens County: Kulewicz +7,045Delaware County: Kulewicz +1,332Erie County: Kulewicz +179Clermont County: Faber +28,167Butler County: Faber +28,028Warren County: Faber +26,161Miami County: Faber +18,886Richland County: Faber +16,790Licking County: Faber +15,520Stark County: Faber +14,695Allen County: Faber +14,562Columbiana County: Faber +14,224Darke County: Faber +13,665Shelby County: Faber +12,692Wayne County: Faber +12,623Auglaize County: Faber +12,578Mercer County: Faber +12,241Greene County: Faber +11,637Putnam County: Faber +10,831Hancock County: Faber +10,507Knox County: Faber +10,489Muskingum County: Faber +10,386Fairfield County: Faber +10,202Logan County: Faber +9,971Tuscarawas County: Faber +9,938Ashland County: Faber +9,655Medina County: Faber +9,624Preble County: Faber +9,247Pickaway County: Faber +8,789Highland County: Faber +8,550Brown County: Faber +8,056Scioto County: Faber +7,987Washington County: Faber +7,758Clinton County: Faber +7,682Union County: Faber +7,673Crawford County: Faber +7,647Belmont County: Faber +7,535Huron County: Faber +7,481Clark County: Faber +7,441Lawrence County: Faber +7,425Holmes County: Faber +7,121Marion County: Faber +7,111Jefferson County: Faber +7,071Morrow County: Faber +6,856Geauga County: Faber +6,834Ross County: Faber +6,573Williams County: Faber +6,568Champaign County: Faber +6,501Van Wert County: Faber +6,316Fulton County: Faber +6,281Seneca County: Faber +5,865Coshocton County: Faber +5,810Guernsey County: Faber +5,708Madison County: Faber +5,621Henry County: Faber +5,463Adams County: Faber +5,426Defiance County: Faber +5,415Perry County: Faber +5,179Sandusky County: Faber +5,146Fayette County: Faber +5,126Gallia County: Faber +5,069Lake County: Faber +5,004Hardin County: Faber +4,892Jackson County: Faber +4,879Carroll County: Faber +4,751Ashtabula County: Faber +4,378Wyandot County: Faber +4,001Meigs County: Faber +3,642Paulding County: Faber +3,560Pike County: Faber +3,437Hocking County: Faber +2,968Ottawa County: Faber +2,597Noble County: Faber +2,570Morgan County: Faber +2,273Harrison County: Faber +2,271Monroe County: Faber +2,072Vinton County: Faber +1,938Portage County: Faber +880Wood County: Faber +775Trumbull County: Faber +616
Kulewicz +735,068 net votes from 11 countiesStatewide D +2.2, a 103,161 vote marginFaber +631,907 net votes from 77 counties

Projected statewide vote

4,771,682 votes
CandidateVotesShare
John Kulewicz D2,413,56550.6%
Keith Faber R2,310,39948.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,5662,310,40547,7094,771,680D +2.2
Franklin County369,159133,8235,080508,062D +46.3
Cuyahoga County370,498121,6304,970497,098D +50.1
Hamilton County222,514122,4703,484348,468D +28.7
Summit County140,70985,2802,282228,271D +24.3
Montgomery County117,24794,4872,140213,874D +10.6
Lucas County101,29556,0791,590158,964D +28.4
Stark County67,79082,4851,517151,792R +9.7
Butler County60,20788,2351,500149,942R +18.7
Lorain County68,96358,9781,291129,232D +7.7
Warren County43,01369,1741,133113,320R +23.1
Delaware County54,82353,4911,094109,408D +1.2
Lake County49,58954,5931,052105,234R +4.8
Mahoning County51,65642,78295495,392D +9.3
Clermont County31,13059,29791391,340R +30.8
Medina County38,03447,65886686,558R +11.1
Trumbull County39,75240,36880880,928R +0.8
Licking County29,82145,34175975,921R +20.4
Greene County31,29042,92775074,967R +15.5
Portage County33,71634,59669069,002R +1.3
Fairfield County28,54738,74968067,976R +15.0
Wood County27,04827,82355555,426R +1.4
Clark County21,49728,93850950,944R +14.6
Richland County15,37432,16448048,018R +35.0
Miami County13,97332,85947447,306R +39.9
Geauga County19,41026,24446246,116R +14.8
Wayne County15,27927,90243643,617R +28.9
Columbiana County12,40326,62739439,424R +36.1
Allen County11,33625,89837637,610R +38.7
Ashtabula County15,26619,64435235,262R +12.4
Tuscarawas County12,16222,10034634,608R +28.7
Erie County16,19916,02032532,544D +0.6
Muskingum County10,45220,83831631,606R +32.9
Hancock County10,01620,52330830,847R +34.1
Union County10,64218,31529229,249R +26.2
Ross County9,92716,50026726,694R +24.6
Knox County7,63818,12725926,024R +40.3
Jefferson County9,22916,30025725,786R +27.4
Belmont County8,93016,46525725,652R +29.4
Washington County8,59816,35625325,207R +30.8
Scioto County8,47016,45725125,178R +31.7
Sandusky County9,28614,43224023,958R +21.5
Pickaway County7,07315,86223123,166R +37.9
Athens County14,8187,77322922,820D +30.9
Marion County7,55814,66922522,452R +31.7
Darke County3,88417,54921721,650R +63.1
Huron County6,82914,31021321,352R +35.0
Ashland County5,62215,27721121,110R +45.7
Lawrence County6,55013,97520820,733R +35.8
Seneca County7,27513,14020520,620R +28.4
Auglaize County3,87816,45620420,538R +61.2
Shelby County3,67016,36220220,234R +62.7
Ottawa County8,51811,11519919,832R +13.1
Mercer County3,34415,58519119,120R +64.0
Logan County4,20814,17918518,572R +53.7
Fulton County5,73912,02018017,939R +35.0
Preble County3,96613,21317317,352R +53.3
Madison County5,47211,09316716,732R +33.6
Brown County4,20112,25716616,624R +48.5
Crawford County4,28611,93316416,383R +46.7
Clinton County4,23011,91216216,304R +47.1
Putnam County2,63313,46416316,260R +66.6
Champaign County4,74211,24316216,147R +40.3
Highland County3,43311,98315615,572R +54.9
Defiance County4,82610,24115315,220R +35.6
Morrow County3,94610,80214814,896R +46.0
Williams County3,89310,46114514,499R +45.3
Guernsey County4,0729,78014013,992R +40.8
Perry County4,0729,25113413,457R +38.5
Coshocton County3,6179,42713113,175R +44.1
Henry County3,0428,50511711,664R +46.8
Van Wert County2,5468,86211511,523R +54.8
Carroll County3,1347,88511111,130R +42.7
Jackson County3,0047,88310910,996R +44.4
Hocking County3,8146,78210710,703R +27.7
Holmes County1,6988,81910710,624R +67.0
Hardin County2,7917,68310610,580R +46.2
Gallia County2,6907,75910510,554R +48.0
Adams County2,2247,6501009,974R +54.4
Fayette County2,3737,4991009,972R +51.4
Pike County2,9526,389959,436R +36.4
Wyandot County2,4736,474919,038R +44.3
Meigs County2,3175,959838,359R +43.6
Paulding County1,8475,407747,328R +48.6
Harrison County1,6783,949575,684R +40.0
Morgan County1,5423,815545,411R +42.0
Monroe County1,6273,699545,380R +38.5
Noble County1,2723,842525,166R +49.8
Vinton County1,2993,237464,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.2

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.9
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.2

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