Boundary Atlas

Virginia's 1st congressional district (VA-01)

Virginia's 1st congressional district (VA-01) covers parts or all of 18 counties, including Essex County, Gloucester County, James City County, King William County, King and Queen County and Lancaster County, and 113 ZIP codes (85 wholly inside it). Its 2020 population was 784,256. This is the map in force for the November 3, 2026 election.

784,256residents (2020 Census)
18counties
113ZIP codes
240voting precincts

Who represents VA-01

OfficeMemberContact
U.S. Representative (VA-01)Robert J. Wittman (R)202-225-4261
U.S. SenatorMark R. Warner (D)202-224-2023 · contact form
U.S. SenatorTim Kaine (D)202-224-4024 · contact form

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 VA-01
Essex County100%
Gloucester County100%
James City County100%
King William County100%
King and Queen County100%
Lancaster County100%
Mathews County100%
Middlesex County100%
New Kent County100%
Northumberland County100%
Poquoson city100%
Richmond County100%
Westmoreland County100%
Williamsburg city100%
York County100%
Hanover County85%
Henrico County55%
Chesterfield County45%

ZIP codes

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

Towns

Abingdon district, Acquinton district, Ashland district, Berkeley district, Buena Vista district, Central district, Chesapeake district, Chickahominy district, Cold Harbor district, Cople district, District 1, District 1, District 1, District 1, District 1, District 2, District 2, District 2, District 2, District 2, District 3, District 3, District 3, District 3, District 3, District 4, District 4, District 4, District 4, District 4, District 5, District 5, District 5, District 5, District 5, Gloucester Point district, Henry district, Jamaica district, Jamestown district and Mangohick district and others.

Get this in your AI agent

Your agent can draw every precinct in VA-01, 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:5101", children_level="precinct", include_districts=True)