Boundary Atlas

ZIP code 49128: Three Oaks, MI

ZIP code 49128 is in Three Oaks (40% of residents) and Shorewood-Tower Hills-Harbert (1.8%), in Berrien County, Michigan. 58% of its residents live outside city limits. It is in Michigan's 5th congressional district. Its state senate district is State Senate District 17; its state house districts are State House District 37 (76%) and State House District 38 (24%).

3,448residents (2020 Census)
43.7 sq miland area
3cities and towns
1congressional district
4voting precincts

See it on the mapAll of Michigan

City and county

City or townShare of ZIP residents
Three Oaks40%
Shorewood-Tower Hills-Harbert1.8%
New Troy0.5%

CountyShare of ZIP residents
Berrien County100%

Town or county subdivisionShare of ZIP residents
Three Oaks township67%
Chikaming township24%
Weesaw township8.6%
Galien township0.8%

Congressional district

Congressional districtShare of ZIP residents
Michigan's 5th congressional district (MI-05)100%

Elected officials

OfficeMemberContactShare of residents
U.S. Representative (MI-05)Tim Walberg (R)202-225-6276100%
U.S. SenatorElissa Slotkin (D)202-224-4822statewide
U.S. SenatorGary C. Peters (D)202-224-6221 · contact formstatewide
State Senator (State Senate District 17)Jonathan Lindsey (R)100%
State Representative (State House District 37)Brad Paquette (R)76%
State Representative (State House District 38)Joey Andrews (Democratic)24%

Elected under MI's previous legislative map; the district's lines changed for 2026.

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

Local government

State legislative districts

State senate districtShare of ZIP residents
State Senate District 17100%

State house districtShare of ZIP residents
State House District 3776%
State House District 3824%

Voting precincts

4 voting precincts overlap ZIP 49128. Map them, with each precinct's share of the ZIP's residents.

Get this in your AI agent

Your agent can get these cities, counties, districts and precincts with their shares, and their GeoJSON boundaries, from Boundary Atlas. Add https://atlas-production-d344.up.railway.app/mcp to Claude, ChatGPT, Cursor or Codex (free, no key; how), then:

related_geographies(id="us:zcta:49128")

ZIP 49128 here is the Census Bureau's ZIP Code Tabulation Area, which approximates the USPS ZIP Code; PO-box-only ZIPs have none. Districts are the maps in force for the November 3, 2026 election.