Water Hardness in New York
Across 78 measured cities — with 522 more covered by labeled county-level estimates — New York's median tap water hardness is 48.5 mg/L (2.8 gpg): soft on the USGS scale. Below: every covered city, the state's hardest and softest water, and the geology that explains it.
Data updated September 13, 2026. Sources: utility-reported water quality data and USGS/EPA Water Quality Portal samples.
What it costs to soften New York water
Water softener cost in New York at 2.8 gpg prices the equipment and the installation labour against the plumber wages published for New York, and labels every range as modelled or measured rather than leaving you to guess which it is.
New York · 2.84 grains per gallon
$985–$1,321
installed, midpoint $1,134 — a 24,000-grain unit, the size 4 people at this hardness need.
Salt and drain water over 10 years: $477–$1,077 — the 3,109,800 grains of hardness this household removes, at the national salt price and water rate whose sources are named below. Filter changes and Service contract are omitted rather than assumed.
Sized for 4 people regenerating every 7 days: 5,964 grains of capacity needed, rounded up to the next common residential size. The median of 78 measured New York cities in our hardness dataset. Modelled: the standard build band published for that state at the size this hardness calls for, equipment priced 2026-10-04 against the May 2025 reference period (OEWS M2025). Salt: the median retailer price of 3 retailers, read 2026-10-04, at a declared salt dose per regeneration. Drain water: about 50 gallons per regeneration from a government extension estimate read 2026-10-04, at the 2024 national average water and sewer rate from a government source read 2026-10-04.
Deciding whether it is worth it at all? Start from how much a water softener costs nationally — the same equipment, installation and ten-year ownership breakdown before any state wage adjustment is applied.
New York Cities by Hardness Category
Measured cities only — labeled county estimates never enter the category counts or the median.
| Category | Range | Measured cities | Share |
|---|---|---|---|
| Soft | 0-60 mg/L | 44 | 56.4% |
| Moderately hard | 60-120 mg/L | 28 | 35.9% |
| Hard | 120-180 mg/L | 5 | 6.4% |
| Very hard | >180 mg/L | 1 | 1.3% |
Hardest and Softest Water in New York
Measured values only; labeled county estimates and values under active dispute never rank.
Hardest water in New York
- Schenectady — 190.0 mg/L (11.1 gpg), very hard
- Elmira — 136.0 mg/L (8.0 gpg), hard
- Elmira Heights — 136.0 mg/L (8.0 gpg), hard
- Ithaca — 128.0 mg/L (7.5 gpg), hard
- De Witt — 127.0 mg/L (7.4 gpg), hard
Softest water in New York
- Irvington — 6.1 mg/L (0.4 gpg), soft
- Harrison — 6.2 mg/L (0.4 gpg), soft
- Mamaroneck — 6.2 mg/L (0.4 gpg), soft
- Larchmont — 6.4 mg/L (0.4 gpg), soft
- Massapequa Park — 6.5 mg/L (0.4 gpg), soft
Every Covered City in New York
All 600 covered New York cities, sorted by population served. "County estimate" rows are labeled context values from USGS/EPA Water Quality Portal county sampling — they never enter the median above. City names link to each city's full water quality page.
| City | Hardness (mg/L) | gpg | Category | Data |
|---|---|---|---|---|
| New York | 30.4 | 1.8 | Soft | Utility-reported |
| Hauppauge | 37.9 | 2.2 | Soft | County estimate |
| Northport | 37.9 | 2.2 | Soft | County estimate |
| Brighton | 112.0 | 6.5 | Moderately hard | Utility-reported |
| Gates | 112.0 | 6.5 | Moderately hard | Utility-reported |
| Greece | 112.0 | 6.5 | Moderately hard | Utility-reported |
| Irondequoit | 112.0 | 6.5 | Moderately hard | Utility-reported |
| Spencerport | 112.0 | 6.5 | Moderately hard | Utility-reported |
| Camden | 100.5 | 5.9 | Moderately hard | County estimate |
| Hannibal | 176.0 | 10.3 | Hard | County estimate |
| Cheektowaga | 109.0 | 6.4 | Moderately hard | Utility-reported |
| Clarence | 109.0 | 6.4 | Moderately hard | Utility-reported |
| Depew | 109.0 | 6.4 | Moderately hard | Utility-reported |
| Lackawanna | 109.0 | 6.4 | Moderately hard | Utility-reported |
| Lancaster | 109.0 | 6.4 | Moderately hard | Utility-reported |
| Sloan | 109.0 | 6.4 | Moderately hard | Utility-reported |
| Buffalo | 86.5 | 5.1 | Moderately hard | Utility-reported |
| Monsey | 106.0 | 6.2 | Moderately hard | County estimate |
| Lynbrook | 29.0 | 1.7 | Soft | Utility-reported |
| Rochester | 87.8 | 5.1 | Moderately hard | Utility-reported |
| Yonkers | 34.8 | 2.0 | Soft | Utility-reported |
| Syracuse | 114.0 | 6.7 | Moderately hard | Utility-reported |
| Eastchester | 16.9 | 1.0 | Soft | Utility-reported |
| Tuckahoe | 16.9 | 1.0 | Soft | Utility-reported |
| Marcy | 100.5 | 5.9 | Moderately hard | County estimate |
| New Hartford | 100.5 | 5.9 | Moderately hard | County estimate |
| New York Mills | 100.5 | 5.9 | Moderately hard | County estimate |
| Utica | 100.5 | 5.9 | Moderately hard | County estimate |
| Whitesboro | 100.5 | 5.9 | Moderately hard | County estimate |
| Yorkville | 100.5 | 5.9 | Moderately hard | County estimate |
| Hempstead | 61.2 | 3.6 | Moderately hard | Computed from Ca+Mg |
| Albany | 48.5 | 2.8 | Soft | Utility-reported |
| Watervliet | 78.2 | 4.6 | Moderately hard | County estimate |
| Latham | 78.2 | 4.6 | Moderately hard | County estimate |
| Centerport | 37.9 | 2.2 | Soft | County estimate |
| Mount Vernon | 24.2 | 1.4 | Soft | Utility-reported |
| Tonawanda | 170.0 | 9.9 | Hard | County estimate |
| Endicott | 61.0 | 3.6 | Moderately hard | County estimate |
| Schenectady | 190.0 | 11.1 | Very hard | Utility-reported |
| Binghamton | 61.0 | 3.6 | Moderately hard | County estimate |
| Harrison | 6.2 | 0.4 | Soft | Utility-reported |
| Mamaroneck | 6.2 | 0.4 | Soft | Utility-reported |
| White Plains | 22.8 | 1.3 | Soft | Utility-reported |
| Rye Brook | 28.5 | 1.7 | Soft | Utility-reported |
| Niagara Falls | 167.0 | 9.8 | Hard | County estimate |
| Elmira | 136.0 | 8.0 | Hard | Utility-reported |
| Elmira Heights | 136.0 | 8.0 | Hard | Utility-reported |
| Troy | 58.7 | 3.4 | Soft | Utility-reported |
| North Tonawanda | 167.0 | 9.8 | Hard | County estimate |
| Hicksville | 17.7 | 1.0 | Soft | Computed from Ca+Mg |
| Conklin | 61.0 | 3.6 | Moderately hard | County estimate |
| Kirkwood | 61.0 | 3.6 | Moderately hard | County estimate |
| Garden City | 48.6 | 2.8 | Soft | Utility-reported |
| Freeport | 21.3 | 1.3 | Soft | Utility-reported |
| South Farmingdale | 10.1 | 0.6 | Soft | Utility-reported |
| Hyde Park | 83.8 | 4.9 | Moderately hard | County estimate |
| Massapequa Park | 6.5 | 0.4 | Soft | Utility-reported |
| Lockport | 167.0 | 9.8 | Hard | County estimate |
| Greenlawn | 31.2 | 1.8 | Soft | Utility-reported |
| Hamburg | 170.0 | 9.9 | Hard | County estimate |
| Greenburgh | 17.4 | 1.0 | Soft | Utility-reported |
| Crompond | 156.0 | 9.1 | Hard | County estimate |
| Shrub Oak | 156.0 | 9.1 | Hard | County estimate |
| Yorktown Heights | 156.0 | 9.1 | Hard | County estimate |
| Glens Falls | 18.2 | 1.1 | Soft | County estimate |
| Plattsburgh | 62.0 | 3.6 | Moderately hard | County estimate |
| Clifton Park | 123.0 | 7.2 | Hard | Utility-reported |
| Riverhead | 37.9 | 2.2 | Soft | County estimate |
| Dix Hills | 21.0 | 1.2 | Soft | Utility-reported |
| Fort Drum | 62.0 | 3.6 | Moderately hard | County estimate |
| Plainview | 54.2 | 3.2 | Soft | Utility-reported |
| Port Washington | 71.2 | 4.2 | Moderately hard | Utility-reported |
| Rome | 22.5 | 1.3 | Soft | Utility-reported |
| West Hempstead | 32.6 | 1.9 | Soft | Computed from Ca+Mg |
| Apalachin | 96.7 | 5.7 | Moderately hard | County estimate |
| Gloversville | 15.1 | 0.9 | Soft | County estimate |
| Great Neck | 53.5 | 3.1 | Soft | County estimate |
| Poughkeepsie | 87.9 | 5.1 | Moderately hard | Utility-reported |
| New Windsor | 26.2 | 1.5 | Soft | County estimate |
| Guilderland | 83.7 | 4.9 | Moderately hard | Utility-reported |
| Ossining | 103.0 | 6.0 | Moderately hard | Utility-reported |
| Ithaca | 128.0 | 7.5 | Hard | Utility-reported |
| Oswego | 176.0 | 10.3 | Hard | County estimate |
| Newburgh | 18.8 | 1.1 | Soft | Utility-reported |
| Walworth | 288.0 | 16.8 | Very hard | County estimate |
| Orchard Park | 170.0 | 9.9 | Hard | County estimate |
| Peekskill | 99.8 | 5.8 | Moderately hard | Utility-reported |
| Kingston | 19.1 | 1.1 | Soft | Utility-reported |
| Amsterdam | 277.0 | 16.2 | Very hard | County estimate |
| Macedon | 288.0 | 16.8 | Very hard | County estimate |
| Batavia | 238.0 | 13.9 | Very hard | County estimate |
| Hartsdale | 23.3 | 1.4 | Soft | Utility-reported |
| Scarsdale | 23.3 | 1.4 | Soft | Utility-reported |
| Canandaigua | 259.0 | 15.2 | Very hard | County estimate |
| Queensbury | 18.2 | 1.1 | Soft | County estimate |
| Mineola | 46.2 | 2.7 | Soft | Utility-reported |
| Westbury | 44.8 | 2.6 | Soft | Computed from Ca+Mg |
| Cortland | 157.5 | 9.2 | Hard | County estimate |
| Franklin Square | 21.2 | 1.2 | Soft | Utility-reported |
| Stewart Manor | 21.2 | 1.2 | Soft | Utility-reported |
| Smithtown | 45.9 | 2.7 | Soft | Utility-reported |
| Grand Island | 170.0 | 9.9 | Hard | County estimate |
| Beacon | 93.8 | 5.5 | Moderately hard | Utility-reported |
| Garden City Park | 86.6 | 5.1 | Moderately hard | Computed from Ca+Mg |
| Armonk | 156.0 | 9.1 | Hard | County estimate |
| South Glens Falls | 88.3 | 5.2 | Moderately hard | County estimate |
| Roslyn | 68.8 | 4.0 | Moderately hard | Computed from Ca+Mg |
| Cohoes | 78.2 | 4.6 | Moderately hard | County estimate |
| Massena | 37.6 | 2.2 | Soft | County estimate |
| Fulton | 176.0 | 10.3 | Hard | County estimate |
| Johnson City | 26.2 | 1.5 | Soft | County estimate |
| Cranberry Lake | 37.6 | 2.2 | Soft | County estimate |
| Ransomville | 167.0 | 9.8 | Hard | County estimate |
| De Witt | 127.0 | 7.4 | Hard | Utility-reported |
| Oneonta | 84.7 | 5.0 | Moderately hard | County estimate |
| Clay | 442.0 | 25.9 | Very hard | County estimate |
| Lansing | 169.5 | 9.9 | Hard | County estimate |
| Newfane | 167.0 | 9.8 | Hard | County estimate |
| East Greenbush | 104.0 | 6.1 | Moderately hard | County estimate |
| Ballston Spa | 88.3 | 5.2 | Moderately hard | County estimate |
| Horseheads | 128.0 | 7.5 | Hard | County estimate |
| Olean | 82.4 | 4.8 | Moderately hard | County estimate |
| Nyack | 106.0 | 6.2 | Moderately hard | County estimate |
| Fort Montgomery | 26.2 | 1.5 | Soft | County estimate |
| Malone | 15.9 | 0.9 | Soft | County estimate |
| Hampton Bays | 37.9 | 2.2 | Soft | County estimate |
| Suffern | 106.0 | 6.2 | Moderately hard | County estimate |
| Dunkirk | 143.5 | 8.4 | Hard | County estimate |
| Monroe | 26.2 | 1.5 | Soft | County estimate |
| Fishkill | 83.8 | 4.9 | Moderately hard | County estimate |
| Oneida | 21.4 | 1.3 | Soft | Utility-reported |
| Oneida Castle | 21.4 | 1.3 | Soft | Utility-reported |
| Woodbury | 53.5 | 3.1 | Soft | County estimate |
| Warwick | 26.2 | 1.5 | Soft | County estimate |
| Bedford Hills | 156.0 | 9.1 | Hard | County estimate |
| Tarrytown | 19.0 | 1.1 | Soft | Utility-reported |
| Victor | 259.0 | 15.2 | Very hard | County estimate |
| Geneseo | 235.0 | 13.7 | Very hard | County estimate |
| Fort Edward | 108.5 | 6.3 | Moderately hard | County estimate |
| Seneca Falls | 218.5 | 12.8 | Very hard | County estimate |
| Fredonia | 143.5 | 8.4 | Hard | County estimate |
| Corning | 110.0 | 6.4 | Moderately hard | County estimate |
| Elma | 170.0 | 9.9 | Hard | County estimate |
| Wynantskill | 104.0 | 6.1 | Moderately hard | County estimate |
| Ontario | 288.0 | 16.8 | Very hard | County estimate |
| Ogdensburg | 37.6 | 2.2 | Soft | County estimate |
| Lakeville | 235.0 | 13.7 | Very hard | County estimate |
| Sleepy Hollow | 22.1 | 1.3 | Soft | Utility-reported |
| Waterford | 88.3 | 5.2 | Moderately hard | County estimate |
| Mount Kisco | 54.6 | 3.2 | Soft | Utility-reported |
| Chappaqua | 156.0 | 9.1 | Hard | County estimate |
| Pleasantville | 31.6 | 1.9 | Soft | Utility-reported |
| Rensselaer | 104.0 | 6.1 | Moderately hard | County estimate |
| Burnt Hills | 88.3 | 5.2 | Moderately hard | County estimate |
| Baldwinsville | 442.0 | 25.9 | Very hard | County estimate |
| Briarcliff Manor | 30.2 | 1.8 | Soft | Utility-reported |
| Newark | 288.0 | 16.8 | Very hard | County estimate |
| Katonah | 156.0 | 9.1 | Hard | County estimate |
| Waterloo | 218.5 | 12.8 | Very hard | County estimate |
| Dansville | 235.0 | 13.7 | Very hard | County estimate |
| Farmingdale | 37.9 | 2.2 | Soft | County estimate |
| Hornell | 110.0 | 6.4 | Moderately hard | County estimate |
| Potsdam | 37.6 | 2.2 | Soft | County estimate |
| Big Flats | 128.0 | 7.5 | Hard | County estimate |
| Johnstown | 15.1 | 0.9 | Soft | County estimate |
| Ilion | 4.7 | 0.3 | Soft | County estimate |
| Croton-on-Hudson | 107.0 | 6.3 | Moderately hard | Utility-reported |
| Woodbourne | 11.6 | 0.7 | Soft | County estimate |
| Middleport | 167.0 | 9.8 | Hard | County estimate |
| Herkimer | 4.7 | 0.3 | Soft | County estimate |
| Chester | 26.2 | 1.5 | Soft | County estimate |
| Williston Park | 56.4 | 3.3 | Soft | Computed from Ca+Mg |
| Wilson | 167.0 | 9.8 | Hard | County estimate |
| Medina | 294.0 | 17.2 | Very hard | County estimate |
| Goshen | 26.2 | 1.5 | Soft | County estimate |
| Walden | 26.2 | 1.5 | Soft | County estimate |
| Hudson Falls | 108.5 | 6.3 | Moderately hard | County estimate |
| Irvington | 6.1 | 0.4 | Soft | Utility-reported |
| East Aurora | 113.0 | 6.6 | Moderately hard | Utility-reported |
| Williamson | 288.0 | 16.8 | Very hard | County estimate |
| Larchmont | 6.4 | 0.4 | Soft | Utility-reported |
| Painted Post | 110.0 | 6.4 | Moderately hard | County estimate |
| Brocton | 143.5 | 8.4 | Hard | County estimate |
| Greenport | 37.9 | 2.2 | Soft | County estimate |
| Avon | 235.0 | 13.7 | Very hard | County estimate |
| Albion | 294.0 | 17.2 | Very hard | County estimate |
| Wappingers Falls | 113.0 | 6.6 | Moderately hard | Utility-reported |
| Montgomery | 26.2 | 1.5 | Soft | County estimate |
| Highland Falls | 26.2 | 1.5 | Soft | County estimate |
| Marion | 288.0 | 16.8 | Very hard | County estimate |
| Saranac Lake | 15.9 | 0.9 | Soft | County estimate |
| Penn Yan | 368.0 | 21.5 | Very hard | County estimate |
| Mechanicville | 88.3 | 5.2 | Moderately hard | County estimate |
| Harriman | 26.2 | 1.5 | Soft | County estimate |
| Alfred | 86.7 | 5.1 | Moderately hard | County estimate |
| Heritage Hills | 118.0 | 6.9 | Moderately hard | Utility-reported |
| Old Westbury | 17.6 | 1.0 | Soft | Utility-reported |
| Phelps | 259.0 | 15.2 | Very hard | County estimate |
| Elmsford | 156.0 | 9.1 | Hard | County estimate |
| Stillwater | 88.3 | 5.2 | Moderately hard | County estimate |
| Coopers Plains | 110.0 | 6.4 | Moderately hard | County estimate |
| Frankfort | 4.7 | 0.3 | Soft | County estimate |
| Ocean Beach | 37.9 | 2.2 | Soft | County estimate |
| Port Ewen | 5.2 | 0.3 | Soft | County estimate |
| Brookhaven | 37.9 | 2.2 | Soft | County estimate |
| Homer | 157.5 | 9.2 | Hard | County estimate |
| Cazenovia | 203.0 | 11.9 | Very hard | County estimate |
| Ellenville | 5.2 | 0.3 | Soft | County estimate |
| Angola | 170.0 | 9.9 | Hard | County estimate |
| Hudson | 95.2 | 5.6 | Moderately hard | County estimate |
| Corinth | 88.3 | 5.2 | Moderately hard | County estimate |
| Highland | 5.2 | 0.3 | Soft | County estimate |
| West Point | 26.2 | 1.5 | Soft | County estimate |
| Warsaw | 211.0 | 12.3 | Very hard | County estimate |
| Westfield | 143.5 | 8.4 | Hard | County estimate |
| Delhi | 18.4 | 1.1 | Soft | County estimate |
| Mount Morris | 235.0 | 13.7 | Very hard | County estimate |
| Perry | 211.0 | 12.3 | Very hard | County estimate |
| Sidney | 18.4 | 1.1 | Soft | County estimate |
| Warrensburg | 18.2 | 1.1 | Soft | County estimate |
| Palmyra | 288.0 | 16.8 | Very hard | County estimate |
| Whitehall | 108.5 | 6.3 | Moderately hard | County estimate |
| Ticonderoga | 14.9 | 0.9 | Soft | County estimate |
| Bolton Landing | 18.2 | 1.1 | Soft | County estimate |
| Carthage | 62.0 | 3.6 | Moderately hard | County estimate |
| Manchester | 259.0 | 15.2 | Very hard | County estimate |
| Upton | 37.9 | 2.2 | Soft | County estimate |
| Stanley | 259.0 | 15.2 | Very hard | County estimate |
| Geneva | 259.0 | 15.2 | Very hard | County estimate |
| Owego | 96.7 | 5.7 | Moderately hard | County estimate |
| Walton | 18.4 | 1.1 | Soft | County estimate |
| Lee Center | 100.5 | 5.9 | Moderately hard | County estimate |
| Sherrill | 100.5 | 5.9 | Moderately hard | County estimate |
| Lima | 235.0 | 13.7 | Very hard | County estimate |
| Akron | 170.0 | 9.9 | Hard | County estimate |
| Bliss | 211.0 | 12.3 | Very hard | County estimate |
| Silver Creek | 143.5 | 8.4 | Hard | County estimate |
| Voorheesville | 78.2 | 4.6 | Moderately hard | County estimate |
| Champlain | 62.0 | 3.6 | Moderately hard | County estimate |
| Greenwood Lake | 26.2 | 1.5 | Soft | County estimate |
| Auburn | 201.0 | 11.8 | Very hard | County estimate |
| Shortsville | 259.0 | 15.2 | Very hard | County estimate |
| Blooming Grove | 26.2 | 1.5 | Soft | County estimate |
| Branchport | 368.0 | 21.5 | Very hard | County estimate |
| Clinton | 100.5 | 5.9 | Moderately hard | County estimate |
| Maybrook | 26.2 | 1.5 | Soft | County estimate |
| Mohawk | 4.7 | 0.3 | Soft | County estimate |
| Florida | 26.2 | 1.5 | Soft | County estimate |
| Allegany | 82.4 | 4.8 | Moderately hard | County estimate |
| St. Bonaventure | 82.4 | 4.8 | Moderately hard | County estimate |
| Oakfield | 238.0 | 13.9 | Very hard | County estimate |
| Gowanda | 82.4 | 4.8 | Moderately hard | County estimate |
| Lake George | 18.2 | 1.1 | Soft | County estimate |
| Lewiston | 167.0 | 9.8 | Hard | County estimate |
| Red Hook | 83.8 | 4.9 | Moderately hard | County estimate |
| Peru | 62.0 | 3.6 | Moderately hard | County estimate |
| York | 235.0 | 13.7 | Very hard | County estimate |
| Alden | 170.0 | 9.9 | Hard | County estimate |
| Cold Spring | 76.0 | 4.4 | Moderately hard | County estimate |
| Attica | 211.0 | 12.3 | Very hard | County estimate |
| Schaghticoke | 104.0 | 6.1 | Moderately hard | County estimate |
| Hurley | 5.2 | 0.3 | Soft | County estimate |
| Arcade | 211.0 | 12.3 | Very hard | County estimate |
| Skaneateles | 442.0 | 25.9 | Very hard | County estimate |
| Rouses Point | 62.0 | 3.6 | Moderately hard | County estimate |
| Fishers Island | 37.9 | 2.2 | Soft | County estimate |
| Hadley | 88.3 | 5.2 | Moderately hard | County estimate |
| Lake Luzerne | 18.2 | 1.1 | Soft | County estimate |
| Southold | 37.9 | 2.2 | Soft | County estimate |
| Granville | 108.5 | 6.3 | Moderately hard | County estimate |
| Bedford | 156.0 | 9.1 | Hard | County estimate |
| Belmont | 86.7 | 5.1 | Moderately hard | County estimate |
| Cooperstown | 84.7 | 5.0 | Moderately hard | County estimate |
| Ray Brook | 14.9 | 0.9 | Soft | County estimate |
| Verona | 100.5 | 5.9 | Moderately hard | County estimate |
| Rushville | 368.0 | 21.5 | Very hard | County estimate |
| Canisteo | 110.0 | 6.4 | Moderately hard | County estimate |
| Boonville | 100.5 | 5.9 | Moderately hard | County estimate |
| Canajoharie | 277.0 | 16.2 | Very hard | County estimate |
| Keeseville | 62.0 | 3.6 | Moderately hard | County estimate |
| Newfield | 169.5 | 9.9 | Hard | County estimate |
| Norfolk | 37.6 | 2.2 | Soft | County estimate |
| Trumansburg | 169.5 | 9.9 | Hard | County estimate |
| Weedsport | 201.0 | 11.8 | Very hard | County estimate |
| Clyde | 288.0 | 16.8 | Very hard | County estimate |
| Fort Plain | 277.0 | 16.2 | Very hard | County estimate |
| Caledonia | 235.0 | 13.7 | Very hard | County estimate |
| Brewster | 76.0 | 4.4 | Moderately hard | County estimate |
| Buchanan | 156.0 | 9.1 | Hard | County estimate |
| North Rose | 288.0 | 16.8 | Very hard | County estimate |
| Verplanck | 156.0 | 9.1 | Hard | County estimate |
| Morrisville | 203.0 | 11.9 | Very hard | County estimate |
| Montour Falls | 114.0 | 6.7 | Moderately hard | County estimate |
| Dolgeville | 15.1 | 0.9 | Soft | County estimate |
| Chatham | 95.2 | 5.6 | Moderately hard | County estimate |
| Holley | 294.0 | 17.2 | Very hard | County estimate |
| Watkins Glen | 114.0 | 6.7 | Moderately hard | County estimate |
| Phoenix | 176.0 | 10.3 | Hard | County estimate |
| Clayton | 62.0 | 3.6 | Moderately hard | County estimate |
| Mexico | 176.0 | 10.3 | Hard | County estimate |
| Pawling | 83.8 | 4.9 | Moderately hard | County estimate |
| Wingdale | 83.8 | 4.9 | Moderately hard | County estimate |
| Deposit | 61.0 | 3.6 | Moderately hard | County estimate |
| Southampton | 85.2 | 5.0 | Moderately hard | Utility-reported |
| Youngstown | 167.0 | 9.8 | Hard | County estimate |
| Adams | 62.0 | 3.6 | Moderately hard | County estimate |
| Adams Center | 62.0 | 3.6 | Moderately hard | County estimate |
| Athens | 13.9 | 0.8 | Soft | County estimate |
| Caneadea | 86.7 | 5.1 | Moderately hard | County estimate |
| Dryden | 169.5 | 9.9 | Hard | County estimate |
| Greenwich | 108.5 | 6.3 | Moderately hard | County estimate |
| Kinderhook | 95.2 | 5.6 | Moderately hard | County estimate |
| Mayville | 143.5 | 8.4 | Hard | County estimate |
| Millerton | 83.8 | 4.9 | Moderately hard | County estimate |
| Union Springs | 201.0 | 11.8 | Very hard | County estimate |
| Valatie | 95.2 | 5.6 | Moderately hard | County estimate |
| Wayland | 110.0 | 6.4 | Moderately hard | County estimate |
| Melrose | 104.0 | 6.1 | Moderately hard | County estimate |
| Moravia | 201.0 | 11.8 | Very hard | County estimate |
| Alexandria Bay | 62.0 | 3.6 | Moderately hard | County estimate |
| Milton | 5.2 | 0.3 | Soft | County estimate |
| Addison | 110.0 | 6.4 | Moderately hard | County estimate |
| West Nyack | 106.0 | 6.2 | Moderately hard | County estimate |
| Fonda | 277.0 | 16.2 | Very hard | County estimate |
| Sodus | 288.0 | 16.8 | Very hard | County estimate |
| Bloomfield | 259.0 | 15.2 | Very hard | County estimate |
| Cuba | 86.7 | 5.1 | Moderately hard | County estimate |
| Greene | 94.1 | 5.5 | Moderately hard | County estimate |
| Philadelphia | 62.0 | 3.6 | Moderately hard | County estimate |
| Dundee | 368.0 | 21.5 | Very hard | County estimate |
| Franklinville | 82.4 | 4.8 | Moderately hard | County estimate |
| Philmont | 95.2 | 5.6 | Moderately hard | County estimate |
| Waterville | 100.5 | 5.9 | Moderately hard | County estimate |
| Oxford | 94.1 | 5.5 | Moderately hard | County estimate |
| Randolph | 82.4 | 4.8 | Moderately hard | County estimate |
| St. Johnsville | 15.1 | 0.9 | Soft | County estimate |
| Norwood | 37.6 | 2.2 | Soft | County estimate |
| Holland | 170.0 | 9.9 | Hard | County estimate |
| Lowville | 11.1 | 0.7 | Soft | County estimate |
| Castile | 211.0 | 12.3 | Very hard | County estimate |
| Black River | 62.0 | 3.6 | Moderately hard | County estimate |
| Nunda | 235.0 | 13.7 | Very hard | County estimate |
| Willsboro | 14.9 | 0.9 | Soft | County estimate |
| Bainbridge | 94.1 | 5.5 | Moderately hard | County estimate |
| Sherburne | 94.1 | 5.5 | Moderately hard | County estimate |
| Elbridge | 442.0 | 25.9 | Very hard | County estimate |
| Cape Vincent | 62.0 | 3.6 | Moderately hard | County estimate |
| Ellisburg | 62.0 | 3.6 | Moderately hard | County estimate |
| New Berlin | 84.7 | 5.0 | Moderately hard | County estimate |
| Sodus Point | 288.0 | 16.8 | Very hard | County estimate |
| Sonyea | 235.0 | 13.7 | Very hard | County estimate |
| Wallkill | 5.2 | 0.3 | Soft | County estimate |
| Broadalbin | 15.1 | 0.9 | Soft | County estimate |
| Ellicottville | 82.4 | 4.8 | Moderately hard | County estimate |
| Gansevoort | 88.3 | 5.2 | Moderately hard | County estimate |
| Lyndonville | 294.0 | 17.2 | Very hard | County estimate |
| Cairo | 13.9 | 0.8 | Soft | County estimate |
| Jordan | 442.0 | 25.9 | Very hard | County estimate |
| Friendship | 86.7 | 5.1 | Moderately hard | County estimate |
| Burdett | 114.0 | 6.7 | Moderately hard | County estimate |
| Tivoli | 83.8 | 4.9 | Moderately hard | County estimate |
| Morrisonville | 62.0 | 3.6 | Moderately hard | County estimate |
| Ripley | 143.5 | 8.4 | Hard | County estimate |
| Schuylerville | 88.3 | 5.2 | Moderately hard | County estimate |
| Stamford | 125.0 | 7.3 | Hard | County estimate |
| Wurtsboro | 11.6 | 0.7 | Soft | County estimate |
| Westmoreland | 100.5 | 5.9 | Moderately hard | County estimate |
| Naples | 259.0 | 15.2 | Very hard | County estimate |
| Star Lake | 37.6 | 2.2 | Soft | County estimate |
| New City | 106.0 | 6.2 | Moderately hard | County estimate |
| Valley Cottage | 106.0 | 6.2 | Moderately hard | County estimate |
| Brownville | 62.0 | 3.6 | Moderately hard | County estimate |
| Richfield Springs | 84.7 | 5.0 | Moderately hard | County estimate |
| Stormville | 83.8 | 4.9 | Moderately hard | County estimate |
| Little Valley | 82.4 | 4.8 | Moderately hard | County estimate |
| Cattaraugus | 82.4 | 4.8 | Moderately hard | County estimate |
| Hancock | 18.4 | 1.1 | Soft | County estimate |
| Lagrangeville | 83.8 | 4.9 | Moderately hard | County estimate |
| Orangeburg | 106.0 | 6.2 | Moderately hard | County estimate |
| Andover | 86.7 | 5.1 | Moderately hard | County estimate |
| Marathon | 157.5 | 9.2 | Hard | County estimate |
| Portville | 86.7 | 5.1 | Moderately hard | County estimate |
| Chateaugay | 15.9 | 0.9 | Soft | County estimate |
| Dexter | 62.0 | 3.6 | Moderately hard | County estimate |
| Greenville | 13.9 | 0.8 | Soft | County estimate |
| North Creek | 18.2 | 1.1 | Soft | County estimate |
| Tuxedo Park | 25.0 | 1.5 | Soft | Utility-reported |
| Delevan | 82.4 | 4.8 | Moderately hard | County estimate |
| Otisville | 26.2 | 1.5 | Soft | County estimate |
| Nassau | 104.0 | 6.1 | Moderately hard | County estimate |
| Whitney Point | 61.0 | 3.6 | Moderately hard | County estimate |
| Windsor | 61.0 | 3.6 | Moderately hard | County estimate |
| Hunter | 13.9 | 0.8 | Soft | County estimate |
| Westport | 14.9 | 0.9 | Soft | County estimate |
| Otego | 84.7 | 5.0 | Moderately hard | County estimate |
| Amenia | 83.8 | 4.9 | Moderately hard | County estimate |
| Clifton Springs | 259.0 | 15.2 | Very hard | County estimate |
| Glenwood Landing | 53.5 | 3.1 | Soft | County estimate |
| Hillburn | 106.0 | 6.2 | Moderately hard | County estimate |
| Livingston Manor | 11.6 | 0.7 | Soft | County estimate |
| Northville | 4.6 | 0.3 | Soft | County estimate |
| Norwich | 94.1 | 5.5 | Moderately hard | County estimate |
| Leicester | 235.0 | 13.7 | Very hard | County estimate |
| Keene | 14.9 | 0.9 | Soft | County estimate |
| Savannah | 288.0 | 16.8 | Very hard | County estimate |
| Waddington | 37.6 | 2.2 | Soft | County estimate |
| Jamestown | 143.5 | 8.4 | Hard | County estimate |
| Canaseraga | 86.7 | 5.1 | Moderately hard | County estimate |
| Fort Covington | 15.9 | 0.9 | Soft | County estimate |
| Elizabethtown | 14.9 | 0.9 | Soft | County estimate |
| Copenhagen | 11.1 | 0.7 | Soft | County estimate |
| Prattsburgh | 110.0 | 6.4 | Moderately hard | County estimate |
| Silver Springs | 211.0 | 12.3 | Very hard | County estimate |
| Arkport | 110.0 | 6.4 | Moderately hard | County estimate |
| Heuvelton | 37.6 | 2.2 | Soft | County estimate |
| Mayfield | 15.1 | 0.9 | Soft | County estimate |
| Forestville | 143.5 | 8.4 | Hard | County estimate |
| Madrid | 37.6 | 2.2 | Soft | County estimate |
| Slingerlands | 78.2 | 4.6 | Moderately hard | County estimate |
| Alexander | 238.0 | 13.9 | Very hard | County estimate |
| Beaver Falls | 11.1 | 0.7 | Soft | County estimate |
| Sinclairville | 143.5 | 8.4 | Hard | County estimate |
| Cassadaga | 143.5 | 8.4 | Hard | County estimate |
| Poestenkill | 104.0 | 6.1 | Moderately hard | County estimate |
| Chestertown | 18.2 | 1.1 | Soft | County estimate |
| Fultonville | 277.0 | 16.2 | Very hard | County estimate |
| Round Lake | 88.3 | 5.2 | Moderately hard | County estimate |
| Hammondsport | 110.0 | 6.4 | Moderately hard | County estimate |
| Dresden | 368.0 | 21.5 | Very hard | County estimate |
| Elba | 238.0 | 13.9 | Very hard | County estimate |
| Chazy | 62.0 | 3.6 | Moderately hard | County estimate |
| Oriskany Falls | 100.5 | 5.9 | Moderately hard | County estimate |
| Carmel | 76.0 | 4.4 | Moderately hard | County estimate |
| South Dayton | 82.4 | 4.8 | Moderately hard | County estimate |
| Altona | 62.0 | 3.6 | Moderately hard | County estimate |
| Franklin | 18.4 | 1.1 | Soft | County estimate |
| Munnsville | 203.0 | 11.9 | Very hard | County estimate |
| Saratoga Springs | 88.3 | 5.2 | Moderately hard | County estimate |
| Perrysburg | 82.4 | 4.8 | Moderately hard | County estimate |
| Wellsburg | 128.0 | 7.5 | Hard | County estimate |
| Fort Ann | 108.5 | 6.3 | Moderately hard | County estimate |
| Shelter Island | 37.9 | 2.2 | Soft | County estimate |
| Almond | 86.7 | 5.1 | Moderately hard | County estimate |
| Durhamville | 100.5 | 5.9 | Moderately hard | County estimate |
| Saranac | 62.0 | 3.6 | Moderately hard | County estimate |
| Lisbon | 37.6 | 2.2 | Soft | County estimate |
| Wyoming | 211.0 | 12.3 | Very hard | County estimate |
| Shelter Island Heights | 37.9 | 2.2 | Soft | County estimate |
| Deansboro | 100.5 | 5.9 | Moderately hard | County estimate |
| Parishville | 37.6 | 2.2 | Soft | County estimate |
| Worcester | 84.7 | 5.0 | Moderately hard | County estimate |
| Clayville | 4.7 | 0.3 | Soft | County estimate |
| Burke | 15.9 | 0.9 | Soft | County estimate |
| Springwater | 259.0 | 15.2 | Very hard | County estimate |
| Deferiet | 62.0 | 3.6 | Moderately hard | County estimate |
| Farnham | 170.0 | 9.9 | Hard | County estimate |
| Putnam Valley | 76.0 | 4.4 | Moderately hard | County estimate |
| Morristown | 37.6 | 2.2 | Soft | County estimate |
| Lyon Mountain | 62.0 | 3.6 | Moderately hard | County estimate |
| Laurens | 84.7 | 5.0 | Moderately hard | County estimate |
| Calverton | 37.9 | 2.2 | Soft | County estimate |
| Willard | 218.5 | 12.8 | Very hard | County estimate |
| Castorland | 11.1 | 0.7 | Soft | County estimate |
| Evans Mills | 62.0 | 3.6 | Moderately hard | County estimate |
| Little Falls | 4.7 | 0.3 | Soft | County estimate |
| Brooklyn | 81.0 | 4.7 | Moderately hard | County estimate |
| Millport | 128.0 | 7.5 | Hard | County estimate |
| West Oneonta | 84.7 | 5.0 | Moderately hard | County estimate |
| Greenwood | 110.0 | 6.4 | Moderately hard | County estimate |
| Highland Mills | 26.2 | 1.5 | Soft | County estimate |
| Manorville | 37.9 | 2.2 | Soft | County estimate |
| Freeville | 169.5 | 9.9 | Hard | County estimate |
| Rock Hill | 11.6 | 0.7 | Soft | County estimate |
| Rye | 156.0 | 9.1 | Hard | County estimate |
| Pomona | 106.0 | 6.2 | Moderately hard | County estimate |
| Sandy Creek | 176.0 | 10.3 | Hard | County estimate |
| Essex | 14.9 | 0.9 | Soft | County estimate |
| Stony Point | 106.0 | 6.2 | Moderately hard | County estimate |
| Lake Katrine | 5.2 | 0.3 | Soft | County estimate |
| Wilmington | 14.9 | 0.9 | Soft | County estimate |
| Rush | 269.0 | 15.7 | Very hard | County estimate |
| Treadwell | 18.4 | 1.1 | Soft | County estimate |
| Moira | 15.9 | 0.9 | Soft | County estimate |
| Canton | 37.6 | 2.2 | Soft | County estimate |
| Fishs Eddy | 18.4 | 1.1 | Soft | County estimate |
| Madison | 203.0 | 11.9 | Very hard | County estimate |
| West Hurley | 5.2 | 0.3 | Soft | County estimate |
| Delmar | 78.2 | 4.6 | Moderately hard | County estimate |
| Pittsford | 269.0 | 15.7 | Very hard | County estimate |
| Brookfield | 203.0 | 11.9 | Very hard | County estimate |
| Rock Tavern | 26.2 | 1.5 | Soft | County estimate |
| Pennellville | 176.0 | 10.3 | Hard | County estimate |
| Speculator | 4.6 | 0.3 | Soft | County estimate |
| East Chatham | 95.2 | 5.6 | Moderately hard | County estimate |
| Fort Johnson | 277.0 | 16.2 | Very hard | County estimate |
| Pine Valley | 128.0 | 7.5 | Hard | County estimate |
| Dewittville | 143.5 | 8.4 | Hard | County estimate |
| Unadilla | 84.7 | 5.0 | Moderately hard | County estimate |
| Port Byron | 201.0 | 11.8 | Very hard | County estimate |
| Woodstock | 5.2 | 0.3 | Soft | County estimate |
| Accord | 5.2 | 0.3 | Soft | County estimate |
| East Rochester | 269.0 | 15.7 | Very hard | County estimate |
| Altamont | 78.2 | 4.6 | Moderately hard | County estimate |
| Croton Falls | 156.0 | 9.1 | Hard | County estimate |
| Sauquoit | 100.5 | 5.9 | Moderately hard | County estimate |
| South New Berlin | 84.7 | 5.0 | Moderately hard | County estimate |
| Modena | 5.2 | 0.3 | Soft | County estimate |
| Vestal | 61.0 | 3.6 | Moderately hard | County estimate |
| Berkshire | 96.7 | 5.7 | Moderately hard | County estimate |
| Alfred Station | 86.7 | 5.1 | Moderately hard | County estimate |
| Preble | 157.5 | 9.2 | Hard | County estimate |
| Groton | 169.5 | 9.9 | Hard | County estimate |
| Kerhonkson | 5.2 | 0.3 | Soft | County estimate |
| Rocky Point | 37.9 | 2.2 | Soft | County estimate |
| Somers | 156.0 | 9.1 | Hard | County estimate |
| Oriskany | 100.5 | 5.9 | Moderately hard | County estimate |
| Ava | 100.5 | 5.9 | Moderately hard | County estimate |
| Selkirk | 78.2 | 4.6 | Moderately hard | County estimate |
| Vernon | 100.5 | 5.9 | Moderately hard | County estimate |
| Cambridge | 108.5 | 6.3 | Moderately hard | County estimate |
| Colden | 170.0 | 9.9 | Hard | County estimate |
| Central Valley | 26.2 | 1.5 | Soft | County estimate |
| Rensselaer Falls | 37.6 | 2.2 | Soft | County estimate |
| Spring Valley | 106.0 | 6.2 | Moderately hard | County estimate |
| Glenmont | 78.2 | 4.6 | Moderately hard | County estimate |
| Albertson | 53.5 | 3.1 | Soft | County estimate |
| Amityville | 37.9 | 2.2 | Soft | County estimate |
| Babylon | 37.9 | 2.2 | Soft | County estimate |
| Baldwin | 53.5 | 3.1 | Soft | County estimate |
| Barker | 167.0 | 9.8 | Hard | County estimate |
| Bellerose | 419.5 | 24.5 | Very hard | County estimate |
| Bethpage | 53.5 | 3.1 | Soft | County estimate |
| Brewerton | 442.0 | 25.9 | Very hard | County estimate |
| Bridgeport | 203.0 | 11.9 | Very hard | County estimate |
| Camillus | 442.0 | 25.9 | Very hard | County estimate |
| Canastota | 203.0 | 11.9 | Very hard | County estimate |
| Carle Place | 53.5 | 3.1 | Soft | County estimate |
| Central Square | 176.0 | 10.3 | Hard | County estimate |
| Chittenango | 203.0 | 11.9 | Very hard | County estimate |
| Clarence Center | 170.0 | 9.9 | Hard | County estimate |
| Cleveland | 100.5 | 5.9 | Moderately hard | County estimate |
| Collins | 170.0 | 9.9 | Hard | County estimate |
| Constantia | 176.0 | 10.3 | Hard | County estimate |
| Copiague | 37.9 | 2.2 | Soft | County estimate |
| Cortlandt Manor | 156.0 | 9.1 | Hard | County estimate |
| Cottekill | 5.2 | 0.3 | Soft | County estimate |
| Downsville | 18.4 | 1.1 | Soft | County estimate |
| East Meadow | 53.5 | 3.1 | Soft | County estimate |
| East Syracuse | 442.0 | 25.9 | Very hard | County estimate |
| Eden | 170.0 | 9.9 | Hard | County estimate |
| Elmont | 53.5 | 3.1 | Soft | County estimate |
| Fayetteville | 442.0 | 25.9 | Very hard | County estimate |
| Floral Park | 53.5 | 3.1 | Soft | County estimate |
| Flushing | 419.5 | 24.5 | Very hard | County estimate |
| Frewsburg | 143.5 | 8.4 | Hard | County estimate |
| Greenvale | 53.5 | 3.1 | Soft | County estimate |
| Hawthorne | 156.0 | 9.1 | Hard | County estimate |
| Hemlock | 259.0 | 15.2 | Very hard | County estimate |
| Hilton | 269.0 | 15.7 | Very hard | County estimate |
| Huntington | 37.9 | 2.2 | Soft | County estimate |
| Kings Park | 37.9 | 2.2 | Soft | County estimate |
| Levittown | 53.5 | 3.1 | Soft | County estimate |
| Lindenhurst | 37.9 | 2.2 | Soft | County estimate |
| Liverpool | 442.0 | 25.9 | Very hard | County estimate |
| Mahopac | 76.0 | 4.4 | Moderately hard | County estimate |
| Malverne | 53.5 | 3.1 | Soft | County estimate |
| Manhasset | 53.5 | 3.1 | Soft | County estimate |
| Manlius | 442.0 | 25.9 | Very hard | County estimate |
| Marcellus | 442.0 | 25.9 | Very hard | County estimate |
| Massapequa | 53.5 | 3.1 | Soft | County estimate |
| Merrick | 53.5 | 3.1 | Soft | County estimate |
| Minetto | 176.0 | 10.3 | Hard | County estimate |
| Minoa | 442.0 | 25.9 | Very hard | County estimate |
| Napanoch | 5.2 | 0.3 | Soft | County estimate |
| Nedrow | 442.0 | 25.9 | Very hard | County estimate |
| New Hyde Park | 53.5 | 3.1 | Soft | County estimate |
| New Rochelle | 156.0 | 9.1 | Hard | County estimate |
| Newark Valley | 96.7 | 5.7 | Moderately hard | County estimate |
| Oceanside | 53.5 | 3.1 | Soft | County estimate |
| Old Bethpage | 53.5 | 3.1 | Soft | County estimate |
| Old Forge | 4.7 | 0.3 | Soft | County estimate |
| Ovid | 218.5 | 12.8 | Very hard | County estimate |
| Patterson | 76.0 | 4.4 | Moderately hard | County estimate |
| Paul Smiths | 15.9 | 0.9 | Soft | County estimate |
| Pelham | 156.0 | 9.1 | Hard | County estimate |
| Port Chester | 156.0 | 9.1 | Hard | County estimate |
| Port Crane | 61.0 | 3.6 | Moderately hard | County estimate |
| Richmondville | 125.0 | 7.3 | Hard | County estimate |
| Rockville Centre | 53.5 | 3.1 | Soft | County estimate |
| Roosevelt | 53.5 | 3.1 | Soft | County estimate |
| Roslyn Heights | 53.5 | 3.1 | Soft | County estimate |
| Schroon Lake | 14.9 | 0.9 | Soft | County estimate |
| Seaford | 53.5 | 3.1 | Soft | County estimate |
| Sylvan Beach | 100.5 | 5.9 | Moderately hard | County estimate |
| Syosset | 53.5 | 3.1 | Soft | County estimate |
| Thornwood | 156.0 | 9.1 | Hard | County estimate |
| Uniondale | 53.5 | 3.1 | Soft | County estimate |
| Valhalla | 156.0 | 9.1 | Hard | County estimate |
| Wampsville | 203.0 | 11.9 | Very hard | County estimate |
| Wantagh | 53.5 | 3.1 | Soft | County estimate |
Above 120 mg/L (7 gpg), scale is usually worth treating — see our water softener guide, or size a system with the hardness calculator & converter.
The Geology Behind New York's Water Hardness
New York sits in the Appalachian and Mid-Atlantic mixed terrain region.
The Mid-Atlantic and Appalachian states sit on a patchwork of sandstone, shale, and crystalline rock that yields mostly soft to moderately hard water. The big exception is the region's limestone and dolomite valleys - including the carbonate belt running from Pennsylvania down through the Shenandoah Valley - where groundwater dissolves calcium and magnesium readily and comes out distinctly hard. A city's number here depends heavily on whether its supply draws from upland rivers and reservoirs or from carbonate-valley wells.
New York Water Hardness FAQ
Does New York have hard water?
On the whole, no — New York's statewide median sits below the hard threshold, though some cities run harder. The median is 48.5 mg/L (2.8 gpg) — soft on the USGS scale, where anything above 120 mg/L (7 gpg) counts as hard. 6 of New York's 78 measured cities fall in the hard or very hard bands (8%), so check your own city rather than the state average.
How hard is tap water in New York?
Across the 78 New York cities with measured values in our index, the median hardness is 48.5 mg/L (2.8 gpg) — soft on the USGS scale. Individual cities range from 6.1 to 190.0 mg/L, so check your own city rather than assuming the state number.
Which city in New York has the hardest water?
Schenectady has the hardest measured tap water in our New York index at 190.0 mg/L (11.1 gpg) — very hard on the USGS scale. Rankings use measured utility values only; labeled county estimates and values under active dispute are excluded.
Do I need a water softener in New York?
6 of New York's 78 measured cities (8%) fall in the hard or very hard bands — above 120 mg/L (7 gpg), the level where most water treatment professionals suggest considering an ion-exchange softener. Hardness varies utility to utility, so look up your own city's value before sizing equipment.
How do I find my city's exact water hardness?
Enter your ZIP code in our free lookup at tapwaterdata.com/zip to see the value we hold for your New York city from utility-reported water quality data, check your water utility's annual Consumer Confidence Report (CCR), or use a home test-strip kit.
Need whole-house or professional water treatment?
For the problems a pitcher or under-sink filter cannot fix — scale, rust and black staining, sulfur smell, well contamination, or test results you cannot explain. Tell us what is happening and we will connect you with a local water-treatment professional.
Get the Weekly Water Brief
One email a week on water testing, treatment, and what water-quality data means for your home.
One email a week. Unsubscribe anytime.