- Lead
- 33,433
- Total
- 96,524
- vs nation
- R+33.2
- Turnout
- 76.8%
St. Clair County, MI
▦ precinct · ▥ counties · ▢ no spatial detail
President margin by year
Place winner margin
President results by year
2024 turnout 76.8% of 126,458 citizens 18+
- Lead
- 27,822
- Total
- 92,064
- vs nation
- R+34.7
- Turnout
- 74.4%
- Lead
- 24,498
- Total
- 78,003
- vs nation
- R+33.5
- Turnout
- 64.2%
- Lead
- 5,288
- Total
- 74,181
- vs nation
- R+11.0
- Turnout
- —
- Lead
- 2,141
- Total
- 80,900
- vs nation
- R+4.6
- Turnout
- —
- Lead
- 6,566
- Total
- 79,743
- vs nation
- R+5.8
- Turnout
- —
- Lead
- 569
- Total
- 68,516
- vs nation
- R+1.3
- Turnout
- —
- Lead
- 6,386
- Total
- 60,118
- vs nation
- D+2.1
- Turnout
- —
Key facts
- 2024 presidential margin
- R+34.6MIT Election Lab
- Population
- 160,2212024 5-year
- Population density
- 222 / sq mi2024 5-year · TIGER/Line
- Land area
- 722 sq miTIGER/Line
- Median household income
- $71,2702024 5-year
- White (non-Hispanic)
- 89.7%2024 5-year
- Black
- 2.1%2024 5-year
- Hispanic / Latino
- 3.7%2024 5-year
- Peak Democratic margin
- D+18.3 in 1964MIT Election Lab
- Peak Republican margin
- R+43.4 in 1928MIT Election Lab
- Most similar
- Lapeer County, MI · twin score 93.3
Turnout and midterm durability
Participation measured against the same-year citizen voting-age population. Audited cycles count total general-election participants — ballots or participating voters, not presidential candidate votes. Cycles before 2016 predate that series and are derived from the certified presidential returns instead; they are marked everywhere they appear and are excluded from the figures below.
- 2024 turnout
- 76.8%97,116 participants ÷ 126,458 CVAP
- 2020→2022 drop-off
- +14.7 ptsVolatile
- Drop-off vs state
- -0.5 ptsPositive means a larger decline than the statewide pattern
- Mechanical 2026
- 62.1%–65.1%Recent-cycle and two-cycle persistence scenarios; not a forecast
Select a presidential cycle to show it on the map and results ledger above.
| Cycle | Participants | CVAP | Turnout | Series | Quality |
|---|---|---|---|---|---|
| 97,116 | 126,458 ± 417 | 76.8% | Audited | A/A | |
| 2022Mid | 75,224 | 125,978 ± 376 | 59.7% | Audited | A/A |
| 92,594 | 124,513 ± 421 | 74.4% | Audited | A/A | |
| 2018Mid | 68,605 | 123,856 ± 429 | 55.4% | Audited | A/A |
| 79,143 | 123,236 ± 412 | 64.2% | Audited | A/A | |
| 74,181 | 122,737 | 60.4% | Derived | — | |
| 80,900 | 126,234 | 64.1% | Derived | — | |
| 79,743 | 129,731 extrapolated | 61.5% | Derived | — |
Sources and methods
Audited cycles (2016, 2018, 2020, 2022, 2024) count total general-election participants against the same-year CVAP special tabulation, each cell carrying its own numerator and denominator quality grade. Derived cycles (2004, 2008, 2012) come from the certified presidential returns on this page over the ACS 5-year CVAP series, so they measure presidential votes cast rather than ballots — a floor on participation. Where a derived cycle predates the ACS its denominator is extrapolated rather than read, and says so on its own line below. They are shown for the longer arc and are excluded from the drop-off, excess-drop-off, and 2026 scenario figures above.
- 2024: numerator source 158, denominator source 157; total voters participating; eavs-f1a-v1:observed:native; allocation share 0.0%; series 311/228.
- 2022: numerator source 158, denominator source 157; total voters participating; eavs-f1a-v1:observed:native; allocation share 0.0%; series 306/183.
- 2020: numerator source 158, denominator source 157; total voters participating; eavs-f1a-v1:observed:native; allocation share 0.0%; series 301/2.
- 2018: numerator source 158, denominator source 157; total voters participating; eavs-f1a-v1:observed:native; allocation share 0.0%; series 297/138.
- 2016: numerator source 158, denominator source 157; total voters participating; eavs-f1a-v1:observed:native; allocation share 0.0%; series 293/111.
- 2012 (derived): Certified presidential returns · ACS 5-year CVAP (B05003); presidential votes cast — a floor on participation, not a ballot count.
- 2008 (derived): Certified presidential returns · ACS 5-year CVAP (B05003); presidential votes cast — a floor on participation, not a ballot count.
- 2004 (derived): Certified presidential returns · extrapolated CVAP denominator; presidential votes cast — a floor on participation, not a ballot count; 2004 predates the ACS, so the denominator is a linear back-extrapolation from the 2008 and 2012 CVAP values, not a read figure.
Interactive election map
One map. Every available contest.
Explore precinct resultsSearch, sort, compare years, or export CSV · 126 precincts
Precinct data
Results by precinct
126 precincts · 93,719 votes
Precinct boundaries and identifiers are cycle-specific. This table does not join rows across years without a validated crosswalk.
| Precinct -St. Clair Township, Precinct 1St. Clair Township, Precinct 1 | 828 | 1,833 | 33 | 2,694 | 30.7% | 68.0% | R+37.3 |
|---|---|---|---|---|---|---|---|
| Precinct -East China Township, Precinct 1East China Township, Precinct 1 | 871 | 1,665 | 35 | 2,571 | 33.9% | 64.8% | R+30.9 |
| Precinct -Clay Township, Precinct 5Clay Township, Precinct 5 | 624 | 1,905 | 33 | 2,562 | 24.4% | 74.4% | R+50.0 |
| Precinct -Mussey Township, Precinct 1Mussey Township, Precinct 1 | 578 | 1,740 | 27 | 2,345 | 24.6% | 74.2% | R+49.6 |
| Precinct -Fort Gratiot Township, Precinct 4Fort Gratiot Township, Precinct 4 | 903 | 1,386 | 33 | 2,322 | 38.9% | 59.7% | R+20.8 |
| Precinct -Cottrellville Township, Precinct 1Cottrellville Township, Precinct 1 | 578 | 1,665 | 28 | 2,271 | 25.5% | 73.3% | R+47.9 |
| Precinct -Clyde Township, Precinct 1Clyde Township, Precinct 1 | 713 | 1,520 | 32 | 2,265 | 31.5% | 67.1% | R+35.6 |
| Precinct -St. Clair Township, Precinct 2St. Clair Township, Precinct 2 | 563 | 1,662 | 40 | 2,265 | 24.9% | 73.4% | R+48.5 |
| Precinct -City of Marine City, Precinct 1City of Marine City, Precinct 1 | 796 | 1,432 | 31 | 2,259 | 35.2% | 63.4% | R+28.2 |
| Precinct -Riley Township, Precinct 1Riley Township, Precinct 1 | 461 | 1,749 | 31 | 2,241 | 20.6% | 78.0% | R+57.5 |
| Precinct -Berlin Township, Precinct 1Berlin Township, Precinct 1 | 428 | 1,677 | 21 | 2,126 | 20.1% | 78.9% | R+58.7 |
| Precinct -Wales Township, Precinct 1Wales Township, Precinct 1 | 456 | 1,546 | 36 | 2,038 | 22.4% | 75.9% | R+53.5 |
| Precinct -Fort Gratiot Township, Precinct 1Fort Gratiot Township, Precinct 1 | 822 | 1,011 | 25 | 1,858 | 44.2% | 54.4% | R+10.2 |
| Precinct -City of St. Clair, Precinct 1City of St. Clair, Precinct 1 | 626 | 1,191 | 27 | 1,844 | 33.9% | 64.6% | R+30.6 |
| Precinct -City of Marysville, Precinct 4City of Marysville, Precinct 4 | 654 | 1,078 | 19 | 1,751 | 37.4% | 61.6% | R+24.2 |
| Precinct -Fort Gratiot Township, Precinct 2Fort Gratiot Township, Precinct 2 | 585 | 1,089 | 28 | 1,702 | 34.4% | 64.0% | R+29.6 |
| Precinct -Emmett Township, Precinct 1Emmett Township, Precinct 1 | 395 | 1,258 | 19 | 1,672 | 23.6% | 75.2% | R+51.6 |
| Precinct -Kimball Township, Precinct 4Kimball Township, Precinct 4 | 438 | 1,212 | 21 | 1,671 | 26.2% | 72.5% | R+46.3 |
| Precinct -Ira Township, Precinct 2Ira Township, Precinct 2 | 365 | 1,284 | 17 | 1,666 | 21.9% | 77.1% | R+55.2 |
| Precinct -Columbus Township, Precinct 1Columbus Township, Precinct 1 | 312 | 1,299 | 13 | 1,624 | 19.2% | 80.0% | R+60.8 |
| Precinct -Kenockee Township, Precinct 1Kenockee Township, Precinct 1 | 366 | 1,229 | 10 | 1,605 | 22.8% | 76.6% | R+53.8 |
| Precinct -Port Huron Township, Precinct 1Port Huron Township, Precinct 1 | 549 | 1,020 | 19 | 1,588 | 34.6% | 64.2% | R+29.7 |
| Precinct -Port Huron Township, Precinct 2Port Huron Township, Precinct 2 | 520 | 1,008 | 21 | 1,549 | 33.6% | 65.1% | R+31.5 |
| Precinct -City of Port Huron, Precinct 3City of Port Huron, Precinct 3 | 665 | 852 | 26 | 1,543 | 43.1% | 55.2% | R+12.1 |
| Precinct -Kimball Township, Precinct 1Kimball Township, Precinct 1 | 440 | 1,019 | 34 | 1,493 | 29.5% | 68.3% | R+38.8 |
| Precinct -City of Port Huron, Precinct 2City of Port Huron, Precinct 2 | 704 | 762 | 19 | 1,485 | 47.4% | 51.3% | R+3.9 |
| Precinct -City of Port Huron, Precinct 1City of Port Huron, Precinct 1 | 727 | 716 | 29 | 1,472 | 49.4% | 48.6% | D+0.7 |
| Precinct -City of Port Huron, Precinct 9City of Port Huron, Precinct 9 | 672 | 732 | 23 | 1,427 | 47.1% | 51.3% | R+4.2 |
| Precinct -Ira Township, Precinct 1Ira Township, Precinct 1 | 441 | 968 | 16 | 1,425 | 30.9% | 67.9% | R+37.0 |
| Precinct -City of Marysville, Precinct 3City of Marysville, Precinct 3 | 500 | 901 | 19 | 1,420 | 35.2% | 63.5% | R+28.2 |
| Precinct -China Township, Precinct 1China Township, Precinct 1 | 433 | 949 | 15 | 1,397 | 31.0% | 67.9% | R+36.9 |
| Precinct -Kimball Township, Precinct 2Kimball Township, Precinct 2 | 445 | 929 | 20 | 1,394 | 31.9% | 66.6% | R+34.7 |
| Precinct -City of Port Huron, Precinct 8City of Port Huron, Precinct 8 | 617 | 735 | 29 | 1,381 | 44.7% | 53.2% | R+8.5 |
| Precinct -City of St. Clair, Precinct 2City of St. Clair, Precinct 2 | 579 | 756 | 31 | 1,366 | 42.4% | 55.3% | R+13.0 |
| Precinct -City of Port Huron, Precinct 4City of Port Huron, Precinct 4 | 588 | 752 | 25 | 1,365 | 43.1% | 55.1% | R+12.0 |
| Precinct -City of Algonac, Precinct 2City of Algonac, Precinct 2 | 354 | 975 | 23 | 1,352 | 26.2% | 72.1% | R+45.9 |
| Precinct -Fort Gratiot Township, Precinct 3Fort Gratiot Township, Precinct 3 | 545 | 751 | 22 | 1,318 | 41.4% | 57.0% | R+15.6 |
| Precinct -Casco Township, Precinct 2Casco Township, Precinct 2 | 295 | 1,005 | 13 | 1,313 | 22.5% | 76.5% | R+54.1 |
| Precinct -City of Port Huron, Precinct 6City of Port Huron, Precinct 6 | 607 | 677 | 27 | 1,311 | 46.3% | 51.6% | R+5.3 |
| Precinct -Clyde Township, Precinct 2Clyde Township, Precinct 2 | 342 | 950 | 17 | 1,309 | 26.1% | 72.6% | R+46.4 |
| Precinct -City of Marysville, Precinct 2City of Marysville, Precinct 2 | 463 | 781 | 24 | 1,268 | 36.5% | 61.6% | R+25.1 |
| Precinct -Burtchville Township, Precinct 3Burtchville Township, Precinct 3 | 516 | 726 | 19 | 1,261 | 40.9% | 57.6% | R+16.7 |
| Precinct -Brockway Township, Precinct 1Brockway Township, Precinct 1 | 251 | 975 | 9 | 1,235 | 20.3% | 78.9% | R+58.6 |
| Precinct -Casco Township, Precinct 1Casco Township, Precinct 1 | 305 | 896 | 25 | 1,226 | 24.9% | 73.1% | R+48.2 |
| Precinct -Kimball Township, Precinct 3Kimball Township, Precinct 3 | 315 | 885 | 12 | 1,212 | 26.0% | 73.0% | R+47.0 |
| Precinct -Grant Township, Precinct 1Grant Township, Precinct 1 | 299 | 887 | 19 | 1,205 | 24.8% | 73.6% | R+48.8 |
| Precinct -Burtchville Township, Precinct 2Burtchville Township, Precinct 2 | 415 | 765 | 21 | 1,201 | 34.6% | 63.7% | R+29.1 |
| Precinct -City of Marysville, Precinct 1City of Marysville, Precinct 1 | 416 | 719 | 18 | 1,153 | 36.1% | 62.4% | R+26.3 |
| Precinct -Columbus Township, Precinct 3Columbus Township, Precinct 3 | 284 | 848 | 19 | 1,151 | 24.7% | 73.7% | R+49.0 |
| Precinct -City of Port Huron, Precinct 10City of Port Huron, Precinct 10 | 634 | 493 | 20 | 1,147 | 55.3% | 43.0% | D+12.3 |
| Precinct -Port Huron Township, Precinct 3Port Huron Township, Precinct 3 | 411 | 717 | 17 | 1,145 | 35.9% | 62.6% | R+26.7 |
| Precinct -City of Algonac, Precinct 1City of Algonac, Precinct 1 | 329 | 786 | 12 | 1,127 | 29.2% | 69.7% | R+40.6 |
| Precinct -City of St. Clair, Precinct 3City of St. Clair, Precinct 3 | 394 | 698 | 25 | 1,117 | 35.3% | 62.5% | R+27.2 |
| Precinct -City of Port Huron, Precinct 5City of Port Huron, Precinct 5 | 524 | 564 | 21 | 1,109 | 47.2% | 50.9% | R+3.6 |
| Precinct -Port Huron Township, Precinct 4Port Huron Township, Precinct 4 | 441 | 604 | 26 | 1,071 | 41.2% | 56.4% | R+15.2 |
| Precinct -China Township, Precinct 2China Township, Precinct 2 | 272 | 765 | 21 | 1,058 | 25.7% | 72.3% | R+46.6 |
| Precinct -City of Port Huron, Precinct 7City of Port Huron, Precinct 7 | 517 | 515 | 23 | 1,055 | 49.0% | 48.8% | D+0.2 |
| Precinct -City of Yale, Precinct 1City of Yale, Precinct 1 | 304 | 652 | 15 | 971 | 31.3% | 67.1% | R+35.8 |
| Precinct -Greenwood Township, Precinct 1Greenwood Township, Precinct 1 | 231 | 718 | 14 | 963 | 24.0% | 74.6% | R+50.6 |
| Precinct -Clay Township, Precinct 4Clay Township, Precinct 4 | 226 | 581 | 11 | 818 | 27.6% | 71.0% | R+43.4 |
| Precinct -Lynn Township, Precinct 1Lynn Township, Precinct 1 | 168 | 583 | 15 | 766 | 21.9% | 76.1% | R+54.2 |
| Precinct -City of Memphis, Precinct 2City of Memphis, Precinct 2 | 56 | 143 | 1 | 200 | 28.0% | 71.5% | R+43.5 |
| Algonac City 00001147-01180-00001 | 0 | 0 | 0 | 0 | — | — | No votes |
| Algonac City 00002147-01180-00002 | 0 | 0 | 0 | 0 | — | — | No votes |
| Berlin Township 00001147-07760-00001 | 0 | 0 | 0 | 0 | — | — | No votes |
| Brockway Township 00001147-10820-00001 | 0 | 0 | 0 | 0 | — | — | No votes |
| Burtchville Township 00002147-12020-00002 | 0 | 0 | 0 | 0 | — | — | No votes |
| Burtchville Township 00003147-12020-00003 | 0 | 0 | 0 | 0 | — | — | No votes |
| Casco Township 00001147-13720-00001 | 0 | 0 | 0 | 0 | — | — | No votes |
| Casco Township 00002147-13720-00002 | 0 | 0 | 0 | 0 | — | — | No votes |
| China Township 00001147-15540-00001 | 0 | 0 | 0 | 0 | — | — | No votes |
| China Township 00002147-15540-00002 | 0 | 0 | 0 | 0 | — | — | No votes |
| Clay Township 00001147-16180-00001 | 0 | 0 | 0 | 0 | — | — | No votes |
| Clay Township 00003147-16180-00003 | 0 | 0 | 0 | 0 | — | — | No votes |
| Clay Township 00005147-16180-00005 | 0 | 0 | 0 | 0 | — | — | No votes |
| Clyde Township 00001147-16760-00001 | 0 | 0 | 0 | 0 | — | — | No votes |
| Clyde Township 00002147-16760-00002 | 0 | 0 | 0 | 0 | — | — | No votes |
| Columbus Township 00001147-17520-00001 | 0 | 0 | 0 | 0 | — | — | No votes |
| Columbus Township 00003147-17520-00003 | 0 | 0 | 0 | 0 | — | — | No votes |
| Cottrellville Township 00001147-18400-00001 | 0 | 0 | 0 | 0 | — | — | No votes |
| East China Township 00001147-23820-00001 | 0 | 0 | 0 | 0 | — | — | No votes |
| Emmett Township 00001147-25960-00001 | 0 | 0 | 0 | 0 | — | — | No votes |
| Fort Gratiot Charter Township 00001147-29760-00001 | 0 | 0 | 0 | 0 | — | — | No votes |
| Fort Gratiot Charter Township 00002147-29760-00002 | 0 | 0 | 0 | 0 | — | — | No votes |
| Fort Gratiot Charter Township 00003147-29760-00003 | 0 | 0 | 0 | 0 | — | — | No votes |
| Fort Gratiot Charter Township 00004147-29760-00004 | 0 | 0 | 0 | 0 | — | — | No votes |
| Grant Township 00001147-34420-00001 | 0 | 0 | 0 | 0 | — | — | No votes |
| Greenwood Township 00001147-35220-00001 | 0 | 0 | 0 | 0 | — | — | No votes |
| Ira Township 00001147-40920-00001 | 0 | 0 | 0 | 0 | — | — | No votes |
| Ira Township 00002147-40920-00002 | 0 | 0 | 0 | 0 | — | — | No votes |
| Kenockee Township 00001147-42740-00001 | 0 | 0 | 0 | 0 | — | — | No votes |
| Kimball Township 00001147-43160-00001 | 0 | 0 | 0 | 0 | — | — | No votes |
| Kimball Township 00002147-43160-00002 | 0 | 0 | 0 | 0 | — | — | No votes |
| Kimball Township 00003147-43160-00003 | 0 | 0 | 0 | 0 | — | — | No votes |
| Lynn Township 00001147-49800-00001 | 0 | 0 | 0 | 0 | — | — | No votes |
| Marine City 00001147-51600-00001 | 0 | 0 | 0 | 0 | — | — | No votes |
| Marine City 00002147-51600-00002 | 0 | 0 | 0 | 0 | — | — | No votes |
| Marysville City 00001147-52080-00001 | 0 | 0 | 0 | 0 | — | — | No votes |
| Marysville City 00002147-52080-00002 | 0 | 0 | 0 | 0 | — | — | No votes |
| Marysville City 00003147-52080-00003 | 0 | 0 | 0 | 0 | — | — | No votes |
| Marysville City 00004147-52080-00004 | 0 | 0 | 0 | 0 | — | — | No votes |
| Memphis City 00002147-52960-00002 | 0 | 0 | 0 | 0 | — | — | No votes |
| Mussey Township 00001147-56380-00001 | 0 | 0 | 0 | 0 | — | — | No votes |
| Port Huron Charter Township 00001147-65840-00001 | 0 | 0 | 0 | 0 | — | — | No votes |
| Port Huron Charter Township 00002147-65840-00002 | 0 | 0 | 0 | 0 | — | — | No votes |
| Port Huron Charter Township 00003147-65840-00003 | 0 | 0 | 0 | 0 | — | — | No votes |
| Port Huron Charter Township 00004147-65840-00004 | 0 | 0 | 0 | 0 | — | — | No votes |
| Port Huron City 00001147-65820-00001 | 0 | 0 | 0 | 0 | — | — | No votes |
| Port Huron City 00002147-65820-00002 | 0 | 0 | 0 | 0 | — | — | No votes |
| Port Huron City 00003147-65820-00003 | 0 | 0 | 0 | 0 | — | — | No votes |
| Port Huron City 00004147-65820-00004 | 0 | 0 | 0 | 0 | — | — | No votes |
| Port Huron City 00005147-65820-00005 | 0 | 0 | 0 | 0 | — | — | No votes |
| Port Huron City 00006147-65820-00006 | 0 | 0 | 0 | 0 | — | — | No votes |
| Port Huron City 00007147-65820-00007 | 0 | 0 | 0 | 0 | — | — | No votes |
| Port Huron City 00008147-65820-00008 | 0 | 0 | 0 | 0 | — | — | No votes |
| Port Huron City 00009147-65820-00009 | 0 | 0 | 0 | 0 | — | — | No votes |
| Port Huron City 00010147-65820-00010 | 0 | 0 | 0 | 0 | — | — | No votes |
| Richmond City 00001147-68380-00001 | 0 | 0 | 0 | 0 | — | — | No votes |
| Riley Township 00001147-68620-00001 | 0 | 0 | 0 | 0 | — | — | No votes |
| St. Clair City 00001147-70680-00001 | 0 | 0 | 0 | 0 | — | — | No votes |
| St. Clair City 00002147-70680-00002 | 0 | 0 | 0 | 0 | — | — | No votes |
| St. Clair City 00003147-70680-00003 | 0 | 0 | 0 | 0 | — | — | No votes |
| St. Clair Township 00001147-70700-00001 | 0 | 0 | 0 | 0 | — | — | No votes |
| St. Clair Township 00002147-70700-00002 | 0 | 0 | 0 | 0 | — | — | No votes |
| Wales Township 00001147-82900-00001 | 0 | 0 | 0 | 0 | — | — | No votes |
| Yale City 00001147-89000-00001 | 0 | 0 | 0 | 0 | — | — | No votes |
presidential history
Party record book
St. Clair County, MI · the strongest Democratic and Republican presidential performances recorded here, measured three ways.
1892–2024 · 34 presidential cycles
Highest vote share
Largest share of the presidential candidate vote cast here.
Democratic
Lyndon B. Johnson1964
59.1%
24,662 votes · D+18.3
Runner-up · Barack Obama, 2008 · 50.3%
Republican
Herbert Hoover1928
71.6%
18,177 votes · R+43.4
Runner-up · Dwight D. Eisenhower, 1956 · 69.5%
Most votes
Largest number of votes cast for the party’s presidential nominee here.
Democratic
Barack Obama2008
40,677votes
50.3% of the vote · D+2.6
Runner-up · John Kerry, 2004 · 36,174 votes
Republican
Donald Trump2024
64,277votes
66.6% of the vote · R+34.6
Runner-up · Donald Trump, 2020 · 59,185 votes
Best relative to the U.S.
This Place’s margin against the national margin in the same election — positive when it leaned toward the party more than the country did.
Democratic
Bill Clinton1996
+2.1pts D vs U.S.
Place D+10.6 · U.S. D+8.5
Runner-up · Al Gore, 2000 · −1.3 pts
Republican
Donald Trump2020
+34.7pts R vs U.S.
Place R+30.2 · U.S. D+4.5
Runner-up · Donald Trump, 2016 · +33.5 pts
Current officeholders
Seats representing St. Clair County, MI. A county elects none of these itself — they are the members for the 1 congressional, 2 state senate and 3 state house districts it falls inside, so parts of the county are represented by different members.
Senate and governor results are in the Office selector at the top of this page.
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.
Registered voters
Total registered voters, over time
| Year | Total registered |
|---|---|
| 2016 | 124,354 |
| 2018 | 124,000 |
| 2020 | 134,617 |
| 2022 | 136,597 |
| 2024 | 140,061 |
Who moves in and out
Net migration over time, and who arrivals are — where they came from and what those places vote
+584 net domestic migration · 2025
Net +232 over 2011–2025 · gain loss
Arrivals reported $58,163 in average income, against $72,509 for residents who stayed — 20% lower. (IRS SOI, 2022–23)
The places arrivals came from lean R+11.2 on average — 23 points more Democratic-leaning than St. Clair County, MI itself (R+34.6).
Where arrivals came from lean of each source
- Macomb County, MI1,331R+13.7
- Oakland County, MI239D+10.6
- Sanilac County, MI204R+47.7
- Wayne County, MI152D+29.0
- Lapeer County, MI120R+39.8
- Genesee County, MI51D+4.2
Where departures went households, 2022–23
- Macomb County, MI1,038
- Oakland County, MI269
- Sanilac County, MI217
- Wayne County, MI138
- Lapeer County, MI103
- Genesee County, MI64
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 | −1,169 |
| 2012 | −1,104 |
| 2013 | −289 |
| 2014 | −117 |
| 2015 | −169 |
| 2016 | −136 |
| 2017 | −94 |
| 2018 | +293 |
| 2019 | +403 |
| 2021 | +491 |
| 2022 | +395 |
| 2023 | +784 |
| 2024 | +360 |
| 2025 | +584 |
St. Clair County's R+34.6 margin in 2024 reflects a blue-collar lakeside corridor that has moved steadily away from its mid-century Democratic roots, driven by deindustrialization along the Port Huron waterfront and an aging, predominantly white electorate.
Across the recorded series it reached a Democratic high of 18.3 points in 1964 and a Republican high of 43.4 points in 1928. Between 2020 and 2024 the county moved 4.4 points toward the Republican candidate; the 2024 margin was 34.6 points.
A population of 160,221, a 90% non-Hispanic-white share, and a median household income of $71,270 describe the county. The county's voting pattern over the last decade is most similar to that of Lapeer County and Monroe 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 →
St. Clair County, Michigan. Akashic. https://akashic.app/county/26147/. Accessed May 20, 2026. License: CC BY 4.0.