- Lead
- 12,760
- Total
- 57,048
- vs nation
- R+20.9
- Turnout
- 75.8%
Roanoke County, VA
President margin by year
Place winner margin
President results by year
2024 turnout 75.8% of 75,660 citizens 18+
- Lead
- 12,467
- Total
- 57,184
- vs nation
- R+26.3
- Turnout
- 78.2%
- Lead
- 14,208
- Total
- 51,489
- vs nation
- R+29.7
- Turnout
- 71.3%
- Lead
- 12,913
- Total
- 51,217
- vs nation
- R+29.1
- Turnout
- —
- Lead
- 10,759
- Total
- 50,975
- vs nation
- R+28.4
- Turnout
- —
- Lead
- 14,514
- Total
- 46,973
- vs nation
- R+28.4
- Turnout
- —
- Lead
- 9,599
- Total
- 42,817
- vs nation
- R+22.9
- Turnout
- —
- Lead
- 5,313
- Total
- 39,421
- vs nation
- R+22.0
- Turnout
- —
Key facts
- 2024 presidential margin
- R+22.4MIT Election Lab
- Population
- 97,0232024 5-year
- Median household income
- $83,7092024 5-year
- White (non-Hispanic)
- 82.3%2024 5-year
- Black
- 6.4%2024 5-year
- Hispanic / Latino
- 4.1%2024 5-year
- Peak Democratic margin
- D+57.7 in 1912MIT Election Lab
- Peak Republican margin
- R+42.9 in 1956MIT Election Lab
- Most similar
- Hamilton County, IN · twin score 85.6
Midterm durability
Total general-election participants divided by same-year citizen voting-age population. These are total ballots or participating voters—not presidential candidate votes.
- 2024 total turnout
- 75.8%57,371 participants ÷ 75,660 CVAP
- 2020→2022 drop-off
- +28.4 ptsPresidential-dependent
- Drop-off versus state
- +4.6 ptsPositive means a larger decline than the statewide pattern
- Mechanical 2026 scenario
- 47.4%–54.8%Recent-cycle and two-cycle persistence scenarios; not a forecast
| Election | Participants | CVAP | Turnout | Quality |
|---|---|---|---|---|
| 2016 · Presidential | 51,489 | 72,204 | 71.3% | C/A |
| 2018 · Midterm | 41,966 | 72,752 | 57.7% | C/A |
| 2020 · Presidential | 57,264 | 73,205 | 78.2% | A/A |
| 2022 · Midterm | 37,498 | 75,237 | 49.8% | A/A |
| 2024 · Presidential | 57,371 | 75,660 | 75.8% | A/A |
Sources and methods
- 2016: numerator source 159, denominator source 157; top ticket votes; canonical-complete-contest-floor-v1; allocation share 0.0%; series 148/111.
- 2018: numerator source 159, denominator source 157; top ticket votes; canonical-complete-contest-floor-v1; allocation share 0.0%; series 150/138.
- 2020: numerator source 158, denominator source 157; total voters participating; eavs-f1a-v1:observed:native; allocation share 0.0%; series 301/2.
- 2022: numerator source 158, denominator source 157; total voters participating; eavs-f1a-v1:observed:native; allocation share 0.0%; series 306/183.
- 2024: numerator source 158, denominator source 157; total voters participating; eavs-f1a-v1:observed:native; allocation share 0.0%; series 311/228.
Precinct data
Results by precinct
66 precincts · 57,048 votes
Precinct boundaries and identifiers are cycle-specific. This table does not join rows across years without a validated crosswalk.
| Precinct -302 - BACK CREEK302 - BACK CREEK | 982 | 1,626 | 53 | 2,661 | 36.9% | 61.1% | R+24.2 |
|---|---|---|---|---|---|---|---|
| Precinct -203 - MOUNTAIN VIEW203 - MOUNTAIN VIEW | 961 | 1,596 | 39 | 2,596 | 37.0% | 61.5% | R+24.5 |
| Precinct -205 - ORCHARDS205 - ORCHARDS | 881 | 1,576 | 26 | 2,483 | 35.5% | 63.5% | R+28.0 |
| Precinct -504 - GREEN VALLEY504 - GREEN VALLEY | 1,181 | 1,171 | 51 | 2,403 | 49.1% | 48.7% | D+0.4 |
| Precinct -507 - HUNTING HILLS507 - HUNTING HILLS | 1,030 | 1,225 | 46 | 2,301 | 44.8% | 53.2% | R+8.5 |
| Precinct -406 - MOUNT PLEASANT406 - MOUNT PLEASANT | 589 | 1,628 | 36 | 2,253 | 26.1% | 72.3% | R+46.1 |
| Precinct -101 - CATAWBA101 - CATAWBA | 538 | 1,560 | 19 | 2,117 | 25.4% | 73.7% | R+48.3 |
| Precinct -105 - HANGING ROCK105 - HANGING ROCK | 860 | 1,160 | 34 | 2,054 | 41.9% | 56.5% | R+14.6 |
| Precinct -304 - OAK GROVE304 - OAK GROVE | 870 | 1,108 | 43 | 2,021 | 43.0% | 54.8% | R+11.8 |
| Precinct -104 - NORTHSIDE104 - NORTHSIDE | 829 | 1,079 | 34 | 1,942 | 42.7% | 55.6% | R+12.9 |
| Precinct -403 - NORTH VINTON403 - NORTH VINTON | 677 | 1,219 | 24 | 1,920 | 35.3% | 63.5% | R+28.2 |
| Precinct -204 - GREEN RIDGE204 - GREEN RIDGE | 798 | 1,082 | 21 | 1,901 | 42.0% | 56.9% | R+14.9 |
| Precinct -404 - SOUTH VINTON404 - SOUTH VINTON | 644 | 1,191 | 18 | 1,853 | 34.8% | 64.3% | R+29.5 |
| Precinct -103 - NORTH GLENVAR103 - NORTH GLENVAR | 540 | 1,265 | 33 | 1,838 | 29.4% | 68.8% | R+39.4 |
| Precinct -402 - NORTH LINDENWOOD402 - NORTH LINDENWOOD | 554 | 1,246 | 24 | 1,824 | 30.4% | 68.3% | R+37.9 |
| Precinct -102 - RICHFIELD102 - RICHFIELD | 573 | 1,226 | 22 | 1,821 | 31.5% | 67.3% | R+35.9 |
| Precinct -303 - WINDSOR HILLS303 - WINDSOR HILLS | 820 | 949 | 37 | 1,806 | 45.4% | 52.5% | R+7.1 |
| Precinct -201 - PLANTATION201 - PLANTATION | 686 | 1,059 | 30 | 1,775 | 38.6% | 59.7% | R+21.0 |
| Precinct -305 - EAST HIDDEN VALLEY305 - EAST HIDDEN VALLEY | 800 | 908 | 37 | 1,745 | 45.8% | 52.0% | R+6.2 |
| Precinct -503 - EAST CAVE SPRING503 - EAST CAVE SPRING | 731 | 946 | 33 | 1,710 | 42.7% | 55.3% | R+12.6 |
| Precinct -306 - GARST MILL306 - GARST MILL | 790 | 875 | 24 | 1,689 | 46.8% | 51.8% | R+5.0 |
| Precinct -405 - SOUTH LINDENWOOD405 - SOUTH LINDENWOOD | 518 | 1,090 | 10 | 1,618 | 32.0% | 67.4% | R+35.4 |
| Precinct -501 - STARKEY501 - STARKEY | 667 | 901 | 33 | 1,601 | 41.7% | 56.3% | R+14.6 |
| Precinct -502 - WEST CAVE SPRING502 - WEST CAVE SPRING | 679 | 863 | 31 | 1,573 | 43.2% | 54.9% | R+11.7 |
| Precinct -307 - WEST HIDDEN VALLEY307 - WEST HIDDEN VALLEY | 665 | 862 | 29 | 1,556 | 42.7% | 55.4% | R+12.7 |
| Precinct -107 - FORT LEWIS107 - FORT LEWIS | 477 | 779 | 16 | 1,272 | 37.5% | 61.2% | R+23.7 |
| Precinct -505 - CLEARBROOK505 - CLEARBROOK | 370 | 847 | 13 | 1,230 | 30.1% | 68.9% | R+38.8 |
| Precinct -202 - BURLINGTON202 - BURLINGTON | 581 | 623 | 19 | 1,223 | 47.5% | 50.9% | R+3.4 |
| Precinct -401 - BONSACK401 - BONSACK | 370 | 819 | 14 | 1,203 | 30.8% | 68.1% | R+37.3 |
| Precinct -106 - SOUTH GLENVAR106 - SOUTH GLENVAR | 257 | 755 | 21 | 1,033 | 24.9% | 73.1% | R+48.2 |
| Precinct -206 - HOLLINS206 - HOLLINS | 386 | 571 | 11 | 968 | 39.9% | 59.0% | R+19.1 |
| Precinct -301 - BENT MOUNTAIN301 - BENT MOUNTAIN | 211 | 395 | 12 | 618 | 34.1% | 63.9% | R+29.8 |
| Precinct -506 - BUCK MOUNTAIN506 - BUCK MOUNTAIN | 178 | 253 | 9 | 440 | 40.5% | 57.5% | R+17.0 |
| Bennett Springs51161000107 | 0 | 0 | 0 | 0 | — | — | No votes |
| Bent Mountain51161000301 | 0 | 0 | 0 | 0 | — | — | No votes |
| Bonsack51161000402 | 0 | 0 | 0 | 0 | — | — | No votes |
| Botetourt Springs51161000204 | 0 | 0 | 0 | 0 | — | — | No votes |
| Burlington51161000202 | 0 | 0 | 0 | 0 | — | — | No votes |
| Castle Rock51161000305 | 0 | 0 | 0 | 0 | — | — | No votes |
| Catawba51161000101 | 0 | 0 | 0 | 0 | — | — | No votes |
| Cave Spring51161000503 | 0 | 0 | 0 | 0 | — | — | No votes |
| Clearbrook51161000505 | 0 | 0 | 0 | 0 | — | — | No votes |
| Cotton Hill51161000501 | 0 | 0 | 0 | 0 | — | — | No votes |
| Garst Mill51161000306 | 0 | 0 | 0 | 0 | — | — | No votes |
| Glenvar51161000103 | 0 | 0 | 0 | 0 | — | — | No votes |
| Green Hill51161000106 | 0 | 0 | 0 | 0 | — | — | No votes |
| Hollins51161000206 | 0 | 0 | 0 | 0 | — | — | No votes |
| Hunting Hills51161000507 | 0 | 0 | 0 | 0 | — | — | No votes |
| Mason Valley51161000102 | 0 | 0 | 0 | 0 | — | — | No votes |
| Mount Pleasant51161000406 | 0 | 0 | 0 | 0 | — | — | No votes |
| Mount Vernon51161000506 | 0 | 0 | 0 | 0 | — | — | No votes |
| Mountain View51161000203 | 0 | 0 | 0 | 0 | — | — | No votes |
| North Lindenwood51161000405 | 0 | 0 | 0 | 0 | — | — | No votes |
| North Vinton51161000403 | 0 | 0 | 0 | 0 | — | — | No votes |
| Northside51161000104 | 0 | 0 | 0 | 0 | — | — | No votes |
| Oak Grove51161000304 | 0 | 0 | 0 | 0 | — | — | No votes |
| Ogden51161000504 | 0 | 0 | 0 | 0 | — | — | No votes |
| Orchards51161000205 | 0 | 0 | 0 | 0 | — | — | No votes |
| Penn Forest51161000502 | 0 | 0 | 0 | 0 | — | — | No votes |
| Peters Creek51161000105 | 0 | 0 | 0 | 0 | — | — | No votes |
| Plantation51161000201 | 0 | 0 | 0 | 0 | — | — | No votes |
| Poages Mill51161000302 | 0 | 0 | 0 | 0 | — | — | No votes |
| South Lindenwood51161000401 | 0 | 0 | 0 | 0 | — | — | No votes |
| South Vinton51161000404 | 0 | 0 | 0 | 0 | — | — | No votes |
| Wildwood51161000108 | 0 | 0 | 0 | 0 | — | — | No votes |
| Windsor Hills51161000303 | 0 | 0 | 0 | 0 | — | — | No votes |
Presidential margin, 1892–2024
Democratic minus Republican, by election
| Year | Margin (D minus R) |
|---|---|
| 1892 | +8.1% |
| 1896 | −13.9% |
| 1900 | −11.2% |
| 1904 | +18.4% |
| 1908 | +25.8% |
| 1912 | +57.7% |
| 1916 | +29.0% |
| 1920 | +14.5% |
| 1924 | +20.3% |
| 1928 | −35.1% |
| 1932 | +18.9% |
| 1936 | +23.7% |
| 1940 | +21.0% |
| 1944 | +3.6% |
| 1948 | −14.9% |
| 1952 | −38.1% |
| 1956 | −42.9% |
| 1960 | −34.9% |
| 1964 | +20.1% |
| 1968 | −40.4% |
| 1972 | −37.8% |
| 1976 | −1.7% |
| 1980 | −16.4% |
| 1984 | −37.5% |
| 1988 | −25.8% |
| 1992 | −14.5% |
| 1996 | −13.5% |
| 2000 | −22.4% |
| 2004 | −30.9% |
| 2008 | −21.1% |
| 2012 | −25.2% |
| 2016 | −27.6% |
| 2020 | −21.8% |
| 2024 | −22.4% |
U.S. House
Each row shows U.S. House votes counted inside this Place. “Vote lead” is the local lead here, not necessarily the winner of the full contest.
U.S. Senate
Each row shows U.S. Senate votes counted inside this Place. “Vote lead” is the local lead here, not necessarily the winner of the full contest.
U.S. Senate special elections
Each row shows U.S. Senate special votes counted inside this Place. “Vote lead” is the local lead here, not necessarily the winner of the full contest.
Governor
Each row shows Governor votes counted inside this Place. “Vote lead” is the local lead here, not necessarily the winner of the full contest.
Registered voters
Total registered voters, over time
| Year | Total registered |
|---|---|
| 2016 | 69,014 |
| 2018 | 69,215 |
| 2020 | 72,199 |
| 2022 | 73,216 |
| 2024 | 75,442 |
Who moves in and out
Net migration over time, and who arrivals are — where they came from and what those places vote
−21 net domestic migration · 2025
Net +3,484 over 2011–2025 · gain loss
Arrivals reported $84,216 in average income, against $92,018 for residents who stayed — 8% lower. (IRS SOI, 2022–23)
The places arrivals came from lean R+1.8 on average — 21 points more Democratic-leaning than Roanoke County, VA itself (R+22.4).
Where arrivals came from lean of each source
- Roanoke city, VA1,080D+23.5
- Salem city, VA285R+19.2
- Botetourt County, VA222R+45.0
- Bedford County, VA150R+50.1
- Franklin County, VA142R+45.1
- Montgomery County, VA120D+3.5
Where departures went households, 2022–23
- Roanoke city, VA1,003
- Botetourt County, VA252
- Salem city, VA246
- Bedford County, VA174
- Franklin County, VA132
- Montgomery County, VA119
Migration is one input to a place’s political change, not its cause — a shift can also come from residents changing their minds, generational turnover, or turnout. These figures describe the places people moved between; they do not measure how any mover voted.
| Year | Net domestic migration |
|---|---|
| 2011 | +387 |
| 2012 | −132 |
| 2013 | +551 |
| 2014 | −60 |
| 2015 | +25 |
| 2016 | +56 |
| 2017 | +416 |
| 2018 | +377 |
| 2019 | +354 |
| 2021 | +195 |
| 2022 | +546 |
| 2023 | +590 |
| 2024 | +200 |
| 2025 | −21 |
Roanoke County surrounds but does not include Roanoke City, a split that shapes its demographic profile toward suburban and exurban voters who have backed Republican presidential candidates by consistent double-digit margins for decades.
Across the recorded series it reached a Democratic high of 57.7 points in 1912 and a Republican high of 42.9 points in 1956. Between 2020 and 2024 the county moved 0.6 points toward the Republican candidate; the 2024 margin was 22.4 points.
A population of 97,023, a 82% non-Hispanic-white share, and a median household income of $83,709 describe the county. The county's voting pattern over the last decade is most similar to that of Hamilton County and York County.
The counties whose fingerprint — 2000–2024 trajectory, demographics, ancestry, religion — sits closest to this one, and why.
Twin score (0–100) = weighted cosine between tier-standardized fingerprints: presidential margins 2000–2024 with 12-yr trend and elasticity, ACS income, age, education, population and race, top reported ancestries, and religious adherence — chips name the closest-shared dimensions and the widest gap. Re-weight the groups in the twins explorer.
Browse places by community — income, education, race & ethnicity, language — all community cuts →
Compare two places, side by side
Twelve curated comparisons line up election history, demographics, and the divergence story for two places at a glance. Browse all comparisons →
Roanoke County, Virginia. Akashic. https://akashic.app/county/51161/. Accessed May 20, 2026. License: CC BY 4.0.