Boundary Atlas

Texas's 31st congressional district (TX-31)

Texas's 31st congressional district (TX-31) covers parts or all of 7 counties, including Coryell County, Hamilton County, Lampasas County, Mills County, Bell County and Burnet County, and 66 ZIP codes (37 wholly inside it). Its 2020 population was 766,987. This is the map in force for the November 3, 2026 election.

766,987residents (2020 Census)
7counties
66ZIP codes
220voting precincts

Who represents TX-31

OfficeMemberContact
U.S. Representative (TX-31)John R. Carter (R)202-225-3864
U.S. SenatorJohn Cornyn (R)202-224-2934 · contact form
U.S. SenatorTed Cruz (R)202-224-5922 · contact form

Elected in 2024 under TX's previous congressional map; this district's lines changed for the 120th Congress (seated January 3, 2027).

Officials serving now (members of Congress until January 3, 2027). Sources: Members of Congress: the @unitedstates project, congress-legislators (CC0).

Counties

CountyShare of the county's residents in TX-31
Coryell County100%
Hamilton County100%
Lampasas County100%
Mills County100%
Bell County91%
Burnet County85%
Williamson County45%

ZIP codes

Percentages mark ZIPs only partly in TX-31: the share of that ZIP's residents inside it.

Towns

Adamsville CCD, Belton CCD, Bertram CCD, Briggs CCD, Copperas Cove CCD, Evant CCD, Flat CCD, Florence CCD, Fort Cavazos CCD, Fort Cavazos CCD, Gatesville CCD, Goldthwaite CCD, Granger CCD, Hamilton CCD, Hico CCD, Jarrell CCD, Killeen CCD, Lampasas CCD, Lometa CCD, Mullin-Priddy CCD, Northwest Bell CCD, Oglesby CCD, Purmela-Levita CCD, South Bell CCD, Southwest Bell CCD, Turnersville CCD, Burnet CCD, Marble Falls CCD, Temple CCD, Taylor CCD, Round Rock-Georgetown CCD, Rogers CCD and Cedar Park-Liberty Hill CCD.

Get this in your AI agent

Your agent can draw every precinct in TX-31, or list them with population shares (related_geographies). Add https://boundarymcp.com/mcp to Claude, ChatGPT, Cursor or Codex (free, no key; how), then:

get_boundaries(id="us:congressional_district:4831", children_level="precinct", include_districts=True)