Skip to main content

Water Hardness in Pennsylvania

Across 361 measured cities — with 647 more covered by labeled county-level estimates — Pennsylvania's median tap water hardness is 90.0 mg/L (5.3 gpg): moderately hard 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.

State Median
90.0
mg/L (5.3 gpg), measured cities
Measured Range
19.8-289.4
mg/L across measured cities
Measured Cities
361
utility-reported or computed values
County Estimates
647
64% of covered cities

What it costs to soften Pennsylvania water

Water softener cost in Pennsylvania at 5.3 gpg prices the equipment and the installation labour against the plumber wages published for Pennsylvania, and labels every range as modelled or measured rather than leaving you to guess which it is.

Pennsylvania · 5.26 grains per gallon

$963–$1,257

installed, midpoint $1,094 — a 24,000-grain unit, the size 4 people at this hardness need.

Salt and drain water over 10 years: $622–$1,247 — the 5,759,700 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: 11,046 grains of capacity needed, rounded up to the next common residential size. The median of 361 measured Pennsylvania 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.

Pennsylvania Cities by Hardness Category

Measured cities only — labeled county estimates never enter the category counts or the median.

CategoryRangeMeasured citiesShare
Soft0-60 mg/L9626.6%
Moderately hard60-120 mg/L18451.0%
Hard120-180 mg/L6317.5%
Very hard>180 mg/L185.0%

Hardest and Softest Water in Pennsylvania

Measured values only; labeled county estimates and values under active dispute never rank.

Hardest water in Pennsylvania

  1. Perkasie — 289.4 mg/L (16.9 gpg), very hard
  2. Milford Square — 276.0 mg/L (16.1 gpg), very hard
  3. Spinnerstown — 276.0 mg/L (16.1 gpg), very hard
  4. Elizabethtown — 255.0 mg/L (14.9 gpg), very hard
  5. Rheems — 255.0 mg/L (14.9 gpg), very hard

Softest water in Pennsylvania

  1. Belfast — 19.8 mg/L (1.2 gpg), soft
  2. Eastlawn Gardens — 19.8 mg/L (1.2 gpg), soft
  3. Nazareth — 19.8 mg/L (1.2 gpg), soft
  4. Pen Argyl — 19.8 mg/L (1.2 gpg), soft
  5. Stockertown — 19.8 mg/L (1.2 gpg), soft

Every Covered City in Pennsylvania

All 1,008 covered Pennsylvania 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.

