2028 forecast · Ohio · President · 17 electoral votes

The Republican and the other side are in a toss up Ohio.

A generic Democrat against JD Vance: R +1.9 in the average of 20,000 county simulations, with 80% of runs between D +3.6 and R +7.4. Projected votes: 2,811,704 Democratic, 2,919,292 Republican, 66,813 other, 5,797,809 in all.

33%Democratic win chance
R +1.92028 margin
R +11.32024 actual
<1%Chance it is the tipping point

Every county

simulated margin
D +40R +40

20,000 simulated elections

margin, R minus D
D 40D 20EvenR 20R 40

From 2024 to 2028

2024 resultR +11.3Certified county votes.
National environmentD +0.7National swing by county elasticity, 2020 to 2024 trend and 2026 shifts.
Deaths and aging0.5 toward ROlder cohorts leave, every cohort ages four years.
New 18 to 21 voters0.6 toward D5.2% of the 2028 electorate here.
Life cycle drift0.3 toward RVoters under 44 drifting a little right as they age.
Migration0.1 toward DMovers in and out since 2020, carried to 2028.
2028 modelR +1.9Includes Vance's own home and polling effects and the simulation's vote weighting. Votes: 5,765,017 in 2024, 5,797,810 projected.

Democrats against Vance

Ohio
DemocratMarginD win
ButtigiegR +0.446%
HarrisR +0.942%
Rob SandHYPR +0.941%
CooperHYPR +1.239%
TalaricoHYPR +1.239%
BookerHYPR +1.437%
CubanR +1.536%
BeshearHYPR +1.635%
BrownHYPR +1.735%
WalzHYPR +1.834%
WhitmerHYPR +1.833%
Generic DemocratR +1.933%
WarnockHYPR +1.933%
EmanuelHYPR +1.933%
OssoffR +1.933%
CrockettHYPR +2.032%
MurphyHYPR +2.131%
PolisHYPR +2.131%
KhannaHYPR +2.131%
KellyHYPR +2.131%
GallegoHYPR +2.329%
PritzkerHYPR +2.429%
ShapiroR +2.428%
KlobucharHYPR +2.727%
El-SayedHYPR +2.726%
Stephen A. SmithR +3.024%
MooreHYPR +3.124%
NewsomR +3.719%
Ocasio-CortezR +5.98%

Republicans against a generic Democrat

Ohio
RepublicanMarginD win
HaleyHYPD +0.151%
YoungkinHYPR +0.149%
CottonHYPR +0.249%
Rand PaulHYPR +0.248%
KempHYPR +0.248%
RubioR +0.347%
DeSantisHYPR +0.447%
Tim ScottHYPR +0.447%
CruzHYPR +0.447%
Huckabee SandersHYPR +0.446%
DonaldsHYPR +0.446%
Trump Jr.HYPR +0.744%
VanceR +1.933%

HYP marks a candidate with no head to head polling: home state and 2026 midterm effects only.

Projected vote in every county

