STATE SENATOR, DISTRICT 28

⚠ 14
● Live Results·277,121 ballots cast·Updated 11/5/2026, 2:16:01 PM
70.0%193,190
30.0%83,931
Early vote vs Election Day

CHARLES PERRY gained 6.5 percentage points on Election Day.

CHARLES PERRY+6.5pp on E-day
Early 140,621 (72.8%)E-day 52,569 (27.2%)
RILEY RODRIQUEZ-6.5pp on E-day
Early 65,969 (78.6%)E-day 17,962 (21.4%)
Race totals277,121 ballots
Early 206,590 (74.5%)E-day 70,531 (25.5%)
Menard: 779 votes · CHARLES PERRY 78.8% (614) · RILEY RODRIQUEZ 21.2% (165) · 449 net for leaderHale: 7,478 votes · CHARLES PERRY 68.4% (5,116) · RILEY RODRIQUEZ 31.6% (2,362) · 2,754 net for leaderArmstrong: no dataCalhoun: no dataClay: no dataOrange: no dataGonzales: no dataFannin: no dataKerr: no dataRefugio: no dataJim Hogg: no dataDimmit: no dataNolan: 3,660 votes · CHARLES PERRY 75.2% (2,754) · RILEY RODRIQUEZ 24.8% (906) · 1,848 net for leaderBrazos: no dataJefferson: no dataBell: no dataBandera: no dataHidalgo: no dataSchleicher: no dataGrayson: no dataCrosby: 1,481 votes · CHARLES PERRY 68.0% (1,007) · RILEY RODRIQUEZ 32.0% (474) · 533 net for leaderDelta: no dataZavala: no dataRockwall: no dataEastland: no dataDeWitt: no dataAngelina: no dataMcLennan: no dataLamar: no dataLeon: no dataStonewall: 498 votes · CHARLES PERRY 82.7% (412) · RILEY RODRIQUEZ 17.3% (86) · 326 net for leaderMcMullen: no dataSutton: no dataFort Bend: no dataParker: no dataKinney: no dataFayette: no dataBriscoe: no dataHarrison: no dataReagan: no dataColeman: 3,200 votes · CHARLES PERRY 88.1% (2,818) · RILEY RODRIQUEZ 11.9% (382) · 2,436 net for leaderOchiltree: no dataCrane: no dataWashington: no dataLynn: 2,094 votes · CHARLES PERRY 81.5% (1,707) · RILEY RODRIQUEZ 18.5% (387) · 1,320 net for leaderMills: 2,111 votes · CHARLES PERRY 86.7% (1,830) · RILEY RODRIQUEZ 13.3% (281) · 1,549 net for leaderOldham: no dataSabine: no dataHopkins: no dataHouston: no dataBexar: no dataUpton: no dataErath: no dataRandall: no dataRusk: no dataCoryell: no dataComal: no dataAransas: no dataJack: no dataHemphill: no dataShackelford: no dataSan Jacinto: no dataKendall: no dataWharton: no dataFloyd: 1,631 votes · CHARLES PERRY 74.7% (1,218) · RILEY RODRIQUEZ 25.3% (413) · 805 net for leaderKarnes: no dataKaufman: no dataDuval: no dataJohnson: no dataFranklin: no dataEdwards: no dataWaller: no dataMaverick: no dataKleberg: no dataGaines: no dataMartin: no dataBowie: no dataAndrews: no dataPotter: no dataGarza: 1,102 votes · CHARLES PERRY 81.7% (900) · RILEY RODRIQUEZ 18.3% (202) · 698 net for leaderCaldwell: no dataParmer: no dataTitus: no dataTerry: 2,549 votes · CHARLES PERRY 75.5% (1,925) · RILEY RODRIQUEZ 24.5% (624) · 1,301 net for leaderFoard: 401 votes · CHARLES PERRY 79.6% (319) · RILEY RODRIQUEZ 20.4% (82) · 237 net for leaderReal: no dataCarson: no dataKnox: 990 votes · CHARLES PERRY 78.1% (773) · RILEY RODRIQUEZ 21.9% (217) · 556 net for leaderHays: no dataMedina: no dataMotley: 509 votes · CHARLES PERRY 93.3% (475) · RILEY RODRIQUEZ 6.7% (34) · 441 net for leaderWichita: 21,375 votes · CHARLES PERRY 69.1% (14,770) · RILEY RODRIQUEZ 30.9% (6,605) · 8,165 net for leaderMidland: no dataVictoria: no dataTyler: no dataFalls: no dataPresidio: no dataWillacy: no dataLubbock: 101,702 votes · CHARLES PERRY 62.8% (63,853) · RILEY RODRIQUEZ 37.2% (37,849) · 26,004 net for leaderHenderson: no dataWalker: no dataGalveston: no dataHarris: no dataDawson: no dataPecos: no dataNacogdoches: no dataGuadalupe: no dataTarrant: no dataJackson: no dataSwisher: no dataSterling: no dataWinkler: no dataFrio: no dataLipscomb: no dataCollingsworth: 925 votes · CHARLES PERRY 86.2% (797) · RILEY RODRIQUEZ 13.8% (128) · 669 net for leaderColorado: no dataWise: no dataGlasscock: no dataShelby: no dataComanche: no dataBurnet: no dataGray: 5,449 votes · CHARLES PERRY 83.2% (4,532) · RILEY RODRIQUEZ 16.8% (917) · 3,615 net for leaderHudspeth: no dataCass: no dataEllis: no dataCooke: no dataWilliamson: no dataCochran: no dataVan Zandt: no dataDonley: 1,254 votes · CHARLES PERRY 88.2% (1,106) · RILEY RODRIQUEZ 11.8% (148) · 958 net for leaderJones: 5,180 votes · CHARLES PERRY 82.1% (4,251) · RILEY RODRIQUEZ 17.9% (929) · 3,322 net for leaderGrimes: no dataIrion: no dataNavarro: no dataBrooks: no dataDallam: no dataHunt: no dataMitchell: no dataWood: no dataChildress: 1,683 votes · CHARLES PERRY 85.2% (1,434) · RILEY RODRIQUEZ 14.8% (249) · 1,185 net for leaderJeff Davis: no dataMontague: no dataBrown: no dataHaskell: 1,582 votes · CHARLES PERRY 83.2% (1,317) · RILEY RODRIQUEZ 16.8% (265) · 1,052 net for leaderFisher: 1,395 votes · CHARLES PERRY 78.8% (1,099) · RILEY RODRIQUEZ 21.2% (296) · 803 net for leaderConcho: 1,001 votes · CHARLES PERRY 83.9% (840) · RILEY RODRIQUEZ 16.1% (161) · 679 net for leaderCoke: no dataPolk: no dataCottle: 526 votes · CHARLES PERRY 82.9% (436) · RILEY RODRIQUEZ 17.1% (90) · 346 net for leaderYoung: no dataLee: no dataCherokee: no dataHall: no dataHood: no dataArcher: no dataBaylor: 1,181 votes · CHARLES PERRY 85.4% (1,009) · RILEY RODRIQUEZ 14.6% (172) · 837 net for leaderSan Augustine: no dataMadison: no dataMilam: no dataReeves: no dataNueces: no dataCamp: no dataFreestone: no dataRunnels: 3,146 votes · CHARLES PERRY 86.2% (2,713) · RILEY RODRIQUEZ 13.8% (433) · 2,280 net for leaderTerrell: no dataDeaf Smith: no dataMarion: no dataLiberty: no dataJasper: no dataHansford: no dataChambers: no dataHardin: no dataCollin: no dataBrazoria: no dataThrockmorton: 629 votes · CHARLES PERRY 88.9% (559) · RILEY RODRIQUEZ 11.1% (70) · 489 net for leaderBastrop: no dataScurry: no dataEctor: no dataLimestone: no dataDenton: no dataRed River: no dataMatagorda: no dataHardeman: 949 votes · CHARLES PERRY 84.0% (797) · RILEY RODRIQUEZ 16.0% (152) · 645 net for leaderPalo Pinto: no dataLive Oak: no dataSherman: no dataUvalde: no dataBailey: no dataCulberson: no dataAtascosa: no dataWilson: no dataStarr: no dataDallas: no dataKimble: no dataMcCulloch: 2,649 votes · CHARLES PERRY 83.4% (2,210) · RILEY RODRIQUEZ 16.6% (439) · 1,771 net for leaderCrockett: no dataHill: no dataKent: 360 votes · CHARLES PERRY 86.9% (313) · RILEY RODRIQUEZ 13.1% (47) · 266 net for leaderEl Paso: no dataLoving: no dataDickens: 739 votes · CHARLES PERRY 84.0% (621) · RILEY RODRIQUEZ 16.0% (118) · 503 net for leaderLa Salle: no dataLamb: 3,245 votes · CHARLES PERRY 76.2% (2,473) · RILEY RODRIQUEZ 23.8% (772) · 1,701 net for leaderAustin: no dataHutchinson: no dataVal Verde: no dataSmith: no dataRobertson: no dataGillespie: no dataKing: 117 votes · CHARLES PERRY 92.3% (108) · RILEY RODRIQUEZ 7.7% (9) · 99 net for leaderTom Green: 35,709 votes · CHARLES PERRY 67.6% (24,148) · RILEY RODRIQUEZ 32.4% (11,561) · 12,587 net for leaderYoakum: no dataSomervell: no dataKenedy: no dataBorden: no dataSan Saba: 2,155 votes · CHARLES PERRY 86.4% (1,862) · RILEY RODRIQUEZ 13.6% (293) · 1,569 net for leaderBurleson: no dataBee: no dataTrinity: no dataCastro: no dataBrewster: no dataGregg: no dataWard: no dataWilbarger: 3,353 votes · CHARLES PERRY 75.2% (2,521) · RILEY RODRIQUEZ 24.8% (832) · 1,689 net for leaderHamilton: no dataStephens: no dataLavaca: no dataBosque: no dataGoliad: no dataRoberts: no dataCallahan: no dataRains: no dataMorris: no dataLampasas: no dataUpshur: no dataWheeler: 1,678 votes · CHARLES PERRY 89.9% (1,508) · RILEY RODRIQUEZ 10.1% (170) · 1,338 net for leaderSan Patricio: no dataMoore: no dataWebb: no dataBlanco: no dataNewton: no dataHockley: 6,337 votes · CHARLES PERRY 76.5% (4,850) · RILEY RODRIQUEZ 23.5% (1,487) · 3,363 net for leaderPanola: no dataAnderson: no dataCameron: no dataMontgomery: no dataLlano: no dataMason: 2,109 votes · CHARLES PERRY 80.8% (1,705) · RILEY RODRIQUEZ 19.2% (404) · 1,301 net for leaderTaylor: 42,210 votes · CHARLES PERRY 69.9% (29,490) · RILEY RODRIQUEZ 30.1% (12,720) · 16,770 net for leaderHartley: no dataJim Wells: no dataZapata: no dataTravis: no dataHoward: no dataEl PasoAmarilloLubbockOdessaSan AngeloDallasTylerAustinHoustonSan AntonioCorpus ChristiMcAllen
Hue = county leader · Saturation = √(net margin / 90th-pctile county margin), floored
Noted (14)
  • Landslide1.9
    COLEMAN
    CHARLES PERRY won by +76.1pp vs statewide +39.4pp
  • Landslide1.7
    RUNNELS
    CHARLES PERRY won by +72.5pp vs statewide +39.4pp
  • Swing outlier1.6
    HALE
    CHARLES PERRY shifted -1.4pp early→E-day vs +4.6pp statewide (2.7σ outlier)
  • Landslide1.5
    WHEELER
    CHARLES PERRY won by +79.7pp vs statewide +39.4pp
  • Landslide1.4
    MILLS
    CHARLES PERRY won by +73.4pp vs statewide +39.4pp
  • Landslide1.4
    SAN SABA
    CHARLES PERRY won by +72.8pp vs statewide +39.4pp
  • Landslide1.2
    DONLEY
    CHARLES PERRY won by +76.4pp vs statewide +39.4pp
  • Landslide1.2
    CHILDRESS
    CHARLES PERRY won by +70.4pp vs statewide +39.4pp
  • Landslide1.0
    BAYLOR
    CHARLES PERRY won by +70.9pp vs statewide +39.4pp
  • Landslide1.0
    MOTLEY
    CHARLES PERRY won by +86.6pp vs statewide +39.4pp
  • Landslide0.9
    COLLINGSWORTH
    CHARLES PERRY won by +72.3pp vs statewide +39.4pp
  • Landslide0.9
    THROCKMORTON
    CHARLES PERRY won by +77.7pp vs statewide +39.4pp
  • Landslide0.6
    KENT
    CHARLES PERRY won by +73.9pp vs statewide +39.4pp
  • Landslide0.5
    KING
    CHARLES PERRY won by +84.6pp vs statewide +39.4pp

