- Lead
- 18,836
- Total
- 73,404
- vs nation
- R+24.2
- Turnout
- 84.9%
Hanover County, VA
President margin by year
Place winner margin
President results by year
2024 turnout 84.9% of 86,733 citizens 18+
- Lead
- 19,011
- Total
- 70,967
- vs nation
- R+31.2
- Turnout
- 87.6%
- Lead
- 20,248
- Total
- 62,723
- vs nation
- R+34.4
- Turnout
- 81.4%
- Lead
- 21,646
- Total
- 59,058
- vs nation
- R+40.5
- Turnout
- —
- Lead
- 18,897
- Total
- 56,248
- vs nation
- R+40.9
- Turnout
- —
- Lead
- 21,463
- Total
- 49,611
- vs nation
- R+40.8
- Turnout
- —
- Lead
- 16,570
- Total
- 41,585
- vs nation
- R+40.4
- Turnout
- —
- Lead
- 12,206
- Total
- 34,724
- vs nation
- R+43.7
- Turnout
- —
Key facts
- 2024 presidential margin
- R+25.7MIT Election Lab
- Population
- 112,8792024 5-year
- Median household income
- $112,8052024 5-year
- White (non-Hispanic)
- 80.7%2024 5-year
- Black
- 8.3%2024 5-year
- Hispanic / Latino
- 4.0%2024 5-year
- Peak Democratic margin
- D+75.3 in 1916MIT Election Lab
- Peak Republican margin
- R+58.9 in 1984MIT Election Lab
- Most similar
- Williamson County, TN · twin score 93.0
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
- 84.9%73,671 participants ÷ 86,733 CVAP
- 2020→2022 drop-off
- +26.0 ptsPresidential-dependent
- Drop-off versus state
- +2.3 ptsPositive means a larger decline than the statewide pattern
- Mechanical 2026 scenario
- 58.9%–64.9%Recent-cycle and two-cycle persistence scenarios; not a forecast
| Election | Participants | CVAP | Turnout | Quality |
|---|---|---|---|---|
| 2016 · Presidential | 62,995 | 77,432 | 81.4% | A/A |
| 2018 · Midterm | 53,722 | 79,853 | 67.3% | C/A |
| 2020 · Presidential | 71,359 | 81,451 | 87.6% | A/A |
| 2022 · Midterm | 52,175 | 84,738 | 61.6% | A/A |
| 2024 · Presidential | 73,671 | 86,733 | 84.9% | A/A |
Sources and methods
- 2016: numerator source 158, denominator source 157; total voters participating; eavs-f1a-v1:observed:native; allocation share 0.0%; series 293/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
72 precincts · 73,404 votes
Precinct boundaries and identifiers are cycle-specific. This table does not join rows across years without a validated crosswalk.
| Precinct -403 - COLD HARBOR403 - COLD HARBOR | 1,016 | 2,196 | 35 | 3,247 | 31.3% | 67.6% | R+36.3 |
|---|---|---|---|---|---|---|---|
| Precinct -704 - ELMONT704 - ELMONT | 1,287 | 1,605 | 53 | 2,945 | 43.7% | 54.5% | R+10.8 |
| Precinct -601 - VILLAGE601 - VILLAGE | 993 | 1,738 | 45 | 2,776 | 35.8% | 62.6% | R+26.8 |
| Precinct -108 - HONEY MEADOWS108 - HONEY MEADOWS | 1,335 | 1,354 | 54 | 2,743 | 48.7% | 49.4% | R+0.7 |
| Precinct -304 - ATLEE304 - ATLEE | 1,103 | 1,506 | 54 | 2,663 | 41.4% | 56.6% | R+15.1 |
| Precinct -201 - BEAVERDAM201 - BEAVERDAM | 654 | 1,928 | 38 | 2,620 | 25.0% | 73.6% | R+48.6 |
| Precinct -502 - RURAL POINT502 - RURAL POINT | 950 | 1,584 | 40 | 2,574 | 36.9% | 61.5% | R+24.6 |
| Precinct -702 - MONTPELIER702 - MONTPELIER | 831 | 1,549 | 48 | 2,428 | 34.2% | 63.8% | R+29.6 |
| Precinct -203 - WILMINGTON PARISH203 - WILMINGTON PARISH | 848 | 1,531 | 34 | 2,413 | 35.1% | 63.4% | R+28.3 |
| Precinct -401 - BATTLEFIELD401 - BATTLEFIELD | 592 | 1,771 | 26 | 2,389 | 24.8% | 74.1% | R+49.4 |
| Precinct -602 - LEE DAVIS602 - LEE DAVIS | 814 | 1,478 | 31 | 2,323 | 35.0% | 63.6% | R+28.6 |
| Precinct -303 - SHADY GROVE303 - SHADY GROVE | 858 | 1,413 | 46 | 2,317 | 37.0% | 61.0% | R+24.0 |
| Precinct -701 - FARRINGTON701 - FARRINGTON | 743 | 1,535 | 32 | 2,310 | 32.2% | 66.5% | R+34.3 |
| Precinct -604 - HANOVER GROVE604 - HANOVER GROVE | 804 | 1,468 | 34 | 2,306 | 34.9% | 63.7% | R+28.8 |
| Precinct -603 - MECHANICSVILLE603 - MECHANICSVILLE | 938 | 1,340 | 26 | 2,304 | 40.7% | 58.2% | R+17.4 |
| Precinct -206 - COURTHOUSE206 - COURTHOUSE | 1,025 | 1,220 | 53 | 2,298 | 44.6% | 53.1% | R+8.5 |
| Precinct -305 - COOL SPRING305 - COOL SPRING | 913 | 1,309 | 42 | 2,264 | 40.3% | 57.8% | R+17.5 |
| Precinct -703 - ROCKVILLE703 - ROCKVILLE | 722 | 1,435 | 32 | 2,189 | 33.0% | 65.6% | R+32.6 |
| Precinct -507 - LAUREL MEADOW507 - LAUREL MEADOW | 707 | 1,412 | 40 | 2,159 | 32.7% | 65.4% | R+32.7 |
| Precinct -301 - CLAY301 - CLAY | 683 | 1,416 | 24 | 2,123 | 32.2% | 66.7% | R+34.5 |
| Precinct -506 - GEORGETOWN506 - GEORGETOWN | 622 | 1,341 | 26 | 1,989 | 31.3% | 67.4% | R+36.1 |
| Precinct -306 - RUTLAND306 - RUTLAND | 871 | 1,020 | 33 | 1,924 | 45.3% | 53.0% | R+7.7 |
| Precinct -104 - SLIDING HILL104 - SLIDING HILL | 883 | 934 | 34 | 1,851 | 47.7% | 50.5% | R+2.8 |
| Precinct -503 - NEWMAN503 - NEWMAN | 703 | 1,090 | 36 | 1,829 | 38.4% | 59.6% | R+21.2 |
| Precinct -208 - OAK KNOLL208 - OAK KNOLL | 571 | 1,211 | 23 | 1,805 | 31.6% | 67.1% | R+35.5 |
| Precinct -105 - BERKLEY105 - BERKLEY | 990 | 743 | 25 | 1,758 | 56.3% | 42.3% | D+14.1 |
| Precinct -407 - OLD CHURCH407 - OLD CHURCH | 396 | 1,306 | 11 | 1,713 | 23.1% | 76.2% | R+53.1 |
| Precinct -101 - ASHLAND101 - ASHLAND | 875 | 725 | 28 | 1,628 | 53.7% | 44.5% | D+9.2 |
| Precinct -504 - STUDLEY504 - STUDLEY | 327 | 1,188 | 17 | 1,532 | 21.3% | 77.5% | R+56.2 |
| Precinct -404 - BLACK CREEK404 - BLACK CREEK | 321 | 1,183 | 12 | 1,516 | 21.2% | 78.0% | R+56.9 |
| Precinct -405 - PEBBLE CREEK405 - PEBBLE CREEK | 565 | 874 | 14 | 1,453 | 38.9% | 60.2% | R+21.3 |
| Precinct -705 - SOUTH ANNA705 - SOUTH ANNA | 404 | 814 | 23 | 1,241 | 32.6% | 65.6% | R+33.0 |
| Precinct -202 - BLUNTS202 - BLUNTS | 420 | 742 | 8 | 1,170 | 35.9% | 63.4% | R+27.5 |
| Precinct -106 - KERSEY CREEK106 - KERSEY CREEK | 446 | 619 | 12 | 1,077 | 41.4% | 57.5% | R+16.1 |
| Precinct -210 - OAK HILL210 - OAK HILL | 391 | 540 | 10 | 941 | 41.6% | 57.4% | R+15.8 |
| Precinct -505 - TOTOPOTOMOY505 - TOTOPOTOMOY | 132 | 451 | 3 | 586 | 22.5% | 77.0% | R+54.4 |
| Ashland51085000101 | 0 | 0 | 0 | 0 | — | — | No votes |
| Atlee51085000304 | 0 | 0 | 0 | 0 | — | — | No votes |
| Battlefield51085000401 | 0 | 0 | 0 | 0 | — | — | No votes |
| Beaverdam51085000201 | 0 | 0 | 0 | 0 | — | — | No votes |
| Beaverdam Creek51085000406 | 0 | 0 | 0 | 0 | — | — | No votes |
| Berkley51085000105 | 0 | 0 | 0 | 0 | — | — | No votes |
| Black Creek51085000404 | 0 | 0 | 0 | 0 | — | — | No votes |
| Blunts51085000202 | 0 | 0 | 0 | 0 | — | — | No votes |
| Chickahominy51085000107 | 0 | 0 | 0 | 0 | — | — | No votes |
| Clay51085000301 | 0 | 0 | 0 | 0 | — | — | No votes |
| Cold Harbor51085000403 | 0 | 0 | 0 | 0 | — | — | No votes |
| Cool Spring51085000305 | 0 | 0 | 0 | 0 | — | — | No votes |
| Courthouse51085000206 | 0 | 0 | 0 | 0 | — | — | No votes |
| Elmont51085000704 | 0 | 0 | 0 | 0 | — | — | No votes |
| Farrington51085000701 | 0 | 0 | 0 | 0 | — | — | No votes |
| Georgetown51085000506 | 0 | 0 | 0 | 0 | — | — | No votes |
| Hanover Grove51085000604 | 0 | 0 | 0 | 0 | — | — | No votes |
| Kersey Creek51085000106 | 0 | 0 | 0 | 0 | — | — | No votes |
| Laurel Meadow51085000507 | 0 | 0 | 0 | 0 | — | — | No votes |
| Lee Davis51085000602 | 0 | 0 | 0 | 0 | — | — | No votes |
| Mechanicsville51085000603 | 0 | 0 | 0 | 0 | — | — | No votes |
| Montpelier51085000702 | 0 | 0 | 0 | 0 | — | — | No votes |
| Newman51085000503 | 0 | 0 | 0 | 0 | — | — | No votes |
| Oak Hill51085000210 | 0 | 0 | 0 | 0 | — | — | No votes |
| Oak Knoll51085000208 | 0 | 0 | 0 | 0 | — | — | No votes |
| Pebble Creek51085000405 | 0 | 0 | 0 | 0 | — | — | No votes |
| Rockville51085000703 | 0 | 0 | 0 | 0 | — | — | No votes |
| Rural Point51085000502 | 0 | 0 | 0 | 0 | — | — | No votes |
| Shady Grove51085000303 | 0 | 0 | 0 | 0 | — | — | No votes |
| Sliding Hill51085000104 | 0 | 0 | 0 | 0 | — | — | No votes |
| South Anna51085000705 | 0 | 0 | 0 | 0 | — | — | No votes |
| Studley51085000504 | 0 | 0 | 0 | 0 | — | — | No votes |
| Totopotomoy51085000505 | 0 | 0 | 0 | 0 | — | — | No votes |
| Village51085000601 | 0 | 0 | 0 | 0 | — | — | No votes |
| West Hanover51085000209 | 0 | 0 | 0 | 0 | — | — | No votes |
| Wilmington Parish51085000203 | 0 | 0 | 0 | 0 | — | — | No votes |
Presidential margin, 1892–2024
Democratic minus Republican, by election
| Year | Margin (D minus R) |
|---|---|
| 1892 | +16.4% |
| 1896 | +5.6% |
| 1900 | +0.1% |
| 1904 | +33.3% |
| 1908 | +43.2% |
| 1912 | +74.4% |
| 1916 | +75.3% |
| 1920 | +59.9% |
| 1924 | +66.0% |
| 1928 | +16.8% |
| 1932 | +62.7% |
| 1936 | +61.6% |
| 1940 | +57.2% |
| 1944 | +43.7% |
| 1948 | +9.5% |
| 1952 | −19.6% |
| 1956 | −27.7% |
| 1960 | −19.6% |
| 1964 | −28.8% |
| 1968 | −30.8% |
| 1972 | −44.4% |
| 1976 | −30.7% |
| 1980 | −43.6% |
| 1984 | −58.9% |
| 1988 | −54.6% |
| 1992 | −35.9% |
| 1996 | −35.2% |
| 2000 | −39.8% |
| 2004 | −43.3% |
| 2008 | −33.6% |
| 2012 | −36.7% |
| 2016 | −32.3% |
| 2020 | −26.8% |
| 2024 | −25.7% |
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 | 77,381 |
| 2018 | 78,694 |
| 2020 | 84,140 |
| 2022 | 86,609 |
| 2024 | 89,931 |
Who moves in and out
Net migration over time, and who arrivals are — where they came from and what those places vote
+819 net domestic migration · 2025
Net +13,292 over 2011–2025 · gain loss
Arrivals reported $88,277 in average income, against $114,806 for residents who stayed — 23% lower. (IRS SOI, 2022–23)
The places arrivals came from lean D+20.9 on average — 47 points more Democratic-leaning than Hanover County, VA itself (R+25.7).
Where arrivals came from lean of each source
- Henrico County, VA1,033D+28.7
- Richmond city, VA309D+65.9
- Chesterfield County, VA295D+8.9
- King William County, VA76R+40.5
- Caroline County, VA71R+8.8
- New Kent County, VA62R+31.7
Where departures went households, 2022–23
- Henrico County, VA774
- Richmond city, VA345
- Chesterfield County, VA217
- King William County, VA142
- New Kent County, VA77
- Goochland County, VA76
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 | −164 |
| 2012 | +396 |
| 2013 | +610 |
| 2014 | +541 |
| 2015 | +1,227 |
| 2016 | +1,097 |
| 2017 | +1,327 |
| 2018 | +1,187 |
| 2019 | +806 |
| 2021 | +1,823 |
| 2022 | +1,235 |
| 2023 | +1,306 |
| 2024 | +1,082 |
| 2025 | +819 |
Hanover sits at the northern edge of the Richmond metro and has delivered double-digit Republican presidential margins for decades, with the 2024 gap widening past 25 points as population growth has not softened its conservative lean.
Across the recorded series it reached a Democratic high of 75.3 points in 1916 and a Republican high of 58.9 points in 1984. Between 2020 and 2024 the county moved 1.1 points toward the Democratic candidate; the 2024 margin was 25.7 points.
A population of 112,879, a 81% non-Hispanic-white share, and a median household income of $112,805 describe the county. The county's voting pattern over the last decade is most similar to that of Williamson County and Oldham 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 →
Hanover County, Virginia. Akashic. https://akashic.app/county/51085/. Accessed May 20, 2026. License: CC BY 4.0.