Boundary Atlas

Ohio's 9th congressional district (OH-09)

Ohio's 9th congressional district (OH-09) covers parts or all of 10 counties, including Defiance County, Erie County, Fulton County, Henry County, Lucas County and Ottawa County, and 128 ZIP codes (96 wholly inside it). Its 2020 population was 786,630. This is the map in force for the November 3, 2026 election.

786,630residents (2020 Census)
10counties
128ZIP codes
567voting precincts

Who represents OH-09

OfficeMemberContact
U.S. Representative (OH-09)Marcy Kaptur (D)202-225-4146
U.S. SenatorBernie Moreno (R)202-224-2315
U.S. SenatorJon Husted (R)202-224-3353

Elected in 2024 under OH'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 OH-09
Defiance County100%
Erie County100%
Fulton County100%
Henry County100%
Lucas County100%
Ottawa County100%
Paulding County100%
Putnam County100%
Williams County100%
Wood County31%

ZIP codes

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

Towns

Adams township, Allen township, Amboy township, Auglaize township, Bartlow township, Bay township, Bellevue city, Benton township, Benton township, Berlin township, Blanchard township, Blue Creek township, Brady township, Bridgewater township, Brown township, Bryan city, Carroll township, Carryall township, Catawba Island township, Center township, Chesterfield township, Clay township, Clinton township, Crane township, Damascus township, Danbury township, Defiance township, Delaware township, Dover township, Emerald township, Erie township, Farmer township, Flatrock township, Florence township, Florence township, Franklin township, Freedom township, Fulton township, German township and Gorham township and others.

Get this in your AI agent

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