County · Michigan
Oakland County, Michigan: drinking water records
Explore EPA records for 109 community water systems across 68 ZIP codes in Oakland County, then find water-testing resources and available recent monitoring-station readings.
Data as of EPA UCMR 5 final release, August 2026 (file dated Aug 28, 2026) · EPA SDWIS 2026Q2 (file dated Jul 9, 2026). How we build these pages
Drinking-water records
EPA survey and compliance records are historical reports. UCMR 5 results are available for 39 of the 109 listed systems in this snapshot. A system with no reported PFAS detection is not a test of every tap or every contaminant.
System population figures are summed from EPA registry records and can overlap where wholesalers and retail systems serve the same people. They are not a Census county-population estimate.
Water systems in this county
All 109 active community systems in the available county records, sorted by record completeness. Scroll the table to explore more systems.
| Water system | People served | PFAS survey results | PFAS found | Health-based violations | Lead, 9 in 10 homes at or below |
|---|---|---|---|---|---|
| Waterford Township MI0006910 | 73,441 | 720 | 1 | 1 | 1 ppbbelow the action level |
| Ferndale MI0002280 | 22,105 | 120 | 0 | 1 | 9 ppbbelow the action level |
| Birmingham MI0000730 | 20,472 | 120 | 1 | 2 | 3.1 ppbbelow the action level |
| Holly, Village of MI0003200 | 8,557 | 60 | 0 | 1 | 4 ppbbelow the action level |
| Troy MI0006690 | 85,854 | 240 | 0 | 0 | 0 ppbbelow the action level |
| Rochester Hills MI0000325 | 74,000 | 120 | 0 | 0 | 1.3 ppbbelow the action level |
| Southfield MI0006160 | 71,739 | 120 | 0 | 0 | 0 ppbbelow the action level |
| Pontiac MI0005440 | 63,776 | 120 | 1 | 0 | 1.6 ppbbelow the action level |
| Royal Oak, City of MI0005830 | 57,236 | 120 | 0 | 0 | 4 ppbbelow the action level |
| Farmington Hills, City of MI0002240 | 56,984 | 120 | 0 | 0 | 0 ppbbelow the action level |
| Novi, City of MI0004870 | 56,780 | 240 | 0 | 0 | 0 ppbbelow the action level |
| West Bloomfield Township MI0006975 | 49,479 | 120 | 0 | 0 | 0 ppbbelow the action level |
| Bloomfield Township MI0000790 | 41,691 | 120 | 0 | 0 | 0 ppbbelow the action level |
| Orion Township MI0005035 | 33,000 | 120 | 0 | 0 | 0 ppbbelow the action level |
| Madison Heights MI0004000 | 29,694 | 120 | 0 | 0 | 7.4 ppbbelow the action level |
| Oak Park MI0004880 | 29,654 | 120 | 1 | 0 | 0 ppbbelow the action level |
| Auburn Hills MI0005450 | 21,412 | 120 | 1 | 0 | 0 ppbbelow the action level |
| Commerce Township MI0001573 | 19,811 | 120 | 0 | 0 | 0 ppbbelow the action level |
| Hazel Park MI0003100 | 16,400 | 120 | 0 | 0 | 7 ppbbelow the action level |
| Berkley MI0000630 | 14,970 | 120 | 0 | 0 | 6.7 ppbbelow the action level |
| Wixom, City of MI0007135 | 13,928 | 120 | 0 | 0 | 0 ppbbelow the action level |
| Clawson MI0001440 | 11,825 | 120 | 0 | 0 | 6.2 ppbbelow the action level |
| Independence Township MI0003342 | 11,790 | 360 | 8 | 0 | 2 ppbbelow the action level |
| Farmington, City of MI0002230 | 11,597 | 120 | 0 | 0 | 0 ppbbelow the action level |
| South Lyon, City of MI0006110 | 11,055 | 60 | 1 | 0 | 0 ppbbelow the action level |
| Beverly Hills MI0000690 | 10,451 | 120 | 0 | 0 | 0 ppbbelow the action level |
| Oxford Township MI0005138 | 10,407 | 120 | 0 | 0 | 1.5 ppbbelow the action level |
| Lyon Township MI0003968 | 9,390 | 120 | 0 | 0 | 2 ppbbelow the action level |
| Rochester MI0005720 | 7,130 | 60 | 0 | 0 | 1.7 ppbbelow the action level |
| White Lake Township MI0007065 | 6,619 | 300 | 1 | 0 | 3 ppbbelow the action level |
| Milford, Village of MI0004390 | 6,366 | 60 | 0 | 0 | 4 ppbbelow the action level |
| Huntington Woods MI0003310 | 6,200 | 120 | 0 | 0 | 0 ppbbelow the action level |
| Walled Lake, City of MI0006875 | 5,260 | 120 | 0 | 0 | 0 ppbbelow the action level |
| Rochester East MI0005723 | 5,100 | 120 | 0 | 0 | 0 ppbbelow the action level |
| Southwest Oakland Township MI0004878 | 4,943 | 180 | 0 | 0 | 0 ppbbelow the action level |
| Lathrup Village MI0003800 | 4,075 | 120 | 0 | 0 | 0 ppbbelow the action level |
| Highland Township MI0003312 | 3,837 | 180 | 0 | 0 | 0 ppbbelow the action level |
| Bloomfield Hills MI0000775 | 3,579 | 120 | 0 | 0 | 0 ppbbelow the action level |
| Oxford, Village of MI0005130 | 3,540 | 60 | 0 | 0 | 0 ppbbelow the action level |
| Springrove MHC MI0040397 | 1,060 | 0 | 0 | 1 | 3 ppbbelow the action level |
| Groveland Manor MI0040384 | 435 | 0 | 0 | 1 | 9 ppbbelow the action level |
| College Heights Mobile Home Park MI0040379 | 405 | 0 | 0 | 1 | 0 ppbbelow the action level |
| West Hickory Haven MI0067020 | 100 | 0 | 0 | 2 | 0 ppbbelow the action level |
| Villa at Green Lake Estates MI0060792 | 85 | 0 | 0 | 2 | 29 ppbat or above the action level |
| Pinecrest Apartments MI0005345 | 57 | 0 | 0 | 1 | 4 ppbbelow the action level |
| Lakeview Chalet Condominiums MI0005445 | 50 | 0 | 0 | 2 | 0 ppbbelow the action level |
| Heritage Apartments MI0003117 | 30 | 0 | 0 | 1 | 2 ppbbelow the action level |
| Lakeside Apartments MI0001669 | 30 | 0 | 0 | 1 | 1 ppbbelow the action level |
| Beach House Apartments MI0000501 | 25 | 0 | 0 | 1 | 4 ppbbelow the action level |
| Springs/Portsmouth Apartments MI0003749 | 3,200 | 0 | 0 | 0 | 4 ppbbelow the action level |
| Lake Orion, Village of MI0003740 | 2,973 | 0 | 0 | 0 | 0 ppbbelow the action level |
| Pleasant Ridge MI0005390 | 2,872 | 0 | 0 | 0 | 7.9 ppbbelow the action level |
| Keego Harbor, City of MI0003595 | 2,740 | 0 | 0 | 0 | 0 ppbbelow the action level |
| Highland Greens Estates MI0040387 | 2,268 | 0 | 0 | 0 | 0 ppbbelow the action level |
| Orchard Lake Village MI0005031 | 2,194 | 0 | 0 | 0 | 1.7 ppbbelow the action level |
| Sylvan Lake MI0006530 | 2,155 | 0 | 0 | 0 | 0 ppbbelow the action level |
| Southeast Oakland Township MI0004877 | 1,923 | 0 | 0 | 0 | 0 ppbbelow the action level |
| Royal Oak Township MI0005840 | 1,869 | 0 | 0 | 0 | 1.5 ppbbelow the action level |
| Deerwood Subdivision MI0001773 | 1,824 | 0 | 0 | 0 | 2 ppbbelow the action level |
| Cedarbrook Estates MI0040375 | 1,728 | 0 | 0 | 0 | 0 ppbbelow the action level |
| Childs Lake Estates MHC MI0040376 | 1,548 | 0 | 0 | 0 | 6 ppbbelow the action level |
| Sashabaw Meadows MHP MI0040575 | 1,278 | 0 | 0 | 0 | 0 ppbbelow the action level |
| Oak Hill Estates MHC MI0040391 | 1,260 | 0 | 0 | 0 | 3 ppbbelow the action level |
| Clarkston Lake Estates MI0040377 | 1,245 | 0 | 0 | 0 | 8 ppbbelow the action level |
| Wynstone Subdivision MI0007217 | 1,146 | 0 | 0 | 0 | 0 ppbbelow the action level |
| Orion Lake Estates MHC MI0040399 | 1,058 | 0 | 0 | 0 | 0 ppbbelow the action level |
| Bingham Farms MI0000715 | 898 | 0 | 0 | 0 | 0 ppbbelow the action level |
| Cass Lakeside Subdivision MI0001230 | 700 | 0 | 0 | 1 | not reported |
| Hidden Lake Estates MI0040386 | 673 | 0 | 0 | 0 | 5 ppbbelow the action level |
| Oakland Hunt Subdivision MI0005573 | 671 | 0 | 0 | 0 | 0 ppbbelow the action level |
| Laguna Vista Subdivision MI0003690 | 640 | 0 | 0 | 0 | 1.6 ppbbelow the action level |
| Twin Lakes Subdivision MI0006696 | 602 | 0 | 0 | 0 | 0 ppbbelow the action level |
| Ridge Valley of Milford MI0000838 | 512 | 0 | 0 | 0 | 1 ppbbelow the action level |
| Briarcliff Homeowners Assn MI0002450 | 483 | 0 | 0 | 0 | 3 ppbbelow the action level |
| Fsi Holly Hills Property LLC MI0040665 | 435 | 0 | 0 | 1 | not reported |
| Bavarian Softwater Village MI0006077 | 420 | 0 | 0 | 0 | 0 ppbbelow the action level |
| Penny Lake Estates Subdivision MI0005235 | 390 | 0 | 0 | 0 | 0.5 ppbbelow the action level |
| Franklin Knolls Subdivision MI0002440 | 383 | 0 | 0 | 1 | not reported |
| Woodbine Subdivision MI0007160 | 375 | 0 | 0 | 0 | 5 ppbbelow the action level |
| Hillview Estates Subdivision MI0003175 | 354 | 0 | 0 | 0 | 1 ppbbelow the action level |
| Long Lake Village Subdivision MI0003947 | 273 | 0 | 0 | 0 | 1 ppbbelow the action level |
| Highland Hills of Highland MHC MI0040388 | 260 | 0 | 0 | 0 | 3 ppbbelow the action level |
| Shorewood Hills Subdivision MI0006070 | 256 | 0 | 0 | 0 | 16 ppbat or above the action level |
| Old Farm Colony Water Association MI0004960 | 246 | 0 | 0 | 0 | 0 ppbbelow the action level |
| Knorrwood Knolls Subdivision MI0003666 | 240 | 0 | 0 | 0 | 2.7 ppbbelow the action level |
| White Eagle Subdivision MI0007061 | 224 | 0 | 0 | 0 | 0 ppbbelow the action level |
| Crossroads for Youth MI0001067 | 120 | 0 | 0 | 0 | 8.0 ppbbelow the action level |
| Oxford Village Condominiums MI0005136 | 80 | 0 | 0 | 2 | not reported |
| Manitou Lake Apartments MI0004042 | 75 | 0 | 0 | 0 | 0 ppbbelow the action level |
| Rose Hill Center MI0005816 | 70 | 0 | 0 | 5 | not reported |
| Colombiere Center MI0001572 | 60 | 0 | 0 | 0 | 0 ppbbelow the action level |
| Parkway Efficiency Apartments MI0000803 | 39 | 0 | 0 | 1 | not reported |
| Lake Angela Condo Apts #3 MI0003691 | 24 | 0 | 0 | 0 | 5 ppbbelow the action level |
| Lake Angela Condo Apts #4 MI0003694 | 24 | 0 | 0 | 0 | 3 ppbbelow the action level |
| Lake Angela Condo Apts #5 MI0003693 | 24 | 0 | 0 | 0 | 3 ppbbelow the action level |
| Lake Angela Condo Apts #6 MI0003696 | 24 | 0 | 0 | 0 | 3 ppbbelow the action level |
| Meadow Lake Estates MHC MI0040612 | 1,060 | 0 | 0 | 0 | not reported |
| Ridgewood Mobile Home Park INC MI0040671 | 1,030 | 0 | 0 | 0 | not reported |
| Woodlands MHC MI0040404 | 650 | 0 | 0 | 0 | not reported |
| Greens Lake Apartments MI0002847 | 330 | 0 | 0 | 0 | not reported |
| Sunnydale Gardens Water Association MI0006480 | 190 | 0 | 0 | 0 | not reported |
| Plum Creek Sub MI0005397 | 105 | 0 | 0 | 0 | not reported |
| Lakeshore Hilltop Apartments MI0003753 | 93 | 0 | 0 | 0 | not reported |
| Adventure Acres MI0001352 | 75 | 0 | 0 | 0 | not reported |
| Kingston Apartments MI0006243 | 50 | 0 | 0 | 0 | not reported |
| Lakeview Apartments MI0006443 | 50 | 0 | 0 | 0 | not reported |
| Highland Haven/Woodside Apts MI0003138 | 40 | 0 | 0 | 0 | not reported |
| Highland Meadowview Apartments MI0003139 | 40 | 0 | 0 | 0 | not reported |
| Southeastern Oakland Co W Auth MI0006150 | 0 | 0 | 0 | 0 | not reported |
Shaded rows report lead at or above the 15 ppb action level in their latest monitoring period. EPA sets that level for the value 9 in 10 sampled homes fall at or below; reaching it requires the utility to act, and it is not a measurement of any single tap. 2 systems in this table are at or above it. What an action level means
USGS · Monitoring stations
The water, more recently.
Available station readings in Oakland County, Michigan. Each measurement keeps its time, unit and original source.
These readings describe water at a monitoring station. They do not test your tap, measure PFAS or lead, or determine whether water is safe to drink or swim in.
Recent observations load when this section comes into view.
How these readings update
We check for updates every 10 minutes while this section is visible and show supported observations from the last 48 hours. The time beside a reading is when USGS measured it; the checked time is when our service retrieved the response. We mark a reading more than 6 hours old as older. Provisional observations can change after USGS review. A missing reading does not mean zero or clean water.
Temperature, pH, dissolved oxygen, turbidity, conductivity, streamflow and water level are shown only where a station reports them. Different measurements have different units and sampling intervals. USGS data and documentation.
Your next step
Water testing, reports & local help.
Use these official directories to find your drinking-water agency, a certified laboratory and public water records. We have not yet added an individually reviewed local resource list for this county.
Official national directories
Water testing
Find your state’s private-well program
EPA’s state directory points well owners to local program information. Services and eligibility vary by state and county.
Water testing
Find a certified drinking-water laboratory
Use EPA’s directory to reach your state’s laboratory certification program. EPA does not provide on-request testing of residential drinking water.
Public records
Find your utility’s Consumer Confidence Report
EPA links to community water-system reports and explains how to read them. Look for your actual supplier rather than assuming every address in a county shares one system.
Public records
Explore USGS water observations
Find current and historical observations from USGS monitoring locations, including available stream, lake, and groundwater data. Measurements vary by station and do not replace a test of your household water.
A county overview cannot identify every property’s water provider. If you use a public water system, confirm its name on your bill and request its annual Consumer Confidence Report. Private wells need their own testing; public-system records do not describe a private well.
Understand water testing and laboratory reportsResource descriptions are compiled by Tap Water Lookup. Review dates describe our source check, not a new water sample. How we review sources · Suggest a correction
Explore your area
Local coverage in Oakland County
68ZIP areas in this overview
Explore the water-system records, recent station readings and testing resources on this county page. They describe the systems and stations identified in each section; they are not a separate water test for every community.
Towns and communities
- Auburn Hills
- Berkley
- Beverly Hills
- Birmingham
- Bloomfield Hills
- Clawson
- Farmington Hills
- Ferndale
- Hazel Park
- Holly
- Huntington Woods
- Lake Angelus
- Lake Orion
- Leonard
- Madison Heights
- Milford
- Novi
- Oak Park
- Orchard Lake Village
- Ortonville
- Oxford
- Pleasant Ridge
- Pontiac
- Rochester Hills
- Royal Oak
- South Lyon
- Southfield
- Sylvan Lake
- Troy
- Village of Clarkston
- Walled Lake
- Wixom
View ZIP areas and understand coverage
- 48009Birmingham
- 48017Clawson
- 48025Beverly Hills
- 48030Hazel Park
- 48033Southfield
- 48034Southfield
- 48067Royal Oak
- 48069Pleasant Ridge
- 48070Huntington Woods
- 48071Madison Heights
- 48072Berkley
- 48073Royal Oak
- 48075Southfield
- 48076Southfield
- 48083Troy
- 48084Troy
- 48085Troy
- 48098Troy
- 48165
- 48167Novi
- 48178South Lyon
- 48220Ferndale
- 48237Oak Park
- 48301
- 48302Pontiac
- 48304Bloomfield Hills
- 48306Rochester Hills
- 48307Rochester Hills
- 48309Rochester Hills
- 48320Sylvan Lake
- 48322Farmington Hills
- 48323Orchard Lake Village
- 48324Orchard Lake Village
- 48326Auburn Hills
- 48327
- 48328
- 48329Lake Angelus
- 48331Farmington Hills
- 48334Farmington Hills
- 48335Farmington Hills
- 48336Farmington Hills
- 48340Pontiac
- 48341Pontiac
- 48342Pontiac
- 48346Village of Clarkston
- 48348
- 48350
- 48356
- 48357
- 48359Auburn Hills
- 48360
- 48362Lake Orion
- 48363
- 48367Leonard
- 48370
- 48371Oxford
- 48374Novi
- 48375Novi
- 48377Novi
- 48380
- 48381Milford
- 48382
- 48383
- 48386
- 48390Walled Lake
- 48393Wixom
- 48442Holly
- 48462Ortonville
These Census ZIP Code Tabulation Areas are grouped here by their largest county overlap. A ZIP area can cross county lines and contain several water suppliers or private wells. Place labels reflect Census geography, not verified postal city names or utility service boundaries.
Records for these areas are currently presented in this county overview rather than individual ZIP reports. An unpublished report does not mean there are no water records. Confirm your supplier on your water bill; if you use a private well, testing your own well is the relevant next step.
Sources and scope
EPA UCMR 5 occurrence data, samples collected 2023-01-03 – 2026-06-17, final release, August 2026 (file dated Aug 28, 2026); EPA SDWIS via ECHO, 2026Q2 extract (file dated Jul 9, 2026); EPA service-area boundaries v3.0; Census 2020 ZCTAs. Database prepared 2026-09-03.
Counts cover the systems that report this county to EPA. A water system may cross county lines. "Found" means at least one result at or above the laboratory reporting level; it is not a compliance finding.
Compiled by Tap Water Lookup from the sources identified on this page. Read the methodology and review process.