88 counties, largest first
County2024202880% rangeD votesR votesTotalGenerationsMigration
Franklin CountyD +28.7D +45.2D +52 to D +39438,048165,189610,999D +0.19Even
Cuyahoga CountyD +31.7D +46.1D +53 to D +39403,940149,102558,525D +0.09Even
Hamilton CountyD +15.0D +29.7D +37 to D +23264,224143,343412,607D +0.12Even
Summit CountyD +7.0D +16.4D +23 to D +10155,842112,026270,997R +0.15Even
Montgomery CountyD +0.5D +9.0D +16 to D +2137,351114,582254,989EvenEven
Lucas CountyD +12.7D +22.8D +30 to D +16114,20271,739188,284EvenEven
Butler CountyR +26.5R +19.3R +13 to R +2674,919110,695187,751R +0.08D +0.11
Stark CountyR +22.1R +16.4R +10 to R +2375,508105,207182,813R +0.32Even
Lorain CountyR +5.8D +1.8D +9 to R +581,56578,651162,120R +0.24D +0.17
Delaware CountyR +6.7D +9.3D +17 to D +279,54766,025147,360R +0.10D +0.54
Warren CountyR +31.8R +19.2R +12 to R +2658,24185,920145,919R +0.16D +0.44
Lake CountyR +14.5R +7.5R +1 to R +1458,18267,640127,266R +0.34Even
Clermont CountyR +36.1R +27.8R +21 to R +3541,99074,344117,716R +0.32D +0.39
Mahoning CountyR +9.5R +2.3D +5 to R +953,16455,714109,939R +0.22Even
Medina CountyR +25.0R +15.0R +8 to R +2245,27261,272107,766R +0.36D +0.13
Licking CountyR +30.3R +22.8R +16 to R +3037,57159,81698,558R +0.25D +0.34
Trumbull CountyR +16.9R +12.7R +6 to R +2040,68552,55994,244R +0.37Even
Greene CountyR +20.0R +13.0R +6 to R +2040,38252,40094,104R +0.19D +0.26
Fairfield CountyR +24.3R +15.5R +9 to R +2237,22750,85289,108R +0.19D +0.48
Portage CountyR +15.7R +9.7R +3 to R +1638,19946,40085,598R +0.21D +0.05
Wood CountyR +10.3R +3.5D +3 to R +1033,74336,19770,880R +0.18D +0.07
Clark CountyR +29.8R +25.1R +18 to R +3222,76638,02261,524R +0.30D +0.08
Miami CountyR +45.5R +37.7R +31 to R +4518,63141,15960,495R +0.32D +0.41
Richland CountyR +42.7R +38.9R +32 to R +4617,61540,02158,267R +0.27D +0.08
Geauga CountyR +24.3R +15.6R +9 to R +2222,78931,18954,554R +0.41D +0.08
Wayne CountyR +39.6R +35.6R +29 to R +4316,91035,63353,167R +0.35Even
Columbiana CountyR +49.4R +44.4R +37 to R +5212,77433,18346,454R +0.37Even
Allen CountyR +44.5R +40.0R +33 to R +4713,61131,74245,877R +0.21Even
Union CountyR +29.9R +16.6R +10 to R +2417,62224,65542,829R +0.14D +1.25
Ashtabula CountyR +28.6R +24.1R +17 to R +3115,97326,11542,578R +0.38Even
Tuscarawas CountyR +43.6R +39.0R +32 to R +4612,71428,94242,121R +0.39D +0.05
Muskingum CountyR +44.3R +39.3R +32 to R +4611,86827,25639,555R +0.32D +0.14
Erie CountyR +14.3R +9.5R +3 to R +1617,05220,61838,132R +0.34Even
Hancock CountyR +38.9R +32.4R +26 to R +3912,66624,81838,001R +0.29D +0.08
Knox CountyR +45.3R +41.8R +35 to R +499,47023,07532,920R +0.31D +0.27
Ross CountyR +39.7R +35.2R +28 to R +4210,42621,77932,567R +0.31Even
Pickaway CountyR +49.0R +41.0R +34 to R +489,13621,84731,342R +0.26D +0.86
Jefferson CountyR +44.4R +40.2R +33 to R +478,98921,06130,435R +0.34Even
Scioto CountyR +48.2R +43.6R +37 to R +518,43121,48630,179R +0.33Even
Washington CountyR +44.1R +39.3R +32 to R +469,06820,82230,212R +0.39Even
Belmont CountyR +47.6R +42.9R +36 to R +508,45821,18229,915R +0.37Even
Sandusky CountyR +31.1R +26.0R +19 to R +3310,72018,26529,350R +0.32Even
Athens CountyD +10.8D +17.8D +25 to D +1115,97211,14527,445R +0.13Even
Marion CountyR +41.7R +38.0R +31 to R +458,33118,53927,192R +0.30Even
Huron CountyR +44.4R +39.6R +32 to R +478,04218,58226,942R +0.32Even
Darke CountyR +65.8R +61.2R +54 to R +695,13821,35226,748R +0.28Even
Ashland CountyR +50.4R +46.4R +39 to R +537,05619,25126,636R +0.34D +0.09
Lawrence CountyR +50.9R +44.4R +37 to R +527,05918,33625,637R +0.34Even
Auglaize CountyR +65.1R +58.0R +51 to R +655,29419,92225,474R +0.26Even
Shelby CountyR +65.3R +59.3R +52 to R +665,10720,00025,369R +0.22Even
Seneca CountyR +37.9R +33.2R +26 to R +408,28716,53725,162R +0.32Even
Mercer CountyR +67.2R +61.3R +54 to R +684,58719,14123,963R +0.22D +0.12
Logan CountyR +56.7R +51.2R +44 to R +585,63417,44423,333R +0.29D +0.10
Ottawa CountyR +25.3R +19.8R +13 to R +279,08413,56422,925R +0.50Even
Fulton CountyR +42.7R +36.2R +29 to R +436,93414,80722,000R +0.32Even
Madison CountyR +44.1R +34.3R +27 to R +417,07814,47421,829R +0.24D +0.74
Brown CountyR +61.8R +54.6R +47 to R +624,85516,53121,564R +0.29D +0.30
Preble CountyR +59.6R +54.3R +47 to R +624,83716,33621,390R +0.31Even
Clinton CountyR +55.1R +50.5R +43 to R +585,11715,56620,905R +0.29D +0.11
Champaign CountyR +51.2R +45.7R +39 to R +535,48814,72820,458R +0.30D +0.10
Highland CountyR +63.7R +58.5R +51 to R +664,12315,75020,038R +0.29D +0.27
Crawford CountyR +53.4R +49.3R +42 to R +574,99814,72119,937R +0.36Even
Putnam CountyR +69.4R +59.8R +53 to R +673,92715,60419,761R +0.20Even
Morrow CountyR +56.2R +48.9R +42 to R +564,89314,24119,346R +0.30D +0.55
Defiance CountyR +40.2R +36.9R +30 to R +445,93912,88319,065R +0.32Even
Williams CountyR +48.7R +45.9R +39 to R +534,78512,91417,921R +0.34Even
Guernsey CountyR +52.4R +48.7R +41 to R +564,41912,81417,409R +0.35D +0.07
Perry CountyR +54.9R +47.9R +41 to R +554,41012,51017,096R +0.32D +0.24
Coshocton CountyR +52.6R +49.1R +42 to R +564,11912,06016,363R +0.36D +0.29
Henry CountyR +47.2R +42.2R +35 to R +494,23110,39714,807R +0.32Even
Van Wert CountyR +58.9R +54.0R +47 to R +613,33611,17814,671R +0.30D +0.11
Jackson CountyR +58.4R +53.6R +46 to R +613,28410,86514,274R +0.31D +0.14
Carroll CountyR +55.2R +50.6R +43 to R +583,30310,06313,516R +0.36Even
Hocking CountyR +44.6R +39.7R +32 to R +473,9189,08713,145R +0.39Even
Hardin CountyR +55.2R +50.7R +44 to R +583,1869,74413,088R +0.23Even
Gallia CountyR +59.8R +54.7R +48 to R +622,8899,85812,872R +0.31Even
Holmes CountyR +69.7R +68.1R +61 to R +761,99410,51112,636R +0.23D +0.33
Adams CountyR +66.1R +62.2R +55 to R +702,33910,03212,467R +0.27D +0.27
Fayette CountyR +55.6R +52.2R +45 to R +602,9399,35312,414R +0.28Even
Pike CountyR +54.0R +51.0R +44 to R +582,9429,07612,125R +0.34D +0.08
Wyandot CountyR +51.6R +46.5R +40 to R +542,9348,04011,102R +0.36D +0.05
Meigs CountyR +57.4R +53.6R +46 to R +612,2987,61810,013R +0.35Even
Paulding CountyR +56.8R +51.7R +44 to R +592,1836,8579,149R +0.29D +0.06
Harrison CountyR +55.7R +53.2R +46 to R +611,5785,1696,823R +0.36Even
Morgan CountyR +53.6R +51.2R +44 to R +591,5954,9436,607R +0.35Even
Monroe CountyR +60.3R +58.2R +51 to R +661,3435,0906,504R +0.36Even
Noble CountyR +65.1R +61.8R +55 to R +691,1194,7455,916R +0.38D +0.47
Vinton CountyR +59.0R +55.3R +48 to R +631,2454,3255,623R +0.31Even