Water Hardness in Massachusetts
Across 252 measured cities — with 88 more covered by labeled county-level estimates — Massachusetts's median tap water hardness is 49.2 mg/L (2.9 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 July 6, 2026. Sources: utility-reported water quality data and USGS/EPA Water Quality Portal samples.
Massachusetts 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 | 147 | 58.3% |
| Moderately hard | 60-120 mg/L | 81 | 32.1% |
| Hard | 120-180 mg/L | 21 | 8.3% |
| Very hard | >180 mg/L | 3 | 1.2% |
Hardest and Softest Water in Massachusetts
Measured values only; labeled county estimates and values under active dispute never rank.
Hardest water in Massachusetts
- Boxborough — 262.0 mg/L (15.3 gpg), very hard
- Harvard — 252.3 mg/L (14.8 gpg), very hard
- Auburn — 183.0 mg/L (10.7 gpg), very hard
- Franklin — 174.0 mg/L (10.2 gpg), hard
- Hamilton — 166.0 mg/L (9.7 gpg), hard
Softest water in Massachusetts
- Southbridge — 7.4 mg/L (0.4 gpg), soft
- Southbridge Town — 7.4 mg/L (0.4 gpg), soft
- Fall River — 8.3 mg/L (0.5 gpg), soft
- Leominster — 9.5 mg/L (0.6 gpg), soft
- Saugus — 9.6 mg/L (0.6 gpg), soft
Every Covered City in Massachusetts
All 340 covered Massachusetts 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 |
|---|---|---|---|---|
| Boston | 17.2 | 1.0 | Soft | Utility-reported |
| Worcester | 41.8 | 2.4 | Soft | Utility-reported |
| Lowell | 42.7 | 2.5 | Soft | Utility-reported |
| Springfield | 23.8 | 1.4 | Soft | Utility-reported |
| Brockton | 48.8 | 2.9 | Soft | Utility-reported |
| Framingham | 52.2 | 3.0 | Soft | Utility-reported |
| Chelsea | 15.6 | 0.9 | Soft | Utility-reported |
| Somerville | 19.6 | 1.1 | Soft | Utility-reported |
| Barnstable Town | 27.2 | 1.6 | Soft | Utility-reported |
| Longmeadow | 49.5 | 2.9 | Soft | Utility-reported |
| Newton | 31.8 | 1.9 | Soft | Utility-reported |
| Methuen | 48.9 | 2.9 | Soft | Computed from Ca+Mg |
| Quincy | 37.5 | 2.2 | Soft | Utility-reported |
| Cambridge | 60.2 | 3.5 | Moderately hard | Utility-reported |
| New Bedford | 17.7 | 1.0 | Soft | Computed from Ca+Mg |
| Lawrence | 31.5 | 1.8 | Soft | Utility-reported |
| Taunton | 46.7 | 2.7 | Soft | Utility-reported |
| Lynn | 67.2 | 3.9 | Moderately hard | Utility-reported |
| Needham | 96.4 | 5.6 | Moderately hard | Utility-reported |
| Chicopee | 42.2 | 2.5 | Soft | Utility-reported |
| Falmouth | 14.8 | 0.9 | Soft | Utility-reported |
| Fall River | 8.3 | 0.5 | Soft | Utility-reported |
| Mashpee Neck | 27.2 | 1.6 | Soft | Utility-reported |
| Cochituate | 93.3 | 5.5 | Moderately hard | Utility-reported |
| Holyoke | 50.2 | 2.9 | Soft | Utility-reported |
| Haverhill | 40.1 | 2.4 | Soft | Utility-reported |
| Wellesley | 88.6 | 5.2 | Moderately hard | Utility-reported |
| Waltham | 17.1 | 1.0 | Soft | Utility-reported |
| Attleboro | 56.4 | 3.3 | Soft | Utility-reported |
| Westfield | 88.3 | 5.2 | Moderately hard | Utility-reported |
| Wilmington | 68.4 | 4.0 | Moderately hard | Utility-reported |
| Malden | 24.9 | 1.5 | Soft | Utility-reported |
| Dennis | 22.0 | 1.3 | Soft | County estimate |
| South Dennis | 22.0 | 1.3 | Soft | County estimate |
| Dedham | 109.7 | 6.4 | Moderately hard | Utility-reported |
| Brookline | 19.0 | 1.1 | Soft | Utility-reported |
| Randolph Town | 67.6 | 4.0 | Moderately hard | Utility-reported |
| Medford | 21.3 | 1.3 | Soft | Utility-reported |
| Mattapoisett Center | 36.3 | 2.1 | Soft | Utility-reported |
| Revere | 87.0 | 5.1 | Moderately hard | County estimate |
| Peabody | 128.0 | 7.5 | Hard | Utility-reported |
| Weymouth | 28.4 | 1.7 | Soft | Utility-reported |
| Weymouth Town | 28.4 | 1.7 | Soft | Utility-reported |
| Agawam Town | 59.6 | 3.5 | Soft | Utility-reported |
| Pinehurst | 61.5 | 3.6 | Moderately hard | Utility-reported |
| Plymouth | 25.5 | 1.5 | Soft | Utility-reported |
| Northborough | 109.8 | 6.4 | Moderately hard | Utility-reported |
| Bridgewater Town | 61.9 | 3.6 | Moderately hard | Utility-reported |
| Beverly | 70.5 | 4.1 | Moderately hard | Utility-reported |
| Franklin Town | 69.3 | 4.0 | Moderately hard | Utility-reported |
| Milton | 44.5 | 2.6 | Soft | Utility-reported |
| Norwood | 45.7 | 2.7 | Soft | Utility-reported |
| Osterville | 22.0 | 1.3 | Soft | Utility-reported |
| Maynard | 86.0 | 5.0 | Moderately hard | Utility-reported |
| Abington | 67.1 | 3.9 | Moderately hard | Utility-reported |
| Everett | 16.0 | 0.9 | Soft | Utility-reported |
| Sharon | 47.2 | 2.8 | Soft | Utility-reported |
| Lexington | 32.9 | 1.9 | Soft | Utility-reported |
| Arlington | 16.7 | 1.0 | Soft | Utility-reported |
| Hingham | 123.0 | 7.2 | Hard | Utility-reported |
| Salem | 66.8 | 3.9 | Moderately hard | Utility-reported |
| Pittsfield | 27.5 | 1.6 | Soft | Utility-reported |
| Leominster | 9.5 | 0.6 | Soft | Utility-reported |
| Forestdale | 30.0 | 1.8 | Soft | Utility-reported |
| Gloucester | 70.6 | 4.1 | Moderately hard | Utility-reported |
| Reading | 22.2 | 1.3 | Soft | Utility-reported |
| Billerica | 63.3 | 3.7 | Moderately hard | Utility-reported |
| Fitchburg | 41.0 | 2.4 | Soft | County estimate |
| Woburn | 99.0 | 5.8 | Moderately hard | Utility-reported |
| West Yarmouth | 22.0 | 1.3 | Soft | County estimate |
| Burlington | 103.5 | 6.0 | Moderately hard | Utility-reported |
| Amherst | 29.6 | 1.7 | Soft | Utility-reported |
| Amherst Town | 29.6 | 1.7 | Soft | Utility-reported |
| Danvers | 130.0 | 7.6 | Hard | Utility-reported |
| Harwich | 22.8 | 1.3 | Soft | Utility-reported |
| Harwich Center | 22.8 | 1.3 | Soft | Utility-reported |
| Braintree | 54.7 | 3.2 | Soft | Utility-reported |
| Braintree Town | 54.7 | 3.2 | Soft | Utility-reported |
| Marlborough | 66.8 | 3.9 | Moderately hard | County estimate |
| West Concord | 57.0 | 3.3 | Soft | Utility-reported |
| Shrewsbury | 137.0 | 8.0 | Hard | Utility-reported |
| North Attleborough Town | 71.1 | 4.2 | Moderately hard | Utility-reported |
| Mattapoisett | 36.3 | 2.1 | Soft | Utility-reported |
| Dover | 120.0 | 7.0 | Moderately hard | Utility-reported |
| Natick | 120.0 | 7.0 | Moderately hard | Utility-reported |
| East Falmouth | 30.0 | 1.8 | Soft | Utility-reported |
| New Seabury | 30.0 | 1.8 | Soft | Utility-reported |
| Somerset | 45.3 | 2.6 | Soft | Utility-reported |
| Watertown | 15.5 | 0.9 | Soft | Utility-reported |
| Middleton | 130.0 | 7.6 | Hard | Utility-reported |
| Brewster | 28.6 | 1.7 | Soft | Utility-reported |
| Hyannis | 26.0 | 1.5 | Soft | Utility-reported |
| Rockland | 76.8 | 4.5 | Moderately hard | Utility-reported |
| Dracut | 62.8 | 3.7 | Moderately hard | Utility-reported |
| Northampton | 55.0 | 3.2 | Soft | Utility-reported |
| Randolph | 56.9 | 3.3 | Soft | Utility-reported |
| Marshfield | 89.2 | 5.2 | Moderately hard | Utility-reported |
| North Pembroke | 83.8 | 4.9 | Moderately hard | Utility-reported |
| Wakefield | 51.3 | 3.0 | Soft | Utility-reported |
| Andover | 37.5 | 2.2 | Soft | Computed from Ca+Mg |
| North Andover | 37.5 | 2.2 | Soft | Computed from Ca+Mg |
| Milford | 37.0 | 2.2 | Soft | Utility-reported |
| Chatham | 25.9 | 1.5 | Soft | Utility-reported |
| Hopkinton | 39.1 | 2.3 | Soft | Utility-reported |
| Littleton Common | 72.1 | 4.2 | Moderately hard | Utility-reported |
| Haydenville | 16.0 | 0.9 | Soft | County estimate |
| Cordaville | 26.8 | 1.6 | Soft | Utility-reported |
| Melrose | 18.3 | 1.1 | Soft | Utility-reported |
| Stoughton | 47.2 | 2.8 | Soft | Utility-reported |
| West Springfield | 107.0 | 6.3 | Moderately hard | Utility-reported |
| West Springfield Town | 107.0 | 6.3 | Moderately hard | Utility-reported |
| North Attleborough | 75.8 | 4.4 | Moderately hard | Utility-reported |
| Agawam | 12.0 | 0.7 | Soft | Utility-reported |
| Lynnfield | 72.4 | 4.2 | Moderately hard | Utility-reported |
| Saugus | 9.6 | 0.6 | Soft | Utility-reported |
| Hanson | 44.5 | 2.6 | Soft | Utility-reported |
| Marion Center | 49.1 | 2.9 | Soft | Utility-reported |
| Onset | 42.1 | 2.5 | Soft | Utility-reported |
| Bridgewater | 61.9 | 3.6 | Moderately hard | Utility-reported |
| Walpole | 66.3 | 3.9 | Moderately hard | Utility-reported |
| Hanscom AFB | 56.3 | 3.3 | Soft | Utility-reported |
| Turners Falls | 33.5 | 2.0 | Soft | County estimate |
| Belmont | 15.5 | 0.9 | Soft | Utility-reported |
| Dartmouth | 39.6 | 2.3 | Soft | Utility-reported |
| Smith Mills | 39.6 | 2.3 | Soft | Utility-reported |
| Oak Bluffs | 22.9 | 1.3 | Soft | Utility-reported |
| Mansfield | 50.1 | 2.9 | Soft | Utility-reported |
| Mansfield Center | 50.1 | 2.9 | Soft | Utility-reported |
| Webster | 59.9 | 3.5 | Soft | Computed from Ca+Mg |
| Stoneham | 16.0 | 0.9 | Soft | Utility-reported |
| South Easton | 97.3 | 5.7 | Moderately hard | Utility-reported |
| Sandwich | 22.0 | 1.3 | Soft | County estimate |
| Winchester | 20.4 | 1.2 | Soft | Utility-reported |
| Bourne | 24.4 | 1.4 | Soft | Utility-reported |
| Pocasset | 24.4 | 1.4 | Soft | Utility-reported |
| Provincetown | 23.6 | 1.4 | Soft | Utility-reported |
| Westborough | 64.1 | 3.8 | Moderately hard | Utility-reported |
| Gardner | 41.0 | 2.4 | Soft | County estimate |
| Wareham | 49.1 | 2.9 | Soft | Utility-reported |
| Wareham Center | 49.1 | 2.9 | Soft | Utility-reported |
| West Wareham | 49.1 | 2.9 | Soft | Utility-reported |
| Weweantic | 49.1 | 2.9 | Soft | Utility-reported |
| Marblehead | 15.5 | 0.9 | Soft | Utility-reported |
| Newburyport | 100.0 | 5.8 | Moderately hard | Utility-reported |
| Salisbury | 107.0 | 6.3 | Moderately hard | Utility-reported |
| Scituate | 67.8 | 4.0 | Moderately hard | Utility-reported |
| Winthrop | 87.0 | 5.1 | Moderately hard | County estimate |
| Norton | 44.7 | 2.6 | Soft | Utility-reported |
| Norton Center | 44.7 | 2.6 | Soft | Utility-reported |
| Hudson | 66.8 | 3.9 | Moderately hard | County estimate |
| Ashland | 34.3 | 2.0 | Soft | Utility-reported |
| Sudbury | 101.0 | 5.9 | Moderately hard | Utility-reported |
| Foxborough | 48.0 | 2.8 | Soft | Utility-reported |
| Pembroke | 44.5 | 2.6 | Soft | Utility-reported |
| Westford | 85.4 | 5.0 | Moderately hard | Utility-reported |
| Orleans | 18.6 | 1.1 | Soft | Utility-reported |
| Greenfield | 33.5 | 2.0 | Soft | County estimate |
| Southbridge | 7.4 | 0.4 | Soft | Utility-reported |
| Southbridge Town | 7.4 | 0.4 | Soft | Utility-reported |
| Holden | 26.5 | 1.6 | Soft | Utility-reported |
| Amesbury | 40.4 | 2.4 | Soft | Utility-reported |
| Ocean Grove | 45.3 | 2.6 | Soft | Utility-reported |
| Swansea | 45.3 | 2.6 | Soft | Utility-reported |
| Middleborough | 41.8 | 2.4 | Soft | Utility-reported |
| Middleborough Center | 41.8 | 2.4 | Soft | Utility-reported |
| North Lakeville | 41.8 | 2.4 | Soft | Utility-reported |
| Bellingham | 53.0 | 3.1 | Soft | County estimate |
| Easthampton | 121.0 | 7.1 | Hard | Utility-reported |
| Duxbury | 34.8 | 2.0 | Soft | Utility-reported |
| Kingston | 39.2 | 2.3 | Soft | Utility-reported |
| Millis-Clicquot | 100.0 | 5.8 | Moderately hard | Utility-reported |
| Holbrook | 74.2 | 4.3 | Moderately hard | Utility-reported |
| Whitinsville | 28.4 | 1.7 | Soft | Utility-reported |
| East Longmeadow | 14.9 | 0.9 | Soft | Utility-reported |
| Fairhaven | 31.9 | 1.9 | Soft | County estimate |
| North Reading | 35.4 | 2.1 | Soft | Utility-reported |
| Clinton | 14.3 | 0.8 | Soft | Utility-reported |
| Granby | 37.2 | 2.2 | Soft | Utility-reported |
| Holliston | 56.5 | 3.3 | Soft | Utility-reported |
| Swampscott | 37.9 | 2.2 | Soft | Utility-reported |
| Hanover | 132.0 | 7.7 | Hard | Utility-reported |
| East Bridgewater | 61.8 | 3.6 | Moderately hard | Utility-reported |
| North Seekonk | 76.1 | 4.5 | Moderately hard | Utility-reported |
| Seekonk | 76.1 | 4.5 | Moderately hard | Utility-reported |
| Whitman | 43.7 | 2.6 | Soft | Utility-reported |
| Wayland | 109.0 | 6.4 | Moderately hard | Utility-reported |
| Raynham Center | 63.2 | 3.7 | Moderately hard | Utility-reported |
| Auburn | 183.0 | 10.7 | Very hard | Utility-reported |
| Ipswich | 143.0 | 8.4 | Hard | Utility-reported |
| North Adams | 64.7 | 3.8 | Moderately hard | Computed from Ca+Mg |
| Medfield | 95.4 | 5.6 | Moderately hard | Utility-reported |
| Wrentham | 64.4 | 3.8 | Moderately hard | Utility-reported |
| Norwell | 63.2 | 3.7 | Moderately hard | Utility-reported |
| Grafton | 59.6 | 3.5 | Soft | Utility-reported |
| Uxbridge | 42.7 | 2.5 | Soft | Utility-reported |
| Palmer Town | 45.0 | 2.6 | Soft | Utility-reported |
| Southborough | 13.5 | 0.8 | Soft | Utility-reported |
| Weston | 29.9 | 1.8 | Soft | Utility-reported |
| Athol | 41.0 | 2.4 | Soft | County estimate |
| Lenox | 81.5 | 4.8 | Moderately hard | Computed from Ca+Mg |
| Rockport | 61.9 | 3.6 | Moderately hard | County estimate |
| Millbury | 96.4 | 5.6 | Moderately hard | Utility-reported |
| Medway | 95.5 | 5.6 | Moderately hard | Utility-reported |
| Littleton | 66.8 | 3.9 | Moderately hard | County estimate |
| Blackstone | 41.0 | 2.4 | Soft | County estimate |
| Boxford | 76.0 | 4.4 | Moderately hard | Utility-reported |
| Plainville | 56.1 | 3.3 | Soft | Utility-reported |
| Pepperell | 46.5 | 2.7 | Soft | Utility-reported |
| Georgetown | 74.3 | 4.3 | Moderately hard | Utility-reported |
| Millis | 100.0 | 5.8 | Moderately hard | Utility-reported |
| Wilbraham | 24.0 | 1.4 | Soft | County estimate |
| Ayer | 130.0 | 7.6 | Hard | Utility-reported |
| West Boylston | 41.3 | 2.4 | Soft | Utility-reported |
| Adams | 108.0 | 6.3 | Moderately hard | Utility-reported |
| Buzzards Bay | 16.1 | 0.9 | Soft | Utility-reported |
| West Bridgewater | 30.9 | 1.8 | Soft | County estimate |
| Norfolk | 53.0 | 3.1 | Soft | County estimate |
| Halifax | 47.4 | 2.8 | Soft | Utility-reported |
| Hamilton | 166.0 | 9.7 | Hard | Utility-reported |
| Cohasset | 35.2 | 2.1 | Soft | Utility-reported |
| North Scituate | 35.2 | 2.1 | Soft | Utility-reported |
| North Chelmsford | 115.0 | 6.7 | Moderately hard | Utility-reported |
| Ware | 16.0 | 0.9 | Soft | County estimate |
| Groton | 72.2 | 4.2 | Moderately hard | Utility-reported |
| Merrimac | 32.0 | 1.9 | Soft | Utility-reported |
| Spencer | 41.0 | 2.4 | Soft | County estimate |
| Edgartown | 14.8 | 0.9 | Soft | Utility-reported |
| Oxford | 61.0 | 3.6 | Moderately hard | Utility-reported |
| Sterling | 30.6 | 1.8 | Soft | Utility-reported |
| Rowley | 104.0 | 6.1 | Moderately hard | Utility-reported |
| Devens | 154.0 | 9.0 | Hard | Utility-reported |
| Townsend | 40.3 | 2.4 | Soft | Utility-reported |
| Marion | 30.9 | 1.8 | Soft | County estimate |
| Dalton | 72.5 | 4.2 | Moderately hard | Utility-reported |
| Groveland | 85.7 | 5.0 | Moderately hard | Utility-reported |
| South Hadley | 86.9 | 5.1 | Moderately hard | Utility-reported |
| Baldwinville | 41.0 | 2.4 | Soft | County estimate |
| Lancaster | 69.2 | 4.0 | Moderately hard | Utility-reported |
| Hopedale | 41.0 | 2.4 | Soft | County estimate |
| Winchendon | 41.0 | 2.4 | Soft | County estimate |
| Rutland | 18.6 | 1.1 | Soft | Utility-reported |
| Lincoln | 59.5 | 3.5 | Soft | Utility-reported |
| Lee | 120.0 | 7.0 | Moderately hard | County estimate |
| Dudley | 43.3 | 2.5 | Soft | Utility-reported |
| Topsfield | 106.0 | 6.2 | Moderately hard | Utility-reported |
| Manchester By The Sea | 70.6 | 4.1 | Moderately hard | Utility-reported |
| Sturbridge | 93.5 | 5.5 | Moderately hard | Utility-reported |
| Hadley | 126.0 | 7.4 | Hard | Utility-reported |
| Cotuit | 58.8 | 3.4 | Soft | Utility-reported |
| Southampton | 16.0 | 0.9 | Soft | County estimate |
| South Deerfield | 33.5 | 2.0 | Soft | County estimate |
| Palmer | 45.0 | 2.6 | Soft | Utility-reported |
| Avon | 74.2 | 4.3 | Moderately hard | Utility-reported |
| Leicester | 131.0 | 7.7 | Hard | Utility-reported |
| Sagamore | 20.3 | 1.2 | Soft | Utility-reported |
| Sagamore Beach | 20.3 | 1.2 | Soft | Utility-reported |
| Douglas | 37.6 | 2.2 | Soft | Utility-reported |
| East Douglas | 37.6 | 2.2 | Soft | Utility-reported |
| Upton | 31.8 | 1.9 | Soft | Utility-reported |
| Paxton | 41.0 | 2.4 | Soft | County estimate |
| South Egremont | 120.0 | 7.0 | Moderately hard | County estimate |
| Monson | 24.0 | 1.4 | Soft | County estimate |
| Tyngsborough | 147.0 | 8.6 | Hard | Utility-reported |
| Barre | 41.0 | 2.4 | Soft | County estimate |
| Belchertown | 64.7 | 3.8 | Moderately hard | Utility-reported |
| Wenham | 61.9 | 3.6 | Moderately hard | County estimate |
| Westminster | 10.1 | 0.6 | Soft | Utility-reported |
| Rochdale | 29.0 | 1.7 | Soft | Computed from Ca+Mg |
| Ashburnham | 41.0 | 2.4 | Soft | County estimate |
| Nahant | 61.9 | 3.6 | Moderately hard | County estimate |
| Hatfield | 68.7 | 4.0 | Moderately hard | Utility-reported |
| Three Rivers | 24.0 | 1.4 | Soft | County estimate |
| South Grafton | 41.0 | 2.4 | Soft | County estimate |
| Essex | 61.9 | 3.6 | Moderately hard | County estimate |
| Sunderland | 43.3 | 2.5 | Soft | Utility-reported |
| West Newbury | 98.0 | 5.7 | Moderately hard | Utility-reported |
| Stockbridge | 120.0 | 7.0 | Moderately hard | County estimate |
| Sutton | 85.3 | 5.0 | Moderately hard | Utility-reported |
| West Brookfield | 41.0 | 2.4 | Soft | County estimate |
| Chelmsford | 66.8 | 3.9 | Moderately hard | County estimate |
| Tewksbury | 120.0 | 7.0 | Moderately hard | Utility-reported |
| Byfield | 147.0 | 8.6 | Hard | Utility-reported |
| Carver | 22.8 | 1.3 | Soft | Utility-reported |
| Shelburne Falls | 33.5 | 2.0 | Soft | County estimate |
| Deerfield | 33.5 | 2.0 | Soft | County estimate |
| Assonet | 31.9 | 1.9 | Soft | County estimate |
| East Brookfield | 41.0 | 2.4 | Soft | County estimate |
| Harvard | 252.3 | 14.8 | Very hard | Utility-reported |
| Brookfield | 41.0 | 2.4 | Soft | County estimate |
| Bernardston | 33.5 | 2.0 | Soft | County estimate |
| Thorndike | 24.0 | 1.4 | Soft | County estimate |
| Bondsville | 24.0 | 1.4 | Soft | County estimate |
| Cheshire | 120.0 | 7.0 | Moderately hard | County estimate |
| Great Barrington | 120.0 | 7.0 | Moderately hard | County estimate |
| Housatonic | 120.0 | 7.0 | Moderately hard | County estimate |
| North Dighton | 31.9 | 1.9 | Soft | County estimate |
| Russell | 24.0 | 1.4 | Soft | County estimate |
| Huntington | 16.0 | 0.9 | Soft | County estimate |
| Gilbertville | 41.0 | 2.4 | Soft | County estimate |
| West Warren | 41.0 | 2.4 | Soft | County estimate |
| Wellfleet | 63.2 | 3.7 | Moderately hard | Utility-reported |
| Charlton | 154.9 | 9.1 | Hard | Computed from Ca+Mg |
| Northfield | 33.5 | 2.0 | Soft | County estimate |
| Dunstable | 90.1 | 5.3 | Moderately hard | Utility-reported |
| Erving | 33.5 | 2.0 | Soft | County estimate |
| Millers Falls | 33.5 | 2.0 | Soft | County estimate |
| West Stockbridge | 120.0 | 7.0 | Moderately hard | County estimate |
| Boxborough | 262.0 | 15.3 | Very hard | Utility-reported |
| Mendon | 41.0 | 2.4 | Soft | County estimate |
| Montague | 33.5 | 2.0 | Soft | County estimate |
| Stow | 144.4 | 8.4 | Hard | Utility-reported |
| Lakeville | 30.9 | 1.8 | Soft | County estimate |
| Gill | 33.5 | 2.0 | Soft | County estimate |
| Concord | 66.8 | 3.9 | Moderately hard | County estimate |
| Wheelwright | 41.0 | 2.4 | Soft | County estimate |
| Royalston | 41.0 | 2.4 | Soft | County estimate |
| Berlin | 142.0 | 8.3 | Hard | Utility-reported |
| Westport | 31.9 | 1.9 | Soft | County estimate |
| Barnstable | 49.2 | 2.9 | Soft | Utility-reported |
| Warren | 41.0 | 2.4 | Soft | County estimate |
| Canton | 120.7 | 7.1 | Hard | Utility-reported |
| Boylston | 41.0 | 2.4 | Soft | County estimate |
| Cherry Valley | 90.0 | 5.3 | Moderately hard | Utility-reported |
| Raynham | 31.9 | 1.9 | Soft | County estimate |
| Bolton | 82.3 | 4.8 | Moderately hard | Utility-reported |
| Bedford | 157.0 | 9.2 | Hard | Utility-reported |
| South Wellfleet | 22.0 | 1.3 | Soft | County estimate |
| Mashpee | 22.0 | 1.3 | Soft | County estimate |
| Rehoboth | 31.9 | 1.9 | Soft | County estimate |
| Acushnet | 31.9 | 1.9 | Soft | County estimate |
| Acton | 66.8 | 3.9 | Moderately hard | County estimate |
| North Truro | 22.0 | 1.3 | Soft | County estimate |
| Hinsdale | 120.0 | 7.0 | Moderately hard | County estimate |
| Hampden | 24.0 | 1.4 | Soft | County estimate |
| Lunenburg | 41.0 | 2.4 | Soft | County estimate |
| Williamstown | 120.0 | 7.0 | Moderately hard | County estimate |
| Franklin | 174.0 | 10.2 | Hard | Utility-reported |
| Hubbardston | 41.0 | 2.4 | Soft | County estimate |
| Richmond | 120.0 | 7.0 | Moderately hard | County estimate |
| Sherborn | 66.8 | 3.9 | Moderately hard | 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 Massachusetts's Water Hardness
Massachusetts sits in the New England crystalline uplands region.
New England sits on granite, gneiss, and schist - crystalline bedrock with almost no carbonate minerals for water to dissolve. Ample rain and snowmelt move quickly through thin, glacially scoured soils into rivers and upland reservoirs without picking up much calcium or magnesium. That is why the USGS maps this region among the softest water in the country.
Massachusetts Water Hardness FAQ
Does Massachusetts have hard water?
On the whole, no — Massachusetts's statewide median sits below the hard threshold, though some cities run harder. The median is 49.2 mg/L (2.9 gpg) — soft on the USGS scale, where anything above 120 mg/L (7 gpg) counts as hard. 24 of Massachusetts's 252 measured cities fall in the hard or very hard bands (10%), so check your own city rather than the state average.
How hard is tap water in Massachusetts?
Across the 252 Massachusetts cities with measured values in our index, the median hardness is 49.2 mg/L (2.9 gpg) — soft on the USGS scale. Individual cities range from 7.4 to 262.0 mg/L, so check your own city rather than assuming the state number.
Which city in Massachusetts has the hardest water?
Boxborough has the hardest measured tap water in our Massachusetts index at 262.0 mg/L (15.3 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 Massachusetts?
24 of Massachusetts's 252 measured cities (10%) 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 Massachusetts city from utility-reported water quality data, check your water utility's annual Consumer Confidence Report (CCR), or use a home test-strip kit.
Stay Informed About Your Water Quality
Get EPA reports, filter recommendations, and safety alerts for your area.
Join 10,000+ people protecting their families. Unsubscribe anytime.