CityHardness (mg/L)gpgCategoryData
Andalusia127.07.4HardUtility-reported
Philadelphia127.07.4HardUtility-reported
Arcadia University153.08.9HardUtility-reported
Bala Cynwyd153.08.9HardUtility-reported
Bryn Athyn153.08.9HardUtility-reported
Cheltenham Village153.08.9HardUtility-reported
Conshohocken153.08.9HardUtility-reported
Elkins Park153.08.9HardUtility-reported
Flourtown153.08.9HardUtility-reported
Fort Washington153.08.9HardUtility-reported
Glenside153.08.9HardUtility-reported
Jenkintown153.08.9HardUtility-reported
King of Prussia153.08.9HardUtility-reported
McKinley153.08.9HardUtility-reported
Melrose Park153.08.9HardUtility-reported
Merion Station153.08.9HardUtility-reported
Mont Clare153.08.9HardUtility-reported
Narberth153.08.9HardUtility-reported
Oak Lane153.08.9HardUtility-reported
Oreland153.08.9HardUtility-reported
Penn Wynne153.08.9HardUtility-reported
Plymouth Meeting153.08.9HardUtility-reported
Rockledge153.08.9HardUtility-reported
Roslyn153.08.9HardUtility-reported
Swedeland153.08.9HardUtility-reported
Swedesburg153.08.9HardUtility-reported
West Conshohocken153.08.9HardUtility-reported
Willow Grove153.08.9HardUtility-reported
Wyncote153.08.9HardUtility-reported
Wyndmoor153.08.9HardUtility-reported
Wynnewood153.08.9HardUtility-reported
Baldwin102.06.0Moderately hardUtility-reported
Blaine Hill102.06.0Moderately hardUtility-reported
Boston102.06.0Moderately hardUtility-reported
Brentwood102.06.0Moderately hardUtility-reported
Bridgeville102.06.0Moderately hardUtility-reported
Buena Vista102.06.0Moderately hardUtility-reported
Carnegie102.06.0Moderately hardUtility-reported
Castle Shannon102.06.0Moderately hardUtility-reported
Clairton102.06.0Moderately hardUtility-reported
Coulter102.06.0Moderately hardUtility-reported
Crafton102.06.0Moderately hardUtility-reported
Dormont102.06.0Moderately hardUtility-reported
Dravosburg102.06.0Moderately hardUtility-reported
Elizabeth102.06.0Moderately hardUtility-reported
Glassport102.06.0Moderately hardUtility-reported
Glendale102.06.0Moderately hardUtility-reported
Green Tree102.06.0Moderately hardUtility-reported
Greenock102.06.0Moderately hardUtility-reported
Heidelberg102.06.0Moderately hardUtility-reported
Homestead102.06.0Moderately hardUtility-reported
Ingram102.06.0Moderately hardUtility-reported
Jefferson Hills102.06.0Moderately hardUtility-reported
Laboratory102.06.0Moderately hardUtility-reported
Lincoln102.06.0Moderately hardUtility-reported
Mount Oliver102.06.0Moderately hardUtility-reported
Munhall102.06.0Moderately hardUtility-reported
Noblestown102.06.0Moderately hardUtility-reported
Pennsbury Village102.06.0Moderately hardUtility-reported
Pleasant Hills102.06.0Moderately hardUtility-reported
Rennerdale102.06.0Moderately hardUtility-reported
Rosslyn Farms102.06.0Moderately hardUtility-reported
Southpointe102.06.0Moderately hardUtility-reported
Sturgeon102.06.0Moderately hardUtility-reported
Thornburg102.06.0Moderately hardUtility-reported
Versailles102.06.0Moderately hardUtility-reported
West Elizabeth102.06.0Moderately hardUtility-reported
West Homestead102.06.0Moderately hardUtility-reported
West Mifflin102.06.0Moderately hardUtility-reported
Whitaker102.06.0Moderately hardUtility-reported
Etna99.75.8Moderately hardUtility-reported
Millvale99.75.8Moderately hardUtility-reported
Pittsburgh99.75.8Moderately hardUtility-reported
Sharpsburg99.75.8Moderately hardUtility-reported
Erie90.95.3Moderately hardUtility-reported
Lawrence Park90.95.3Moderately hardUtility-reported
McKean90.95.3Moderately hardUtility-reported
Northwest Harborcreek90.95.3Moderately hardUtility-reported
Penn State Erie (Behrend)90.95.3Moderately hardUtility-reported
Wesleyville90.95.3Moderately hardUtility-reported
Allison Park81.74.8Moderately hardUtility-reported
Avalon81.74.8Moderately hardUtility-reported
Bellevue81.74.8Moderately hardUtility-reported
Ben Avon81.74.8Moderately hardUtility-reported
Bradford Woods81.74.8Moderately hardUtility-reported
Emsworth81.74.8Moderately hardUtility-reported
Franklin Park81.74.8Moderately hardUtility-reported
Glenshaw81.74.8Moderately hardUtility-reported
McKees Rocks81.74.8Moderately hardUtility-reported
Sewickley Hills81.74.8Moderately hardUtility-reported
West View81.74.8Moderately hardUtility-reported
East Prospect82.84.8Moderately hardUtility-reported
East York82.84.8Moderately hardUtility-reported
Emigsville82.84.8Moderately hardUtility-reported
Grantley82.84.8Moderately hardUtility-reported
Hallam82.84.8Moderately hardUtility-reported
Jacobus82.84.8Moderately hardUtility-reported
Loganville82.84.8Moderately hardUtility-reported
Manchester82.84.8Moderately hardUtility-reported
Mount Wolf82.84.8Moderately hardUtility-reported
North York82.84.8Moderately hardUtility-reported
Pleasureville82.84.8Moderately hardUtility-reported
Queens Gate82.84.8Moderately hardUtility-reported
Railroad82.84.8Moderately hardUtility-reported
Saginaw82.84.8Moderately hardUtility-reported
Seven Valleys82.84.8Moderately hardUtility-reported
Shiloh82.84.8Moderately hardUtility-reported
Spring Grove82.84.8Moderately hardUtility-reported
Spry82.84.8Moderately hardUtility-reported
Stonybrook82.84.8Moderately hardUtility-reported
Tyler Run82.84.8Moderately hardUtility-reported
West York82.84.8Moderately hardUtility-reported
York82.84.8Moderately hardUtility-reported
York Haven82.84.8Moderately hardUtility-reported
Yorkana82.84.8Moderately hardUtility-reported
Yorklyn82.84.8Moderately hardUtility-reported
Adamsburg65.83.9Moderately hardUtility-reported
Apollo65.83.9Moderately hardUtility-reported
Delmont65.83.9Moderately hardUtility-reported
East Vandergrift65.83.9Moderately hardUtility-reported
Export65.83.9Moderately hardUtility-reported
Greensburg65.83.9Moderately hardUtility-reported
Hyde Park65.83.9Moderately hardUtility-reported
Irwin65.83.9Moderately hardUtility-reported
Jeannette65.83.9Moderately hardUtility-reported
Leechburg65.83.9Moderately hardUtility-reported
Level Green65.83.9Moderately hardUtility-reported
Manor65.83.9Moderately hardUtility-reported
New Alexandria65.83.9Moderately hardUtility-reported
North Irwin65.83.9Moderately hardUtility-reported
Oklahoma65.83.9Moderately hardUtility-reported
Orchard Hills65.83.9Moderately hardUtility-reported
Penn65.83.9Moderately hardUtility-reported
South Greensburg65.83.9Moderately hardUtility-reported
Southwest Greensburg65.83.9Moderately hardUtility-reported
Trafford65.83.9Moderately hardUtility-reported
West Leechburg65.83.9Moderately hardUtility-reported
West Wilmerding65.83.9Moderately hardUtility-reported
Boothwyn119.07.0Moderately hardUtility-reported
Brookhaven119.07.0Moderately hardUtility-reported
Chester119.07.0Moderately hardUtility-reported
Chester Heights119.07.0Moderately hardUtility-reported
Cheyney University119.07.0Moderately hardUtility-reported
Linwood119.07.0Moderately hardUtility-reported
Marcus Hook119.07.0Moderately hardUtility-reported
Parkside119.07.0Moderately hardUtility-reported
Trainer119.07.0Moderately hardUtility-reported
Upland119.07.0Moderately hardUtility-reported
Village Green-Green Ridge119.07.0Moderately hardUtility-reported
Archbald44.02.6SoftUtility-reported
Blakely44.02.6SoftUtility-reported
Browndale44.02.6SoftUtility-reported
Carbondale44.02.6SoftUtility-reported
Chinchilla44.02.6SoftUtility-reported
Clarks Green44.02.6SoftUtility-reported
Clarks Summit44.02.6SoftUtility-reported
Dalton44.02.6SoftUtility-reported
Dickson City44.02.6SoftUtility-reported
Dunmore44.02.6SoftUtility-reported
Glenburn44.02.6SoftUtility-reported
Jermyn44.02.6SoftUtility-reported
Jessup44.02.6SoftUtility-reported
Mayfield44.02.6SoftUtility-reported
Moosic44.02.6SoftUtility-reported
Olyphant44.02.6SoftUtility-reported
Scranton44.02.6SoftUtility-reported
Simpson44.02.6SoftUtility-reported
Taylor44.02.6SoftUtility-reported
Throop44.02.6SoftUtility-reported
Waverly44.02.6SoftUtility-reported
Connellsville46.72.7SoftUtility-reported
Everson46.72.7SoftUtility-reported
South Connellsville46.72.7SoftUtility-reported
Braddock Hills90.25.3Moderately hardUtility-reported
Chalfant90.25.3Moderately hardUtility-reported
Churchill90.25.3Moderately hardUtility-reported
East Pittsburgh90.25.3Moderately hardUtility-reported
Edgewood90.25.3Moderately hardUtility-reported
Forest Hills90.25.3Moderately hardUtility-reported
North Braddock90.25.3Moderately hardUtility-reported
Pitcairn90.25.3Moderately hardUtility-reported
Rankin90.25.3Moderately hardUtility-reported
Swissvale90.25.3Moderately hardUtility-reported
Turtle Creek90.25.3Moderately hardUtility-reported
Wilkinsburg90.25.3Moderately hardUtility-reported
Wilmerding90.25.3Moderately hardUtility-reported
Lampeter120.07.0Moderately hardUtility-reported
Lancaster120.07.0Moderately hardUtility-reported
Landisville120.07.0Moderately hardUtility-reported
Millersville120.07.0Moderately hardUtility-reported
Rohrerstown120.07.0Moderately hardUtility-reported
Willow Street120.07.0Moderately hardUtility-reported
Allentown192.011.2Very hardUtility-reported
Cetronia192.011.2Very hardUtility-reported
Dorneyville192.011.2Very hardUtility-reported
Fullerton192.011.2Very hardUtility-reported
Bath48.02.8SoftCounty estimate
Bethlehem63.43.7Moderately hardUtility-reported
Fountain Hill63.43.7Moderately hardUtility-reported
Freemansburg63.43.7Moderately hardUtility-reported
Levittown96.05.6Moderately hardCounty estimate
Chestnut Hill50.22.9SoftUtility-reported
Easton50.22.9SoftUtility-reported
Glendon50.22.9SoftUtility-reported
Morgan Hill50.22.9SoftUtility-reported
Old Orchard50.22.9SoftUtility-reported
Palmer Heights50.22.9SoftUtility-reported
West Easton50.22.9SoftUtility-reported
Wilson50.22.9SoftUtility-reported
Camp Hill128.07.5HardUtility-reported
Enola128.07.5HardUtility-reported
Lemoyne128.07.5HardUtility-reported
Lower Allen128.07.5HardUtility-reported
Mechanicsburg128.07.5HardUtility-reported
New Kingstown128.07.5HardUtility-reported
Shiremanstown128.07.5HardUtility-reported
West Fairview128.07.5HardUtility-reported
Wormleysburg128.07.5HardUtility-reported
Reading64.03.7Moderately hardCounty estimate
Evansburg63.83.7Moderately hardUtility-reported
Harleysville63.83.7Moderately hardUtility-reported
Hatfield63.83.7Moderately hardUtility-reported
Kulpsville63.83.7Moderately hardUtility-reported
Lansdale63.83.7Moderately hardUtility-reported
Skippack63.83.7Moderately hardUtility-reported
Souderton63.83.7Moderately hardUtility-reported
Blue Bell125.07.3HardUtility-reported
Bridgeport125.07.3HardUtility-reported
Eagleville125.07.3HardUtility-reported
Norristown125.07.3HardUtility-reported
Trooper125.07.3HardUtility-reported
Fairless Hills96.05.6Moderately hardCounty estimate
Duncansville133.07.8HardCounty estimate
Maple Glen56.83.3SoftUtility-reported
Montgomeryville56.83.3SoftUtility-reported
North Wales56.83.3SoftUtility-reported
Spring House56.83.3SoftUtility-reported
State College178.010.4HardUtility-reported
Tyrone133.07.8HardCounty estimate
Harrisburg30.11.8SoftUtility-reported
Penbrook30.11.8SoftUtility-reported
Progress30.11.8SoftUtility-reported
Altoona133.07.8HardCounty estimate
Tipton133.07.8HardCounty estimate
Dorseyville107.06.3Moderately hardUtility-reported
Cornwells Heights113.06.6Moderately hardUtility-reported
Eddington113.06.6Moderately hardUtility-reported
Trevose113.06.6Moderately hardUtility-reported
Franklin61.03.6Moderately hardCounty estimate
Lebanon266.015.6Very hardCounty estimate
Jonestown266.015.6Very hardCounty estimate
Allison49.02.9SoftCounty estimate
Hiller49.02.9SoftCounty estimate
Daisytown153.08.9HardCounty estimate
Brownstown179.510.5HardCounty estimate
Freedom156.59.2HardCounty estimate
Ashley29.41.7SoftUtility-reported
Avoca29.41.7SoftUtility-reported
Browntown29.41.7SoftUtility-reported
Courtdale29.41.7SoftUtility-reported
Dupont29.41.7SoftUtility-reported
Duryea29.41.7SoftUtility-reported
Edwardsville29.41.7SoftUtility-reported
Exeter29.41.7SoftUtility-reported
Forty Fort29.41.7SoftUtility-reported
Glen Lyon29.41.7SoftUtility-reported
Hilldale29.41.7SoftUtility-reported
Hudson29.41.7SoftUtility-reported
Hughestown29.41.7SoftUtility-reported
Inkerman29.41.7SoftUtility-reported
Kingston29.41.7SoftUtility-reported
Laflin29.41.7SoftUtility-reported
Larksville29.41.7SoftUtility-reported
Laurel Run29.41.7SoftUtility-reported
Luzerne29.41.7SoftUtility-reported
Mocanaqua29.41.7SoftUtility-reported
Mountain Top29.41.7SoftUtility-reported
Nanticoke29.41.7SoftUtility-reported
Pittston29.41.7SoftUtility-reported
Plains29.41.7SoftUtility-reported
Plymouth29.41.7SoftUtility-reported
Pringle29.41.7SoftUtility-reported
Shavertown29.41.7SoftUtility-reported
Sheatown29.41.7SoftUtility-reported
Shickshinny29.41.7SoftUtility-reported
Sugar Notch29.41.7SoftUtility-reported
Swoyersville29.41.7SoftUtility-reported
Trucksville29.41.7SoftUtility-reported
Wanamie29.41.7SoftUtility-reported
Warrior Run29.41.7SoftUtility-reported
West Nanticoke29.41.7SoftUtility-reported
West Pittston29.41.7SoftUtility-reported
West Wyoming29.41.7SoftUtility-reported
Wilkes-Barre29.41.7SoftUtility-reported
Wyoming29.41.7SoftUtility-reported
Yatesville29.41.7SoftUtility-reported
Feasterville70.34.1Moderately hardUtility-reported
Langhorne70.34.1Moderately hardUtility-reported
Langhorne Manor70.34.1Moderately hardUtility-reported
Parkland70.34.1Moderately hardUtility-reported
Penndel70.34.1Moderately hardUtility-reported
Woodbourne70.34.1Moderately hardUtility-reported
Conway156.59.2HardCounty estimate
Williamsport31.01.8SoftCounty estimate
Beallsville153.08.9HardCounty estimate
Millsboro153.08.9HardCounty estimate
Johnstown42.02.5SoftCounty estimate
Beaver Falls156.59.2HardCounty estimate
Ferndale96.05.6Moderately hardCounty estimate
New Brighton156.59.2HardCounty estimate
Rochester156.59.2HardCounty estimate
West Chester133.07.8HardUtility-reported
Monroeville96.05.6Moderately hardCounty estimate
Kimberton106.06.2Moderately hardUtility-reported
Spring City106.06.2Moderately hardUtility-reported
Mercer88.05.2Moderately hardCounty estimate
New Kensington91.05.3Moderately hardCounty estimate
Ancient Oaks240.014.0Very hardUtility-reported
Breinigsville240.014.0Very hardUtility-reported
Trexlertown240.014.0Very hardUtility-reported
Wescosville240.014.0Very hardUtility-reported
Beaver Meadows16.00.9SoftCounty estimate
Thorndale121.07.1HardCounty estimate
Hazleton74.04.3Moderately hardCounty estimate
Messiah College103.06.0Moderately hardUtility-reported
Harleigh74.04.3Moderately hardCounty estimate
Shamokin83.04.8Moderately hardCounty estimate
Chicora137.08.0HardCounty estimate
Ashland94.45.5Moderately hardCounty estimate
Elysburg29.01.7SoftCounty estimate
Girardville94.45.5Moderately hardCounty estimate
Gordon94.45.5Moderately hardCounty estimate
Kulpmont83.04.8Moderately hardCounty estimate
Lavelle94.45.5Moderately hardCounty estimate
Locust Gap83.04.8Moderately hardCounty estimate
Marion Heights83.04.8Moderately hardCounty estimate
Mount Carmel83.04.8Moderately hardCounty estimate
Trevorton83.04.8Moderately hardCounty estimate
Bairdford90.05.3Moderately hardUtility-reported
Curtisville90.05.3Moderately hardUtility-reported
Oakmont90.05.3Moderately hardUtility-reported
Russellton90.05.3Moderately hardUtility-reported
Verona90.05.3Moderately hardUtility-reported
Quarryville179.510.5HardCounty estimate
Hanover74.84.4Moderately hardUtility-reported
Parkville74.84.4Moderately hardUtility-reported
Pennville74.84.4Moderately hardUtility-reported
Marianna153.08.9HardCounty estimate
Clarksville155.09.1HardCounty estimate
Crucible155.09.1HardCounty estimate
Jefferson155.09.1HardCounty estimate
Mather155.09.1HardCounty estimate
Mount Morris155.09.1HardCounty estimate
Nemacolin155.09.1HardCounty estimate
Northampton56.93.3SoftUtility-reported
Republic49.02.9SoftCounty estimate
Rices Landing155.09.1HardCounty estimate
Warminster96.05.6Moderately hardCounty estimate
Waynesburg155.09.1HardCounty estimate
Fairchance49.02.9SoftCounty estimate
St. Clair94.45.5Moderately hardCounty estimate
Newtown96.95.7Moderately hardUtility-reported
Newtown Grant96.95.7Moderately hardUtility-reported
Coatesville121.07.1HardCounty estimate
Cokeburg153.08.9HardCounty estimate
University Park155.09.1HardCounty estimate
Atglen121.07.1HardCounty estimate
Christiana179.510.5HardCounty estimate
Parkesburg121.07.1HardCounty estimate
Pomeroy121.07.1HardCounty estimate
Sadsburyville121.07.1HardCounty estimate
Churchville109.06.4Moderately hardUtility-reported
Richboro109.06.4Moderately hardUtility-reported
Village Shires109.06.4Moderately hardUtility-reported
Eagleview135.07.9HardUtility-reported
Exton135.07.9HardUtility-reported
Lionville135.07.9HardUtility-reported
Dawson49.02.9SoftCounty estimate
Dunbar49.02.9SoftCounty estimate
Elco153.08.9HardCounty estimate
Hopwood49.02.9SoftCounty estimate
Oliver49.02.9SoftCounty estimate
Perryopolis49.02.9SoftCounty estimate
Roscoe153.08.9HardCounty estimate
Smithfield49.02.9SoftCounty estimate
Smock49.02.9SoftCounty estimate
Star Junction49.02.9SoftCounty estimate
Stockdale153.08.9HardCounty estimate
Uniontown49.02.9SoftCounty estimate
Vanderbilt49.02.9SoftCounty estimate
Aliquippa156.59.2HardCounty estimate
Woodside119.07.0Moderately hardUtility-reported
Yardley119.07.0Moderately hardUtility-reported
Pottsville94.45.5Moderately hardCounty estimate
McKeesport96.05.6Moderately hardCounty estimate
Port Carbon94.45.5Moderately hardCounty estimate
Chambersburg54.03.2SoftCounty estimate
Imperial96.05.6Moderately hardCounty estimate
Carlisle176.010.3HardUtility-reported
Dewart49.42.9SoftUtility-reported
Kapp Heights49.42.9SoftUtility-reported
Milton49.42.9SoftUtility-reported
Montandon49.42.9SoftUtility-reported
Northumberland49.42.9SoftUtility-reported
Watsontown49.42.9SoftUtility-reported
Stroudsburg24.01.4SoftCounty estimate
Hostetter91.05.3Moderately hardCounty estimate
Latrobe91.05.3Moderately hardCounty estimate
Loyalhanna91.05.3Moderately hardCounty estimate
Bentleyville153.08.9HardCounty estimate
Fayetteville54.03.2SoftCounty estimate
Bristol96.05.6Moderately hardCounty estimate
Croydon96.05.6Moderately hardCounty estimate
Ellsworth153.08.9HardCounty estimate
Marion54.03.2SoftCounty estimate
Scotland54.03.2SoftCounty estimate
Charleroi153.08.9HardCounty estimate
Donora153.08.9HardCounty estimate
Dunlevy153.08.9HardCounty estimate
California153.08.9HardCounty estimate
Columbia179.510.5HardCounty estimate
Marietta179.510.5HardCounty estimate
Mountville179.510.5HardCounty estimate
Horsham127.07.4HardUtility-reported
Douglassville64.03.7Moderately hardCounty estimate
Ephrata179.510.5HardCounty estimate
Belfast19.81.2SoftUtility-reported
Eastlawn Gardens19.81.2SoftUtility-reported
Nazareth19.81.2SoftUtility-reported
Pen Argyl19.81.2SoftUtility-reported
Stockertown19.81.2SoftUtility-reported
Tatamy19.81.2SoftUtility-reported
Wind Gap19.81.2SoftUtility-reported
Dover102.06.0Moderately hardCounty estimate
Baden156.59.2HardCounty estimate
Beaverdale42.02.5SoftCounty estimate
Jamestown70.34.1Moderately hardCounty estimate
Lilly42.02.5SoftCounty estimate
Salix42.02.5SoftCounty estimate
South Fork42.02.5SoftCounty estimate
Summerhill42.02.5SoftCounty estimate
Wilmore42.02.5SoftCounty estimate
Lemont Furnace107.06.3Moderately hardUtility-reported
Mcmurry107.06.3Moderately hardUtility-reported
Indiana99.05.8Moderately hardCounty estimate
New Castle138.08.1HardCounty estimate
Temple64.03.7Moderately hardCounty estimate
Philipsburg155.09.1HardCounty estimate
Blairsville99.05.8Moderately hardCounty estimate
Mineral Springs148.08.7HardCounty estimate
Morrisdale148.08.7HardCounty estimate
Osceola Mills148.08.7HardCounty estimate
Wallaceton148.08.7HardCounty estimate
Woodland148.08.7HardCounty estimate
Kersey33.01.9SoftCounty estimate
Ambler183.010.7Very hardUtility-reported
Lock Haven35.02.0SoftCounty estimate
Saint Marys33.01.9SoftCounty estimate
St. Marys33.01.9SoftCounty estimate
Ambridge156.59.2HardCounty estimate
Lewis Run26.01.5SoftCounty estimate
Lititz179.510.5HardCounty estimate
Elizabethtown255.014.9Very hardUtility-reported
Rheems255.014.9Very hardUtility-reported
Fredericksburg266.015.6Very hardCounty estimate
Bradford26.01.5SoftCounty estimate
Fox Chapel86.45.0Moderately hardUtility-reported
Hyde148.08.7HardCounty estimate
Shippensburg158.09.2HardCounty estimate
Meadville70.34.1Moderately hardCounty estimate
Mount Pocono24.01.4SoftCounty estimate
Orrstown54.03.2SoftCounty estimate
Dallas74.04.3Moderately hardCounty estimate
Coaldale94.45.5Moderately hardCounty estimate
Windsor102.06.0Moderately hardCounty estimate
Ellport166.09.7HardUtility-reported
Ellwood City166.09.7HardUtility-reported
Frisco166.09.7HardUtility-reported
New Beaver166.09.7HardUtility-reported
Wurtemburg166.09.7HardUtility-reported
Brackenridge96.05.6Moderately hardCounty estimate
Clarion69.04.0Moderately hardCounty estimate
Shippenville69.04.0Moderately hardCounty estimate
Sligo69.04.0Moderately hardCounty estimate
Strattanville69.04.0Moderately hardCounty estimate
Phoenixville158.09.2HardUtility-reported
Coal Center153.08.9HardCounty estimate
Armagh99.05.8Moderately hardCounty estimate
Black Lick99.05.8Moderately hardCounty estimate
Bolivar91.05.3Moderately hardCounty estimate
New Florence91.05.3Moderately hardCounty estimate
Robinson99.05.8Moderately hardCounty estimate
Seward99.05.8Moderately hardCounty estimate
Southampton83.54.9Moderately hardUtility-reported
Huntingdon92.05.4Moderately hardCounty estimate
Shippingport156.59.2HardCounty estimate
Red Lion102.06.0Moderately hardCounty estimate
Slippery Rock137.08.0HardCounty estimate
Brownsville153.08.9HardCounty estimate
Kutztown64.03.7Moderately hardCounty estimate
Sayre60.03.5SoftCounty estimate
Athens60.03.5SoftCounty estimate
Bellefonte155.09.1HardCounty estimate
Mount Joy92.95.4Moderately hardUtility-reported
Perkasie289.416.9Very hardComputed from Ca+Mg
South Heights156.59.2HardCounty estimate
Jamison116.06.8Moderately hardUtility-reported
Warren36.02.1SoftCounty estimate
Clearfield148.08.7HardCounty estimate
Emmaus124.57.3HardCounty estimate
Gettysburg10.00.6SoftCounty estimate
Quakertown96.05.6Moderately hardCounty estimate
Natrona Heights96.05.6Moderately hardCounty estimate
Morrisville110.06.4Moderately hardUtility-reported
Waynesboro54.03.2SoftCounty estimate
Whitehall124.57.3HardCounty estimate
Hatboro173.010.1HardUtility-reported
Fort Loudon54.03.2SoftCounty estimate
Dallastown102.06.0Moderately hardCounty estimate
Nesquehoning16.00.9SoftCounty estimate
Harveys Lake74.04.3Moderately hardCounty estimate
Mohnton64.03.7Moderately hardCounty estimate
Clinton156.59.2HardCounty estimate
Grove City88.05.2Moderately hardCounty estimate
Hollidaysburg133.07.8HardCounty estimate
Sunbury72.24.2Moderately hardUtility-reported
Mars137.08.0HardCounty estimate
Valencia137.08.0HardCounty estimate
Fairview115.06.7Moderately hardCounty estimate
Mill Hall35.02.0SoftCounty estimate
Bakerstown96.05.6Moderately hardCounty estimate
Gibsonia96.05.6Moderately hardCounty estimate
Mackeyville35.02.0SoftCounty estimate
Centerville70.34.1Moderately hardCounty estimate
Fredericktown153.08.9HardCounty estimate
Boiling Springs158.09.2HardCounty estimate
Myerstown266.015.6Very hardCounty estimate
Downingtown121.07.1HardCounty estimate
Manheim179.510.5HardCounty estimate
Creekside99.05.8Moderately hardCounty estimate
Ernest99.05.8Moderately hardCounty estimate
Marion Center99.05.8Moderately hardCounty estimate
Plumville99.05.8Moderately hardCounty estimate
Shelocta81.04.7Moderately hardCounty estimate
Tarentum96.05.6Moderately hardCounty estimate
Windber32.01.9SoftCounty estimate
Newmanstown266.015.6Very hardCounty estimate
Lansford16.00.9SoftCounty estimate
Middletown91.05.3Moderately hardCounty estimate
Big Run110.06.4Moderately hardCounty estimate
Punxsutawney110.06.4Moderately hardCounty estimate
Doylestown152.08.9HardUtility-reported
New Britain138.08.1HardUtility-reported
Collegeville129.07.5HardCounty estimate
Dillsburg102.06.0Moderately hardCounty estimate
Kittanning81.04.7Moderately hardCounty estimate
Brisbin148.08.7HardCounty estimate
Houtzdale148.08.7HardCounty estimate
Madera148.08.7HardCounty estimate
Ramey148.08.7HardCounty estimate
Adrian81.04.7Moderately hardCounty estimate
Tamaqua94.45.5Moderately hardCounty estimate
Beaver156.59.2HardCounty estimate
Columbus36.02.1SoftCounty estimate
Corry115.06.7Moderately hardCounty estimate
Davidsville32.01.9SoftCounty estimate
Jerome32.01.9SoftCounty estimate
Leetsdale96.05.6Moderately hardCounty estimate
Leola179.510.5HardCounty estimate
Telford129.07.5HardCounty estimate
Selinsgrove83.04.8Moderately hardCounty estimate
DeSales University144.08.4HardUtility-reported
Womelsdorf64.03.7Moderately hardCounty estimate
Brockton94.45.5Moderately hardCounty estimate
Llewellyn94.45.5Moderately hardCounty estimate
Middleport94.45.5Moderately hardCounty estimate
New Philadelphia94.45.5Moderately hardCounty estimate
Robesonia64.03.7Moderately hardCounty estimate
Donegal91.05.3Moderately hardCounty estimate
Indian Head49.02.9SoftCounty estimate
Ohiopyle49.02.9SoftCounty estimate
Palmerton16.00.9SoftCounty estimate
Glen Osborne208.012.2Very hardUtility-reported
Haysville208.012.2Very hardUtility-reported
Sewickley208.012.2Very hardUtility-reported
Sewickley Heights208.012.2Very hardUtility-reported
Towanda60.03.5SoftCounty estimate
Adamstown179.510.5HardCounty estimate
Stevens179.510.5HardCounty estimate
McAdoo94.45.5Moderately hardCounty estimate
Morgantown64.03.7Moderately hardCounty estimate
Derry91.05.3Moderately hardCounty estimate
Monaca156.59.2HardCounty estimate
Ridgway33.01.9SoftCounty estimate
Hummelstown91.05.3Moderately hardCounty estimate
Ligonier91.05.3Moderately hardCounty estimate
East Petersburg179.510.5HardCounty estimate
Montoursville31.01.8SoftCounty estimate
Cressona94.45.5Moderately hardCounty estimate
Schuylkill Haven94.45.5Moderately hardCounty estimate
Chalfont96.05.6Moderately hardCounty estimate
Freeport81.04.7Moderately hardCounty estimate
Sarver137.08.0HardCounty estimate
Coraopolis96.05.6Moderately hardCounty estimate
Mount Union92.05.4Moderately hardCounty estimate
Hellertown48.02.8SoftCounty estimate
Silverdale34.02.0SoftUtility-reported
Muncy31.01.8SoftCounty estimate
Cresson42.02.5SoftCounty estimate
Duquesne96.05.6Moderately hardCounty estimate
Greencastle54.03.2SoftCounty estimate
Dublin96.05.6Moderately hardCounty estimate
Slatington124.57.3HardCounty estimate
New Albany60.03.5SoftCounty estimate
Flinton42.02.5SoftCounty estimate
Homer City99.05.8Moderately hardCounty estimate
Shawnee On Delaware24.01.4SoftCounty estimate
Greensboro155.09.1HardCounty estimate
Avondale121.07.1HardCounty estimate
Shrewsbury102.06.0Moderately hardCounty estimate
Jennerstown32.01.9SoftCounty estimate
Curwensville148.08.7HardCounty estimate
Glen Richey148.08.7HardCounty estimate
Milford Square276.016.1Very hardComputed from Ca+Mg
Spinnerstown276.016.1Very hardComputed from Ca+Mg
Mifflinburg81.04.7Moderately hardCounty estimate
Seneca61.03.6Moderately hardCounty estimate
Brockway110.06.4Moderately hardCounty estimate
Fleetwood64.03.7Moderately hardCounty estimate
White Haven74.04.3Moderately hardCounty estimate
Akron179.510.5HardCounty estimate
Bobtown155.09.1HardCounty estimate
Dilliner155.09.1HardCounty estimate
Treasure Lake25.51.5SoftUtility-reported
Buckingham159.09.3HardUtility-reported
Point Marion49.02.9SoftCounty estimate
Tobyhanna24.01.4SoftCounty estimate
New Oxford10.00.6SoftCounty estimate
Coudersport24.01.4SoftCounty estimate
Hegins94.45.5Moderately hardCounty estimate
Valley View94.45.5Moderately hardCounty estimate
Denver179.510.5HardCounty estimate
Masontown49.02.9SoftCounty estimate
Blain City85.05.0Moderately hardCounty estimate
Honey Brook121.07.1HardCounty estimate
Petrolia137.08.0HardCounty estimate
Maytown179.510.5HardCounty estimate
Annville266.015.6Very hardCounty estimate
Drifting148.08.7HardCounty estimate
Lanse148.08.7HardCounty estimate
Winburne148.08.7HardCounty estimate
Girard115.06.7Moderately hardCounty estimate
Martinsburg133.07.8HardCounty estimate
Walnutport48.02.8SoftCounty estimate
Boswell32.01.9SoftCounty estimate
Springdale96.05.6Moderately hardCounty estimate
Roaring Spring133.07.8HardCounty estimate
Cornwall266.015.6Very hardCounty estimate
Lykens91.05.3Moderately hardCounty estimate
Union City115.06.7Moderately hardCounty estimate
Emporium26.01.5SoftCounty estimate
Mount Holly Springs158.09.2HardCounty estimate
Mingoville155.09.1HardCounty estimate
Conyngham74.04.3Moderately hardCounty estimate
Newport85.05.0Moderately hardCounty estimate
Bellwood133.07.8HardCounty estimate
Reynoldsville110.06.4Moderately hardCounty estimate
New Bethlehem69.04.0Moderately hardCounty estimate
Tower City91.05.3Moderately hardCounty estimate
Gallitzin42.02.5SoftCounty estimate
Midland156.59.2HardCounty estimate
Seven Fields55.03.2SoftUtility-reported
Strasburg179.510.5HardCounty estimate
Macungie124.57.3HardCounty estimate
New Hope96.05.6Moderately hardCounty estimate
Avis35.02.0SoftCounty estimate
Champion49.02.9SoftCounty estimate
Orwigsburg94.45.5Moderately hardCounty estimate
Woolrich35.02.0SoftCounty estimate
Clarence155.09.1HardCounty estimate
Snow Shoe155.09.1HardCounty estimate
Lake City115.06.7Moderately hardCounty estimate
Matamoras19.61.1SoftCounty estimate
Milford19.61.1SoftCounty estimate
Summit Hill16.00.9SoftCounty estimate
Hughesville31.01.8SoftCounty estimate
Markleysburg49.02.9SoftCounty estimate
Milesburg155.09.1HardCounty estimate
Youngstown91.05.3Moderately hardCounty estimate
Pine Grove94.45.5Moderately hardCounty estimate
Elizabethville91.05.3Moderately hardCounty estimate
Montgomery31.01.8SoftCounty estimate
Elkland55.03.2SoftCounty estimate
Weatherly16.00.9SoftCounty estimate
Pipersville96.05.6Moderately hardCounty estimate
Port Allegany70.34.1Moderately hardUtility-reported
Coopersburg124.57.3HardCounty estimate
Meyersdale32.01.9SoftCounty estimate
Loretto42.02.5SoftCounty estimate
Tremont94.45.5Moderately hardCounty estimate
Biglerville10.00.6SoftCounty estimate
Claysburg133.07.8HardCounty estimate
East Greenville129.07.5HardCounty estimate
Hereford64.03.7Moderately hardCounty estimate
Red Hill129.07.5HardCounty estimate
Berlin32.01.9SoftCounty estimate
Reinholds179.510.5HardCounty estimate
Johnsonburg33.01.9SoftCounty estimate
Smethport26.01.5SoftCounty estimate
Williamstown91.05.3Moderately hardCounty estimate
Cambridge Springs70.34.1Moderately hardCounty estimate
Factoryville50.02.9SoftCounty estimate
Mercersburg54.03.2SoftCounty estimate
Patton42.02.5SoftCounty estimate
Halifax91.05.3Moderately hardCounty estimate
Jim Thorpe16.00.9SoftCounty estimate
East Stroudsburg24.01.4SoftCounty estimate
Oley64.03.7Moderately hardCounty estimate
Leesport64.03.7Moderately hardCounty estimate
Waterford115.06.7Moderately hardCounty estimate
Fairfield10.00.6SoftCounty estimate
Shoemakersville64.03.7Moderately hardCounty estimate
Bally64.03.7Moderately hardCounty estimate
Alburtis64.03.7Moderately hardCounty estimate
Hastings42.02.5SoftCounty estimate
Warrington96.05.6Moderately hardCounty estimate
Newville158.09.2HardCounty estimate
Topton64.03.7Moderately hardCounty estimate
Canton60.03.5SoftCounty estimate
Bushkill19.61.1SoftCounty estimate
Everett72.04.2Moderately hardCounty estimate
Braddock96.05.6Moderately hardCounty estimate
Creighton96.05.6Moderately hardCounty estimate
Glen Rock102.06.0Moderately hardCounty estimate
Evans City137.08.0HardCounty estimate
Central City32.01.9SoftCounty estimate
Irvona148.08.7HardCounty estimate
Youngsville36.02.1SoftCounty estimate
Centre Hall155.09.1HardCounty estimate
Elderton81.04.7Moderately hardCounty estimate
East Brady81.04.7Moderately hardCounty estimate
Rimersburg69.04.0Moderately hardCounty estimate
Industry156.59.2HardCounty estimate
Cheswick96.05.6Moderately hardCounty estimate
Coalport148.08.7HardCounty estimate
Glen Hope148.08.7HardCounty estimate
Oil City61.03.6Moderately hardCounty estimate
Sharon88.05.2Moderately hardCounty estimate
Beech Creek35.02.0SoftCounty estimate
Blanchard155.09.1HardCounty estimate
Renovo35.02.0SoftCounty estimate
Williamsburg133.07.8HardCounty estimate
East Berlin10.00.6SoftCounty estimate
Blandburg42.02.5SoftCounty estimate
Mont Alto54.03.2SoftCounty estimate
Clymer99.05.8Moderately hardCounty estimate
Frenchville148.08.7HardCounty estimate
Karthaus155.09.1HardCounty estimate
Loysburg72.04.2Moderately hardCounty estimate
Richland64.03.7Moderately hardCounty estimate
Shamokin Dam83.04.8Moderately hardCounty estimate
Saxton72.04.2Moderately hardCounty estimate
Blossburg55.03.2SoftCounty estimate
Twin Rocks42.02.5SoftCounty estimate
Catawissa29.01.7SoftCounty estimate
Intercourse179.510.5HardCounty estimate
Farmington49.02.9SoftCounty estimate
Harwick96.05.6Moderately hardCounty estimate
Lamar35.02.0SoftCounty estimate
Linesville70.34.1Moderately hardCounty estimate
Middleburg83.04.8Moderately hardCounty estimate
East Freedom133.07.8HardCounty estimate
Luthersburg148.08.7HardCounty estimate
Hawthorn69.04.0Moderately hardCounty estimate
Saegertown70.34.1Moderately hardCounty estimate
Sykesville110.06.4Moderately hardCounty estimate
Worthington81.04.7Moderately hardCounty estimate
Oakdale96.05.6Moderately hardCounty estimate
Richlandtown96.05.6Moderately hardCounty estimate
Falls Creek110.06.4Moderately hardCounty estimate
Howard155.09.1HardCounty estimate
Acosta32.01.9SoftCounty estimate
Delta102.06.0Moderately hardCounty estimate
Grampian148.08.7HardCounty estimate
Newry133.07.8HardCounty estimate
Sipesville32.01.9SoftCounty estimate
Knox69.04.0Moderately hardCounty estimate
Troy60.03.5SoftCounty estimate
Bernville64.03.7Moderately hardCounty estimate
Port Matilda155.09.1HardCounty estimate
Roulette24.01.4SoftCounty estimate
Sheffield36.02.1SoftCounty estimate
Westfield55.03.2SoftCounty estimate
Rockwood32.01.9SoftCounty estimate
Shinglehouse24.01.4SoftCounty estimate
Arendtsville10.00.6SoftCounty estimate
Galeton24.01.4SoftCounty estimate
Orbisonia92.05.4Moderately hardCounty estimate
Springboro70.34.1Moderately hardCounty estimate
New Bloomfield85.05.0Moderately hardCounty estimate
Cochranton70.34.1Moderately hardCounty estimate
Byrnedale33.01.9SoftCounty estimate
Weedville33.01.9SoftCounty estimate
Mill Creek92.05.4Moderately hardCounty estimate
Benton29.01.7SoftCounty estimate
Bessemer138.08.1HardCounty estimate
Portland48.02.8SoftCounty estimate
Sandy Lake88.05.2Moderately hardCounty estimate
York Springs10.00.6SoftCounty estimate
Polk61.03.6Moderately hardCounty estimate
Stoneboro88.05.2Moderately hardCounty estimate
Tidioute36.02.1SoftCounty estimate
Bendersville10.00.6SoftCounty estimate
Mount Jewett26.01.5SoftCounty estimate
Colver42.02.5SoftCounty estimate
Pennsylvania Furnace155.09.1HardCounty estimate
Richfield83.04.8Moderately hardCounty estimate
Thompsontown30.01.8SoftCounty estimate
Torrance91.05.3Moderately hardCounty estimate
New Berlin81.04.7Moderately hardCounty estimate
Riegelsville96.05.6Moderately hardCounty estimate
Schaefferstown266.015.6Very hardCounty estimate
Trumbauersville96.05.6Moderately hardCounty estimate
Penfield148.08.7HardCounty estimate
South Mountain54.03.2SoftCounty estimate
Auburn94.45.5Moderately hardCounty estimate
Cairnbrook32.01.9SoftCounty estimate
Distant81.04.7Moderately hardCounty estimate
Delaware Water Gap24.01.4SoftCounty estimate
Eldred26.01.5SoftCounty estimate
Gifford26.01.5SoftCounty estimate
Clarendon36.02.1SoftCounty estimate
Alexandria92.05.4Moderately hardCounty estimate
Nicholson56.13.3SoftCounty estimate
Hidden Valley32.01.9SoftCounty estimate
Warriors Mark155.09.1HardCounty estimate
Gratz91.05.3Moderately hardCounty estimate
Penns Creek83.04.8Moderately hardCounty estimate
Austin24.01.4SoftCounty estimate
Gray32.01.9SoftCounty estimate
Millerstown85.05.0Moderately hardCounty estimate
Summerville110.06.4Moderately hardCounty estimate
Drums74.04.3Moderately hardCounty estimate
Petersburg92.05.4Moderately hardCounty estimate
Hooversville32.01.9SoftCounty estimate
Russell36.02.1SoftCounty estimate
Ulysses24.01.4SoftCounty estimate
Dayton81.04.7Moderately hardCounty estimate
Springtown96.05.6Moderately hardCounty estimate
Rouseville61.03.6Moderately hardCounty estimate
Landisburg85.05.0Moderately hardCounty estimate
Newell49.02.9SoftCounty estimate
Somerset32.01.9SoftCounty estimate
Lyon Station64.03.7Moderately hardCounty estimate
Pocono Pines24.01.4SoftCounty estimate
Ulster60.03.5SoftCounty estimate
Saint Thomas54.03.2SoftCounty estimate
Stoystown32.01.9SoftCounty estimate
Lake Ariel23.01.4SoftCounty estimate
Westover148.08.7HardCounty estimate
Templeton81.04.7Moderately hardCounty estimate
Genesee24.01.4SoftCounty estimate
Rockton148.08.7HardCounty estimate
Wattsburg115.06.7Moderately hardCounty estimate
Cranberry Twp137.08.0HardCounty estimate
Wilcox33.01.9SoftCounty estimate
Stump Creek110.06.4Moderately hardCounty estimate
Gouldsboro52.03.0SoftCounty estimate
Moscow52.03.0SoftCounty estimate
Rew26.01.5SoftCounty estimate
Pillow91.05.3Moderately hardCounty estimate
Honesdale23.01.4SoftCounty estimate
Knox Dale110.06.4Moderately hardCounty estimate
Nu Mine81.04.7Moderately hardCounty estimate
Pocono Manor24.01.4SoftCounty estimate
Sagamore81.04.7Moderately hardCounty estimate
Gap179.510.5HardCounty estimate
Woodbury72.04.2Moderately hardCounty estimate
Fleming155.09.1HardCounty estimate
Unionville121.07.1HardCounty estimate
Commodore99.05.8Moderately hardCounty estimate
Loganton35.02.0SoftCounty estimate
Hop Bottom56.13.3SoftCounty estimate
Cherryville48.02.8SoftCounty estimate
Driftwood26.01.5SoftCounty estimate
Tunkhannock50.02.9SoftCounty estimate
Harrisville137.08.0HardCounty estimate
Marysville85.05.0Moderately hardCounty estimate
Rixford26.01.5SoftCounty estimate
Etters102.06.0Moderately hardCounty estimate
Belle Vernon91.05.3Moderately hardCounty estimate
Dysart42.02.5SoftCounty estimate
Glen Mills100.05.8Moderately hardCounty estimate
Havertown100.05.8Moderately hardCounty estimate
Bainbridge179.510.5HardCounty estimate
Reno61.03.6Moderately hardCounty estimate
Linden31.01.8SoftCounty estimate
Bangor48.02.8SoftCounty estimate
Lehighton16.00.9SoftCounty estimate
Mexico30.01.8SoftCounty estimate
Hazel Hurst26.01.5SoftCounty estimate
Ronks179.510.5HardCounty estimate
Holtwood179.510.5HardCounty estimate
Lake Winola50.02.9SoftCounty estimate
Rome60.03.5SoftCounty estimate
Peach Bottom179.510.5HardCounty estimate
Edinboro115.06.7Moderately hardCounty estimate
West Springfield115.06.7Moderately hardCounty estimate
Cyclone26.01.5SoftCounty estimate
Curryville133.07.8HardCounty estimate
Narvon179.510.5HardCounty estimate
New Milford56.13.3SoftCounty estimate
Palmyra266.015.6Very hardCounty estimate
Elverson121.07.1HardCounty estimate
Friedens32.01.9SoftCounty estimate
Julian155.09.1HardCounty estimate
Bowmansville179.510.5HardCounty estimate
Millmont81.04.7Moderately hardCounty estimate
Center Valley124.57.3HardCounty estimate
Duncannon85.05.0Moderately hardCounty estimate
Crosby26.01.5SoftCounty estimate
Stewartstown102.06.0Moderately hardCounty estimate
East Earl179.510.5HardCounty estimate
Hershey91.05.3Moderately hardCounty estimate
Paradise179.510.5HardCounty estimate
Forestville137.08.0HardCounty estimate
Gillett60.03.5SoftCounty estimate
Abbottstown10.00.6SoftCounty estimate
Ardmore100.05.8Moderately hardCounty estimate
Arona91.05.3Moderately hardCounty estimate
Avella153.08.9HardCounty estimate
Beach Lake23.01.4SoftCounty estimate
Berwyn121.07.1HardCounty estimate
Boalsburg155.09.1HardCounty estimate
Broomall100.05.8Moderately hardCounty estimate
Bryn Mawr100.05.8Moderately hardCounty estimate
Bunola96.05.6Moderately hardCounty estimate
Burgettstown153.08.9HardCounty estimate
Canonsburg153.08.9HardCounty estimate
Claysville153.08.9HardCounty estimate
Clifton Heights100.05.8Moderately hardCounty estimate
Coplay124.57.3HardCounty estimate
Darby100.05.8Moderately hardCounty estimate
Devon121.07.1HardCounty estimate
Drexel Hill100.05.8Moderately hardCounty estimate
Eighty Four153.08.9HardCounty estimate
Finleyville153.08.9HardCounty estimate
Folcroft100.05.8Moderately hardCounty estimate
Folsom100.05.8Moderately hardCounty estimate
Forest City56.13.3SoftCounty estimate
Georgetown156.59.2HardCounty estimate
Glenolden100.05.8Moderately hardCounty estimate
Greentown19.61.1SoftCounty estimate
Herminie91.05.3Moderately hardCounty estimate
Hickory153.08.9HardCounty estimate
Houston153.08.9HardCounty estimate
Hunker91.05.3Moderately hardCounty estimate
Koppel156.59.2HardCounty estimate
Langeloth153.08.9HardCounty estimate
Lansdowne100.05.8Moderately hardCounty estimate
Lawrence153.08.9HardCounty estimate
Lemont155.09.1HardCounty estimate
Lewisburg81.04.7Moderately hardCounty estimate
Liberty55.03.2SoftCounty estimate
Lincoln University121.07.1HardCounty estimate
Madison91.05.3Moderately hardCounty estimate
Malvern121.07.1HardCounty estimate
Media100.05.8Moderately hardCounty estimate
Midway153.08.9HardCounty estimate
Monessen91.05.3Moderately hardCounty estimate
Monongahela153.08.9HardCounty estimate
Morton100.05.8Moderately hardCounty estimate
Mount Pleasant91.05.3Moderately hardCounty estimate
Muse153.08.9HardCounty estimate
New Columbia81.04.7Moderately hardCounty estimate
New Eagle153.08.9HardCounty estimate
New Salem49.02.9SoftCounty estimate
New Stanton91.05.3Moderately hardCounty estimate
North Apollo81.04.7Moderately hardCounty estimate
Norvelt91.05.3Moderately hardCounty estimate
Norwood100.05.8Moderately hardCounty estimate
Oaks129.07.5HardCounty estimate
Old Forge52.03.0SoftCounty estimate
Paoli121.07.1HardCounty estimate
Pine Grove Mills155.09.1HardCounty estimate
Prospect Park100.05.8Moderately hardCounty estimate
Ridley Park100.05.8Moderately hardCounty estimate
Royersford129.07.5HardCounty estimate
Saltsburg99.05.8Moderately hardCounty estimate
Scottdale91.05.3Moderately hardCounty estimate
Sellersville96.05.6Moderately hardCounty estimate
Sharon Hill100.05.8Moderately hardCounty estimate
Slovan153.08.9HardCounty estimate
Smithton91.05.3Moderately hardCounty estimate
Spring Church81.04.7Moderately hardCounty estimate
Strabane153.08.9HardCounty estimate
Sutersville91.05.3Moderately hardCounty estimate
Swarthmore100.05.8Moderately hardCounty estimate
Toughkenamon121.07.1HardCounty estimate
Villanova100.05.8Moderately hardCounty estimate
Washington153.08.9HardCounty estimate
Wayne121.07.1HardCounty estimate
West Middletown153.08.9HardCounty estimate
West Milton81.04.7Moderately hardCounty estimate
West Newton91.05.3Moderately hardCounty estimate
Woodlyn100.05.8Moderately hardCounty estimate
Youngwood91.05.3Moderately hardCounty estimate
Yukon91.05.3Moderately hardCounty 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 Pennsylvania's Water Hardness

Pennsylvania 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.

Source: USGS - Principal Aquifers of the United States

Pennsylvania Water Hardness FAQ

Does Pennsylvania have hard water?

On the whole, no — Pennsylvania's statewide median sits below the hard threshold, though some cities run harder. The median is 90.0 mg/L (5.3 gpg) — moderately hard on the USGS scale, where anything above 120 mg/L (7 gpg) counts as hard. 81 of Pennsylvania's 361 measured cities fall in the hard or very hard bands (22%), so check your own city rather than the state average.

How hard is tap water in Pennsylvania?

Across the 361 Pennsylvania cities with measured values in our index, the median hardness is 90.0 mg/L (5.3 gpg) — moderately hard on the USGS scale. Individual cities range from 19.8 to 289.4 mg/L, so check your own city rather than assuming the state number.

Which city in Pennsylvania has the hardest water?

Perkasie has the hardest measured tap water in our Pennsylvania index at 289.4 mg/L (16.9 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 Pennsylvania?

81 of Pennsylvania's 361 measured cities (22%) 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 Pennsylvania 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.

TapWaterData may be compensated when you are connected with a 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.