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 marginD +40R +40
20,000 simulated elections
margin, R minus DFrom 2024 to 2028
| 2024 result | R +11.3 | Certified county votes. |
| National environment | D +0.7 | National swing by county elasticity, 2020 to 2024 trend and 2026 shifts. |
| Deaths and aging | 0.5 toward R | Older cohorts leave, every cohort ages four years. |
| New 18 to 21 voters | 0.6 toward D | 5.2% of the 2028 electorate here. |
| Life cycle drift | 0.3 toward R | Voters under 44 drifting a little right as they age. |
| Migration | 0.1 toward D | Movers in and out since 2020, carried to 2028. |
| 2028 model | R +1.9 | Includes 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| Democrat | Margin | D win |
|---|---|---|
| Buttigieg | R +0.4 | 46% |
| Harris | R +0.9 | 42% |
| Rob SandHYP | R +0.9 | 41% |
| CooperHYP | R +1.2 | 39% |
| TalaricoHYP | R +1.2 | 39% |
| BookerHYP | R +1.4 | 37% |
| Cuban | R +1.5 | 36% |
| BeshearHYP | R +1.6 | 35% |
| BrownHYP | R +1.7 | 35% |
| WalzHYP | R +1.8 | 34% |
| WhitmerHYP | R +1.8 | 33% |
| Generic Democrat | R +1.9 | 33% |
| WarnockHYP | R +1.9 | 33% |
| EmanuelHYP | R +1.9 | 33% |
| Ossoff | R +1.9 | 33% |
| CrockettHYP | R +2.0 | 32% |
| MurphyHYP | R +2.1 | 31% |
| PolisHYP | R +2.1 | 31% |
| KhannaHYP | R +2.1 | 31% |
| KellyHYP | R +2.1 | 31% |
| GallegoHYP | R +2.3 | 29% |
| PritzkerHYP | R +2.4 | 29% |
| Shapiro | R +2.4 | 28% |
| KlobucharHYP | R +2.7 | 27% |
| El-SayedHYP | R +2.7 | 26% |
| Stephen A. Smith | R +3.0 | 24% |
| MooreHYP | R +3.1 | 24% |
| Newsom | R +3.7 | 19% |
| Ocasio-Cortez | R +5.9 | 8% |
Republicans against a generic Democrat
Ohio| Republican | Margin | D win |
|---|---|---|
| HaleyHYP | D +0.1 | 51% |
| YoungkinHYP | R +0.1 | 49% |
| CottonHYP | R +0.2 | 49% |
| Rand PaulHYP | R +0.2 | 48% |
| KempHYP | R +0.2 | 48% |
| Rubio | R +0.3 | 47% |
| DeSantisHYP | R +0.4 | 47% |
| Tim ScottHYP | R +0.4 | 47% |
| CruzHYP | R +0.4 | 47% |
| Huckabee SandersHYP | R +0.4 | 46% |
| DonaldsHYP | R +0.4 | 46% |
| Trump Jr.HYP | R +0.7 | 44% |
| Vance | R +1.9 | 33% |
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| County | 2024 | 2028 | 80% range | D votes | R votes | Total | Generations | Migration |
|---|---|---|---|---|---|---|---|---|
| Franklin County | D +28.7 | D +45.2 | D +52 to D +39 | 438,048 | 165,189 | 610,999 | D +0.19 | Even |
| Cuyahoga County | D +31.7 | D +46.1 | D +53 to D +39 | 403,940 | 149,102 | 558,525 | D +0.09 | Even |
| Hamilton County | D +15.0 | D +29.7 | D +37 to D +23 | 264,224 | 143,343 | 412,607 | D +0.12 | Even |
| Summit County | D +7.0 | D +16.4 | D +23 to D +10 | 155,842 | 112,026 | 270,997 | R +0.15 | Even |
| Montgomery County | D +0.5 | D +9.0 | D +16 to D +2 | 137,351 | 114,582 | 254,989 | Even | Even |
| Lucas County | D +12.7 | D +22.8 | D +30 to D +16 | 114,202 | 71,739 | 188,284 | Even | Even |
| Butler County | R +26.5 | R +19.3 | R +13 to R +26 | 74,919 | 110,695 | 187,751 | R +0.08 | D +0.11 |
| Stark County | R +22.1 | R +16.4 | R +10 to R +23 | 75,508 | 105,207 | 182,813 | R +0.32 | Even |
| Lorain County | R +5.8 | D +1.8 | D +9 to R +5 | 81,565 | 78,651 | 162,120 | R +0.24 | D +0.17 |
| Delaware County | R +6.7 | D +9.3 | D +17 to D +2 | 79,547 | 66,025 | 147,360 | R +0.10 | D +0.54 |
| Warren County | R +31.8 | R +19.2 | R +12 to R +26 | 58,241 | 85,920 | 145,919 | R +0.16 | D +0.44 |
| Lake County | R +14.5 | R +7.5 | R +1 to R +14 | 58,182 | 67,640 | 127,266 | R +0.34 | Even |
| Clermont County | R +36.1 | R +27.8 | R +21 to R +35 | 41,990 | 74,344 | 117,716 | R +0.32 | D +0.39 |
| Mahoning County | R +9.5 | R +2.3 | D +5 to R +9 | 53,164 | 55,714 | 109,939 | R +0.22 | Even |
| Medina County | R +25.0 | R +15.0 | R +8 to R +22 | 45,272 | 61,272 | 107,766 | R +0.36 | D +0.13 |
| Licking County | R +30.3 | R +22.8 | R +16 to R +30 | 37,571 | 59,816 | 98,558 | R +0.25 | D +0.34 |
| Trumbull County | R +16.9 | R +12.7 | R +6 to R +20 | 40,685 | 52,559 | 94,244 | R +0.37 | Even |
| Greene County | R +20.0 | R +13.0 | R +6 to R +20 | 40,382 | 52,400 | 94,104 | R +0.19 | D +0.26 |
| Fairfield County | R +24.3 | R +15.5 | R +9 to R +22 | 37,227 | 50,852 | 89,108 | R +0.19 | D +0.48 |
| Portage County | R +15.7 | R +9.7 | R +3 to R +16 | 38,199 | 46,400 | 85,598 | R +0.21 | D +0.05 |
| Wood County | R +10.3 | R +3.5 | D +3 to R +10 | 33,743 | 36,197 | 70,880 | R +0.18 | D +0.07 |
| Clark County | R +29.8 | R +25.1 | R +18 to R +32 | 22,766 | 38,022 | 61,524 | R +0.30 | D +0.08 |
| Miami County | R +45.5 | R +37.7 | R +31 to R +45 | 18,631 | 41,159 | 60,495 | R +0.32 | D +0.41 |
| Richland County | R +42.7 | R +38.9 | R +32 to R +46 | 17,615 | 40,021 | 58,267 | R +0.27 | D +0.08 |
| Geauga County | R +24.3 | R +15.6 | R +9 to R +22 | 22,789 | 31,189 | 54,554 | R +0.41 | D +0.08 |
| Wayne County | R +39.6 | R +35.6 | R +29 to R +43 | 16,910 | 35,633 | 53,167 | R +0.35 | Even |
| Columbiana County | R +49.4 | R +44.4 | R +37 to R +52 | 12,774 | 33,183 | 46,454 | R +0.37 | Even |
| Allen County | R +44.5 | R +40.0 | R +33 to R +47 | 13,611 | 31,742 | 45,877 | R +0.21 | Even |
| Union County | R +29.9 | R +16.6 | R +10 to R +24 | 17,622 | 24,655 | 42,829 | R +0.14 | D +1.25 |
| Ashtabula County | R +28.6 | R +24.1 | R +17 to R +31 | 15,973 | 26,115 | 42,578 | R +0.38 | Even |
| Tuscarawas County | R +43.6 | R +39.0 | R +32 to R +46 | 12,714 | 28,942 | 42,121 | R +0.39 | D +0.05 |
| Muskingum County | R +44.3 | R +39.3 | R +32 to R +46 | 11,868 | 27,256 | 39,555 | R +0.32 | D +0.14 |
| Erie County | R +14.3 | R +9.5 | R +3 to R +16 | 17,052 | 20,618 | 38,132 | R +0.34 | Even |
| Hancock County | R +38.9 | R +32.4 | R +26 to R +39 | 12,666 | 24,818 | 38,001 | R +0.29 | D +0.08 |
| Knox County | R +45.3 | R +41.8 | R +35 to R +49 | 9,470 | 23,075 | 32,920 | R +0.31 | D +0.27 |
| Ross County | R +39.7 | R +35.2 | R +28 to R +42 | 10,426 | 21,779 | 32,567 | R +0.31 | Even |
| Pickaway County | R +49.0 | R +41.0 | R +34 to R +48 | 9,136 | 21,847 | 31,342 | R +0.26 | D +0.86 |
| Jefferson County | R +44.4 | R +40.2 | R +33 to R +47 | 8,989 | 21,061 | 30,435 | R +0.34 | Even |
| Scioto County | R +48.2 | R +43.6 | R +37 to R +51 | 8,431 | 21,486 | 30,179 | R +0.33 | Even |
| Washington County | R +44.1 | R +39.3 | R +32 to R +46 | 9,068 | 20,822 | 30,212 | R +0.39 | Even |
| Belmont County | R +47.6 | R +42.9 | R +36 to R +50 | 8,458 | 21,182 | 29,915 | R +0.37 | Even |
| Sandusky County | R +31.1 | R +26.0 | R +19 to R +33 | 10,720 | 18,265 | 29,350 | R +0.32 | Even |
| Athens County | D +10.8 | D +17.8 | D +25 to D +11 | 15,972 | 11,145 | 27,445 | R +0.13 | Even |
| Marion County | R +41.7 | R +38.0 | R +31 to R +45 | 8,331 | 18,539 | 27,192 | R +0.30 | Even |
| Huron County | R +44.4 | R +39.6 | R +32 to R +47 | 8,042 | 18,582 | 26,942 | R +0.32 | Even |
| Darke County | R +65.8 | R +61.2 | R +54 to R +69 | 5,138 | 21,352 | 26,748 | R +0.28 | Even |
| Ashland County | R +50.4 | R +46.4 | R +39 to R +53 | 7,056 | 19,251 | 26,636 | R +0.34 | D +0.09 |
| Lawrence County | R +50.9 | R +44.4 | R +37 to R +52 | 7,059 | 18,336 | 25,637 | R +0.34 | Even |
| Auglaize County | R +65.1 | R +58.0 | R +51 to R +65 | 5,294 | 19,922 | 25,474 | R +0.26 | Even |
| Shelby County | R +65.3 | R +59.3 | R +52 to R +66 | 5,107 | 20,000 | 25,369 | R +0.22 | Even |
| Seneca County | R +37.9 | R +33.2 | R +26 to R +40 | 8,287 | 16,537 | 25,162 | R +0.32 | Even |
| Mercer County | R +67.2 | R +61.3 | R +54 to R +68 | 4,587 | 19,141 | 23,963 | R +0.22 | D +0.12 |
| Logan County | R +56.7 | R +51.2 | R +44 to R +58 | 5,634 | 17,444 | 23,333 | R +0.29 | D +0.10 |
| Ottawa County | R +25.3 | R +19.8 | R +13 to R +27 | 9,084 | 13,564 | 22,925 | R +0.50 | Even |
| Fulton County | R +42.7 | R +36.2 | R +29 to R +43 | 6,934 | 14,807 | 22,000 | R +0.32 | Even |
| Madison County | R +44.1 | R +34.3 | R +27 to R +41 | 7,078 | 14,474 | 21,829 | R +0.24 | D +0.74 |
| Brown County | R +61.8 | R +54.6 | R +47 to R +62 | 4,855 | 16,531 | 21,564 | R +0.29 | D +0.30 |
| Preble County | R +59.6 | R +54.3 | R +47 to R +62 | 4,837 | 16,336 | 21,390 | R +0.31 | Even |
| Clinton County | R +55.1 | R +50.5 | R +43 to R +58 | 5,117 | 15,566 | 20,905 | R +0.29 | D +0.11 |
| Champaign County | R +51.2 | R +45.7 | R +39 to R +53 | 5,488 | 14,728 | 20,458 | R +0.30 | D +0.10 |
| Highland County | R +63.7 | R +58.5 | R +51 to R +66 | 4,123 | 15,750 | 20,038 | R +0.29 | D +0.27 |
| Crawford County | R +53.4 | R +49.3 | R +42 to R +57 | 4,998 | 14,721 | 19,937 | R +0.36 | Even |
| Putnam County | R +69.4 | R +59.8 | R +53 to R +67 | 3,927 | 15,604 | 19,761 | R +0.20 | Even |
| Morrow County | R +56.2 | R +48.9 | R +42 to R +56 | 4,893 | 14,241 | 19,346 | R +0.30 | D +0.55 |
| Defiance County | R +40.2 | R +36.9 | R +30 to R +44 | 5,939 | 12,883 | 19,065 | R +0.32 | Even |
| Williams County | R +48.7 | R +45.9 | R +39 to R +53 | 4,785 | 12,914 | 17,921 | R +0.34 | Even |
| Guernsey County | R +52.4 | R +48.7 | R +41 to R +56 | 4,419 | 12,814 | 17,409 | R +0.35 | D +0.07 |
| Perry County | R +54.9 | R +47.9 | R +41 to R +55 | 4,410 | 12,510 | 17,096 | R +0.32 | D +0.24 |
| Coshocton County | R +52.6 | R +49.1 | R +42 to R +56 | 4,119 | 12,060 | 16,363 | R +0.36 | D +0.29 |
| Henry County | R +47.2 | R +42.2 | R +35 to R +49 | 4,231 | 10,397 | 14,807 | R +0.32 | Even |
| Van Wert County | R +58.9 | R +54.0 | R +47 to R +61 | 3,336 | 11,178 | 14,671 | R +0.30 | D +0.11 |
| Jackson County | R +58.4 | R +53.6 | R +46 to R +61 | 3,284 | 10,865 | 14,274 | R +0.31 | D +0.14 |
| Carroll County | R +55.2 | R +50.6 | R +43 to R +58 | 3,303 | 10,063 | 13,516 | R +0.36 | Even |
| Hocking County | R +44.6 | R +39.7 | R +32 to R +47 | 3,918 | 9,087 | 13,145 | R +0.39 | Even |
| Hardin County | R +55.2 | R +50.7 | R +44 to R +58 | 3,186 | 9,744 | 13,088 | R +0.23 | Even |
| Gallia County | R +59.8 | R +54.7 | R +48 to R +62 | 2,889 | 9,858 | 12,872 | R +0.31 | Even |
| Holmes County | R +69.7 | R +68.1 | R +61 to R +76 | 1,994 | 10,511 | 12,636 | R +0.23 | D +0.33 |
| Adams County | R +66.1 | R +62.2 | R +55 to R +70 | 2,339 | 10,032 | 12,467 | R +0.27 | D +0.27 |
| Fayette County | R +55.6 | R +52.2 | R +45 to R +60 | 2,939 | 9,353 | 12,414 | R +0.28 | Even |
| Pike County | R +54.0 | R +51.0 | R +44 to R +58 | 2,942 | 9,076 | 12,125 | R +0.34 | D +0.08 |
| Wyandot County | R +51.6 | R +46.5 | R +40 to R +54 | 2,934 | 8,040 | 11,102 | R +0.36 | D +0.05 |
| Meigs County | R +57.4 | R +53.6 | R +46 to R +61 | 2,298 | 7,618 | 10,013 | R +0.35 | Even |
| Paulding County | R +56.8 | R +51.7 | R +44 to R +59 | 2,183 | 6,857 | 9,149 | R +0.29 | D +0.06 |
| Harrison County | R +55.7 | R +53.2 | R +46 to R +61 | 1,578 | 5,169 | 6,823 | R +0.36 | Even |
| Morgan County | R +53.6 | R +51.2 | R +44 to R +59 | 1,595 | 4,943 | 6,607 | R +0.35 | Even |
| Monroe County | R +60.3 | R +58.2 | R +51 to R +66 | 1,343 | 5,090 | 6,504 | R +0.36 | Even |
| Noble County | R +65.1 | R +61.8 | R +55 to R +69 | 1,119 | 4,745 | 5,916 | R +0.38 | D +0.47 |
| Vinton County | R +59.0 | R +55.3 | R +48 to R +63 | 1,245 | 4,325 | 5,623 | R +0.31 | Even |