Virginia's 9th congressional district (VA-09)
Virginia's 9th congressional district (VA-09) covers parts or all of 28 counties, including Bland County, Bristol city, Buchanan County, Carroll County, Craig County and Dickenson County, and 189 ZIP codes (164 wholly inside it). Its 2020 population was 786,392. This is the map in force for the November 3, 2026 election.
Who represents VA-09
| Office | Member | Contact |
|---|---|---|
| U.S. Representative (VA-09) | H. Morgan Griffith (R) | 202-225-3861 |
| U.S. Senator | Mark R. Warner (D) | 202-224-2023 · contact form |
| U.S. Senator | Tim 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
| County | Share of the county's residents in VA-09 |
|---|---|
| Bland County | 100% |
| Bristol city | 100% |
| Buchanan County | 100% |
| Carroll County | 100% |
| Craig County | 100% |
| Dickenson County | 100% |
| Floyd County | 100% |
| Franklin County | 100% |
| Galax city | 100% |
| Giles County | 100% |
| Grayson County | 100% |
| Henry County | 100% |
| Lee County | 100% |
| Martinsville city | 100% |
| Montgomery County | 100% |
| Norton city | 100% |
| Patrick County | 100% |
| Pulaski County | 100% |
| Radford city | 100% |
| Russell County | 100% |
| Scott County | 100% |
| Smyth County | 100% |
| Tazewell County | 100% |
| Washington County | 100% |
| Wise County | 100% |
| Wythe County | 100% |
| Bedford County | 65% |
| Roanoke County | 42% |
ZIP codes
Percentages mark ZIPs only partly in VA-09: the share of that ZIP's residents inside it.
- 24015 (3.1%)
- 24018 (89%)
- 24053
- 24054 (70%)
- 24055
- 24058
- 24059
- 24060
- 24061
- 24064 (29%)
- 24065 (83%)
- 24067
- 24070 (26%)
- 24072
- 24073
- 24076
- 24078
- 24079
- 24082
- 24084
- 24086
- 24087
- 24088
- 24089
- 24091
- 24092
- 24093
- 24095
- 24101 (99%)
- 24102
- 24104
- 24105
- 24112
- 24120
- 24121
- 24122
- 24124
- 24127
- 24128
- 24129
- 24131
- 24132
- 24133
- 24134
- 24136
- 24137 (82%)
- 24138
- 24139 (9.6%)
- 24141
- 24142
- 24147
- 24148
- 24149
- 24150
- 24151
- 24153 (11%)
- 24162
- 24165
- 24167
- 24168
- 24171
- 24174
- 24176
- 24179 (29%)
- 24184
- 24185
- 24201
- 24202
- 24210
- 24211
- 24216
- 24217
- 24219
- 24220
- 24221
- 24224
- 24225
- 24226
- 24228
- 24230
- 24236
- 24237
- 24239
- 24243
- 24244
- 24245
- 24246
- 24248
- 24250
- 24251
- 24256
- 24258
- 24260
- 24263
- 24265
- 24266
- 24269
- 24270
- 24271
- 24272
- 24273
- 24277
- 24279
- 24280
- 24281
- 24282
- 24283
- 24290
- 24292
- 24293
- 24301
- 24311
- 24312
- 24313
- 24314
- 24315
- 24316
- 24317
- 24318
- 24319
- 24322
- 24323
- 24324
- 24325
- 24326
- 24327
- 24328
- 24330
- 24333
- 24340
- 24343
- 24347
- 24348
- 24350
- 24351
- 24352
- 24354
- 24360
- 24361
- 24363
- 24366
- 24368
- 24370
- 24374
- 24375
- 24377
- 24378
- 24380
- 24381
- 24382
- 24426 (<0.1%)
- 24523
- 24526 (98%)
- 24530 (1.5%)
- 24536 (62%)
- 24550 (3.1%)
- 24551 (5.5%)
- 24556 (70%)
- 24570
- 24571 (23%)
- 24601
- 24602
- 24603
- 24604 (87%)
- 24605
- 24606
- 24607
- 24609
- 24612
- 24613
- 24614
- 24620
- 24622 (80%)
- 24630
- 24631
- 24634
- 24635
- 24637
- 24639
- 24641
- 24646
- 24649
- 24651
- 24656
- 24657
- 27048 (0.2%)
- 28675 (0.1%)
- 37642 (0.3%)
- 37752 (0.1%)
Towns
Atkins district, Black Lick district, Blackberry district, Blackwater district, Blue Ridge district, Blue Ridge district, Boone district, Bristol city, Burks Fork district, Castlewood district, Central district, Chilhowie district, Clintwood district, Cloyd district, Collinsville district, Court House district, Craig City district, Craig Creek district, Dan River 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 4, District 4, District 4, District 4, District 5, District 5 and District 6 and others.
Get this in your AI agent
Your agent can draw every precinct in VA-09, 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:5109", children_level="precinct", include_districts=True)