Loading 3,100 counties…
Toward Republicans
Toward Democrats
Hover or tap a county for its numbers. ⌘/Ctrl + scroll or pinch to zoom.
Largest shifts
Toward Republicans
Toward Democrats
The country, for comparison
National shift
Moved right
Moved left
Counted by county
Counted by votes cast
Arrow length is the change in the Republican-minus-Democratic margin, in percentage points; direction is which party gained. A map of counties is a map of land, so the vote-weighted figures are the better read on how the electorate moved.
Data notes and method
- Margin is (Republican votes − Democratic votes) ÷ all votes cast in that race in that county, in percentage points. The two-party option divides by Republican + Democratic votes only, which matters most in 2000 (Nader) and 2016 (Johnson, Stein, McMullin). Shift is the later margin minus the earlier margin.
- Your place: a city or ZIP is matched to a county with the simplemaps.com US ZIP database (free edition, CC BY 4.0). A city that spans counties goes to the county holding most of its ZIP-code population; a name used in several states goes to the most populous unless you add the state ("Springfield, MO").
- Sources: county presidential returns 2000–2024 from the MIT Election Data and Science Lab (County Presidential Election Returns 2000–2024, release 2025-08-21). Where that file's rows were unusable, the NYT-derived county tallies compiled by tonmcg on GitHub were used instead: Vermont and Indiana for 2020, Kansas and Vermont for 2024. Alaska 2004 uses the Division of Elections statewide certified count because the file's district rows double count. County sums land within 0.5% of the FEC national totals for every election.
- Geography is the Census county layout used by us-atlas (2017 boundaries). Alaska reports by election district, not borough, so it carries one statewide arrow. Kansas City, Mo. is folded into Jackson County. Bedford City, Va. (2000–2012) is folded into Bedford County; Shannon County, S.D. is shown as Oglala Lakota. Broomfield, Colo. did not exist in 2000, so pairs that include 2000 show no arrow there. Kalawao, Hawaii has no separate returns. Connecticut and Rhode Island are shown by county in every year.
- Reading the map: arrow length is linear in the shift, so a 30-point arrow is three times a 10-point arrow. Width is constant unless you scale it by votes. Because small rural counties cover most of the land, the median county and the vote-weighted mean can disagree; the lower histogram shows why. The “largest shifts” lists ignore counties with fewer than 1,000 votes in the later election, where a few hundred ballots swing the margin by tens of points.
- Midterms 2002–2022: House, Senate and governor returns by county. 2018 and 2022 come from the MIT Election Data and Science Lab's official precinct returns (aggregated to counties; a candidate's lines are merged, so fusion votes count for the candidate). 2002–2014 come from OpenElections county and precinct files, and a state-year is shown only when its totals reconcile with the MIT district-level House and state-level Senate returns within a few percent (fusion states get a wider band). States that fail that check, or have no county-level file in the sources, are absent from that layer; the note above the map says how many states a layer covers. House by county is the sum of the county pieces of every district where both major parties ran. Senate and governor layers only exist where there was a race. Governor files without party labels use a short list of known nominees.
- 2026 midterms: unofficial counts from the source named in the note above the map (civicAPI county-level results once the refresh job has run; before that, AP counts via NPR at state level). A race is comparable only when a Democrat and a Republican are on the ballot and finish in the top two; everything else is left out and the reason is shown on hover. House by county is the sum of the comparable districts' county pieces; Senate covers the 33 regular seats plus the Florida and Ohio specials; Governor the 36 races. States whose results are not reported by county get one arrow. Comparing a House, Senate or governor margin with a presidential margin mixes offices, candidates and turnout: read it as how the vote moved, not as a voter-by-voter swing. Counties or states with under 90% of the expected vote counted are faded.
Clipboard access was refused here. Select the text below and copy it.