How San Francisco's Republican voters voted on November 3, 2026

A San Francisco polling place set up in a residential garage: a row of voting booths on metal legs, a ballot-scanning machine in the foreground, and a table of voter rosters beside a red supply box, with storage boxes on shelves and in the rafters

“Voting in a Garage” by coolmikeol, CC BY 2.0.

A few of us on Bluesky have been discussing what SF’s November 3 election results mean. I have thoughts and speculations about what this means, so I dug in. One easy, accurate thing I saw and could share: what GOP voters in San Francisco voted for.

#Who are we talking about here?

Six statewide races featured a Republican against a Democrat. 10% of SF’s mail ballots (details below) voted for the Republican in 5 or 6 of those races. It’s safe to call those voters actual, honest-to-god Republicans. The tables below show what those SF Republicans voted for in the other races.

#What am I not claiming?

To be utterly clear: this analysis does not mean, and does not claim, that voting for Connie Chan or voter ID makes you a Republican (though Republicans did vote for Connie Chan, 57% to 43%, and overwhelmingly for voter ID, 89% to 11%). All I’m saying in this post is that San Francisco Republicans voted for Connie Chan, voter ID, and a bunch of other things that the rest of the San Francisco electorate disagreed with them on, as well as some areas where the GOP and non-GOP voters agreed.

#The tables

SF GOP voters = the 27,144 mail voters who meet the 5-of-6 test. Everyone else = the other 239,687 complete mail ballots. Both columns come from the same set of ballots, so each gap compares two groups of voters directly. Each cell gives the majority side and its share of the voters who voted on that item; blanks are excluded. Gap = the difference, in percentage points, between the share of GOP voters and the share of everyone else who supported the item (for the two candidate races: who chose Chan, or Kim). The disagreement table is sorted by the gap, largest first; the agreement table is sorted smallest first. The Congress row counts only ballots from CA-11 voters.

#Where GOP voters and everyone else disagreed (22 items)

ItemSF GOP votersEveryone elseGap (points)
Prop 39, voter IDSupport 89%Oppose 89%78
Prop 3, permanent top tax ratesOppose 85%Support 84%68
Prop 1, housing bondOppose 78%Support 86%64
Prop 2, rainy-day fundOppose 76%Support 87%63
SF H, Muni parcel taxOppose 81%Support 81%62
SF J, close foreclosure tax exemptionOppose 73%Support 88%61
Prop 41, audit special taxesSupport 86%Oppose 71%58
Prop 42, ban wealth taxesSupport 89%Oppose 68%58
SF C, affordable housing fundOppose 69%Support 88%57
RTM, regional transit sales taxOppose 72%Support 85%56
Prop 43, 2/3 vote for local taxesSupport 83%Oppose 70%53
Prop 5, recall processOppose 72%Support 77%49
Prop 40, billionaire taxOppose 87%Support 60%47
Prop 4, public campaign financingOppose 87%Support 59%46
Prop 37, home-purchase bondOppose 68%Support 77%46
SF G, reopen Great Highway to carsSupport 75%Oppose 70%45
SF B, public bankOppose 85%Support 56%41
Prop 45, CEQA fast-trackSupport 75%Oppose 64%39
SF I, transfer tax to housingOppose 86%Support 51%37
Insurance CommissionerAllen 65%Kim 55%21
Congress, CA-11Chan 57%Wiener 56%13
SF D, raise initiative thresholdsOppose 51%Support 56%7

#Where GOP voters and everyone else agreed (5 items)

ItemSF GOP votersEveryone elseGap (points)
SF E, City Administrator powersSupport 62%Support 65%3
Prop 38, immunology research bondOppose 65%Oppose 62%3
SF A, cut charter commissionsSupport 74%Support 69%5
SF F, mayor’s control of departmentsSupport 72%Support 59%13
Prop 44, clinic spending ruleOppose 72%Oppose 87%15

Three of the five agreements are parts of the mayor’s charter package (SF A, E and F); the other two (state Props 44 and 38) are measures that both GOP and non-GOP voters opposed.

#How this was measured

San Francisco publishes a cast vote record: an anonymous file with one record per scanned ballot card, showing every choice on that card. This analysis uses the release of November 8, 2026, which holds 1,370,121 cards. The results are preliminary; the Department of Elections expects to certify them on December 3.

San Francisco’s ballot had four cards, and the file does not say which cards came from the same voter. For mail ballots, the four cards from one envelope are scanned one after another, so I regrouped them by scan order, precinct and ballot style. That gave 266,831 complete mail ballots, 88% of the mail ballots in the file. The complete ballots match all mail cards to within 0.1 percentage points on every measure, so the ballots I could not regroup should not skew the sample.

I counted a voter as a “GOP voter” if they chose the Republican in at least 5 of the 6 statewide races that had a Democrat and a Republican on the ballot (Governor, Lieutenant Governor, Secretary of State, Controller, Treasurer, Attorney General). This is a definition by votes, not by party registration. Most voters are at one end or the other: of the complete mail ballots, 80.1% chose no Republican, 8.3% chose all six, and 5.1% chose two to four. The rest chose exactly one or exactly five. The 5-of-6 test gives 27,144 GOP voters, 10.2% of complete mail ballots.

All analysis code was written by Claude Code (mix of Opus and Fable), with an adversarial audit by GLM-5.3.

Limitations:

  • Mail ballots only. I cannot regroup Election Day ballots (about 11% of all ballots in the file), because their scan order is scrambled. Election Day voters are somewhat more Republican: 12.2% of Election Day cards with the statewide races meet the 5-of-6 test, against 10.2% of mail cards. So the GOP voters here are mail voters, and they may differ somewhat from Election Day Republicans.
  • The House race had no Republican. 21% of GOP voters in the CA-11 district left the Chan–Wiener race blank. The Congress row covers only the GOP voters who chose one of the two.
  • Regrouping can make mistakes. The method can occasionally merge the cards of two neighbors from the same precinct into one ballot. A wrong merge mixes two voters, which makes the GOP voters and everyone else look more alike. So any such errors shrink the gaps in the tables; they cannot create them.
  • Small numbers redacted. The Department withheld the votes on 24 cards (6 ballots) in very small batches. I left them out.

#Sources