County results — early vs Election Day

  • BAYLOR1,181 total
    PERRYEarly 716 · E-day 2931,009
    RODRIQUEZEarly 115 · E-day 57172
  • CHILDRESS1,683 total
    PERRYEarly 355 · E-day 1,0791,434
    RODRIQUEZEarly 70 · E-day 179249
  • COLEMAN3,200 total
    PERRYEarly 2,176 · E-day 6422,818
    RODRIQUEZEarly 334 · E-day 48382
  • COLLINGSWORTH925 total
    PERRYEarly 521 · E-day 276797
    RODRIQUEZEarly 84 · E-day 44128
  • CONCHO1,001 total
    PERRYEarly 448 · E-day 392840
    RODRIQUEZEarly 99 · E-day 62161
  • COTTLE526 total
    PERRYEarly 319 · E-day 117436
    RODRIQUEZEarly 61 · E-day 2990
  • CROSBY1,481 total
    PERRYEarly 542 · E-day 4651,007
    RODRIQUEZEarly 297 · E-day 177474
  • DICKENS739 total
    PERRYEarly 361 · E-day 260621
    RODRIQUEZEarly 74 · E-day 44118
  • DONLEY1,254 total
    PERRYEarly 785 · E-day 3211,106
    RODRIQUEZEarly 101 · E-day 47148
  • FISHER1,395 total
    PERRYEarly 681 · E-day 4181,099
    RODRIQUEZEarly 212 · E-day 84296
  • FLOYD1,631 total
    PERRYEarly 873 · E-day 3451,218
    RODRIQUEZEarly 298 · E-day 115413
  • FOARD401 total
    PERRYEarly 214 · E-day 105319
    RODRIQUEZEarly 62 · E-day 2082
  • GARZA1,102 total
    PERRYEarly 575 · E-day 325900
    RODRIQUEZEarly 129 · E-day 73202
  • GRAY5,449 total
    PERRYEarly 3,194 · E-day 1,3384,532
    RODRIQUEZEarly 661 · E-day 256917
  • HALE7,478 total
    PERRYEarly 3,747 · E-day 1,3695,116
    RODRIQUEZEarly 1,700 · E-day 6622,362
  • HARDEMAN949 total
    PERRYEarly 447 · E-day 350797
    RODRIQUEZEarly 102 · E-day 50152
  • HASKELL1,582 total
    PERRYEarly 803 · E-day 5141,317
    RODRIQUEZEarly 187 · E-day 78265
  • HOCKLEY6,337 total
    PERRYEarly 3,433 · E-day 1,4174,850
    RODRIQUEZEarly 1,081 · E-day 4061,487
  • JONES5,180 total
    PERRYEarly 2,123 · E-day 2,1284,251
    RODRIQUEZEarly 546 · E-day 383929
  • KENT360 total
    PERRYEarly 180 · E-day 133313
    RODRIQUEZEarly 42 · E-day 547
  • KING117 total
    PERRYEarly 79 · E-day 29108
    RODRIQUEZEarly 6 · E-day 39
  • KNOX990 total
    PERRYEarly 267 · E-day 506773
    RODRIQUEZEarly 85 · E-day 132217
  • LAMB3,245 total
    PERRYEarly 1,212 · E-day 1,2612,473
    RODRIQUEZEarly 440 · E-day 332772
  • LUBBOCK101,702 total
    PERRYEarly 50,988 · E-day 12,86563,853
    RODRIQUEZEarly 31,065 · E-day 6,78437,849
  • LYNN2,094 total
    PERRYEarly 830 · E-day 8771,707
    RODRIQUEZEarly 220 · E-day 167387
  • MASON2,109 total
    PERRYEarly 1,276 · E-day 4291,705
    RODRIQUEZEarly 341 · E-day 63404
  • MCCULLOCH2,649 total
    PERRYEarly 1,509 · E-day 7012,210
    RODRIQUEZEarly 304 · E-day 135439
  • MENARD779 total
    PERRYEarly 465 · E-day 149614
    RODRIQUEZEarly 124 · E-day 41165
  • MILLS2,111 total
    PERRYEarly 1,294 · E-day 5361,830
    RODRIQUEZEarly 213 · E-day 68281
  • MOTLEY509 total
    PERRYEarly 291 · E-day 184475
    RODRIQUEZEarly 22 · E-day 1234
  • NOLAN3,660 total
    PERRYEarly 1,565 · E-day 1,1892,754
    RODRIQUEZEarly 586 · E-day 320906
  • RUNNELS3,146 total
    PERRYEarly 1,643 · E-day 1,0702,713
    RODRIQUEZEarly 276 · E-day 157433
  • SAN SABA2,155 total
    PERRYEarly 1,249 · E-day 6131,862
    RODRIQUEZEarly 199 · E-day 94293
  • STONEWALL498 total
    PERRYEarly 239 · E-day 173412
    RODRIQUEZEarly 59 · E-day 2786
  • TAYLOR42,210 total
    PERRYEarly 21,593 · E-day 7,89729,490
    RODRIQUEZEarly 10,198 · E-day 2,52212,720
  • TERRY2,549 total
    PERRYEarly 1,373 · E-day 5521,925
    RODRIQUEZEarly 415 · E-day 209624
  • THROCKMORTON629 total
    PERRYEarly 282 · E-day 277559
    RODRIQUEZEarly 34 · E-day 3670
  • TOM GREEN35,709 total
    PERRYEarly 17,777 · E-day 6,37124,148
    RODRIQUEZEarly 9,094 · E-day 2,46711,561
  • WHEELER1,678 total
    PERRYEarly 1,050 · E-day 4581,508
    RODRIQUEZEarly 118 · E-day 52170
  • WICHITA21,375 total
    PERRYEarly 11,227 · E-day 3,54314,770
    RODRIQUEZEarly 5,312 · E-day 1,2936,605
  • WILBARGER3,353 total
    PERRYEarly 1,919 · E-day 6022,521
    RODRIQUEZEarly 603 · E-day 229832