Skip to main content
💧 TapWaterData

Water Hardness in Pennsylvania

Across 536 measured cities — with 543 more covered by labeled county-level estimates — Pennsylvania's median tap water hardness is 100.5 mg/L (5.9 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 July 6, 2026. Sources: utility-reported water quality data and USGS/EPA Water Quality Portal samples.

State Median
100.5
mg/L (5.9 gpg), measured cities
Measured Range
19.8-289.4
mg/L across measured cities
Measured Cities
536
utility-reported or computed values
County Estimates
543
50% of covered cities

Pennsylvania Cities by Hardness Category

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

CategoryRangeMeasured citiesShare
Soft0-60 mg/L13124.4%
Moderately hard60-120 mg/L26148.7%
Hard120-180 mg/L12222.8%
Very hard>180 mg/L224.1%

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. Trumbauersville 276.0 mg/L (16.1 gpg), very hard
  5. Elizabethtown 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,079 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
Millbourne135.87.9HardUtility-reported
Andalusia126.57.4HardUtility-reported
Philadelphia127.07.4HardUtility-reported
Pittsburgh100.05.8Moderately hardUtility-reported
Mount Oliver101.05.9Moderately hardUtility-reported
Chadds Ford148.08.7HardUtility-reported
Chester Heights148.08.7HardUtility-reported
Cheyney University148.08.7HardUtility-reported
Trevose145.88.5HardUtility-reported
Fort Washington146.08.5HardUtility-reported
King of Prussia150.38.8HardUtility-reported
Swedeland150.38.8HardUtility-reported
Swedesburg150.38.8HardUtility-reported
Mont Clare150.58.8HardUtility-reported
Exton152.38.9HardUtility-reported
Phoenixville153.18.9HardUtility-reported
Bryn Mawr153.08.9HardUtility-reported
Berwyn153.08.9HardUtility-reported
Lima153.08.9HardUtility-reported
Aldan153.08.9HardUtility-reported
Arcadia University153.08.9HardUtility-reported
Ardmore153.08.9HardUtility-reported
Bala Cynwyd153.08.9HardUtility-reported
Broomall153.08.9HardUtility-reported
Bryn Athyn153.08.9HardUtility-reported
Cheltenham Village153.08.9HardUtility-reported
Chesterbrook153.08.9HardUtility-reported
Clifton Heights153.08.9HardUtility-reported
Collingdale153.08.9HardUtility-reported
Colwyn153.08.9HardUtility-reported
Conshohocken153.08.9HardUtility-reported
Darby153.08.9HardUtility-reported
Devon153.08.9HardUtility-reported
Dilworthtown153.08.9HardUtility-reported
Drexel Hill153.08.9HardUtility-reported
East Lansdowne153.08.9HardUtility-reported
Eddystone153.08.9HardUtility-reported
Elkins Park153.08.9HardUtility-reported
Flourtown153.08.9HardUtility-reported
Folcroft153.08.9HardUtility-reported
Folsom153.08.9HardUtility-reported
Frazer153.08.9HardUtility-reported
Glenolden153.08.9HardUtility-reported
Glenside153.08.9HardUtility-reported
Haverford College153.08.9HardUtility-reported
Jenkintown153.08.9HardUtility-reported
Lansdowne153.08.9HardUtility-reported
Malvern153.08.9HardUtility-reported
McKinley153.08.9HardUtility-reported
Media153.08.9HardUtility-reported
Melrose Park153.08.9HardUtility-reported
Merion Station153.08.9HardUtility-reported
Morton153.08.9HardUtility-reported
Narberth153.08.9HardUtility-reported
Norwood153.08.9HardUtility-reported
Oak Lane153.08.9HardUtility-reported
Oreland153.08.9HardUtility-reported
Paoli153.08.9HardUtility-reported
Penn Wynne153.08.9HardUtility-reported
Plymouth Meeting153.08.9HardUtility-reported
Prospect Park153.08.9HardUtility-reported
Ridley Park153.08.9HardUtility-reported
Rockledge153.08.9HardUtility-reported
Rose Valley153.08.9HardUtility-reported
Rosemont153.08.9HardUtility-reported
Roslyn153.08.9HardUtility-reported
Rutledge153.08.9HardUtility-reported
Sharon Hill153.08.9HardUtility-reported
St. Davids153.08.9HardUtility-reported
Swarthmore153.08.9HardUtility-reported
Villanova153.08.9HardUtility-reported
Wayne153.08.9HardUtility-reported
West Conshohocken153.08.9HardUtility-reported
Willow Grove153.08.9HardUtility-reported
Woodlyn153.08.9HardUtility-reported
Wyncote153.08.9HardUtility-reported
Wyndmoor153.08.9HardUtility-reported
Wynnewood153.08.9HardUtility-reported
Yeadon153.08.9HardUtility-reported
Industry93.05.4Moderately hardUtility-reported
Collinsburg93.05.4Moderately hardUtility-reported
Elizabeth93.05.4Moderately hardUtility-reported
Sutersville93.05.4Moderately hardUtility-reported
Midway100.55.9Moderately hardUtility-reported
Coulter102.06.0Moderately hardUtility-reported
Duquesne102.06.0Moderately hardUtility-reported
Liberty102.06.0Moderately hardUtility-reported
Versailles102.06.0Moderately hardUtility-reported
Donora102.06.0Moderately hardUtility-reported
Monessen102.06.0Moderately hardUtility-reported
Oakdale102.06.0Moderately hardUtility-reported
Noblestown102.06.0Moderately hardUtility-reported
Sturgeon102.06.0Moderately hardUtility-reported
Pennsbury Village101.86.0Moderately hardUtility-reported
Midland102.06.0Moderately hardUtility-reported
Avella102.06.0Moderately hardUtility-reported
Baidland102.06.0Moderately hardUtility-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
Burgettstown102.06.0Moderately hardUtility-reported
Canonsburg102.06.0Moderately hardUtility-reported
Carnegie102.06.0Moderately hardUtility-reported
Castle Shannon102.06.0Moderately hardUtility-reported
Cecil-Bishop102.06.0Moderately hardUtility-reported
Clairton102.06.0Moderately hardUtility-reported
Claysville102.06.0Moderately hardUtility-reported
Crafton102.06.0Moderately hardUtility-reported
Dormont102.06.0Moderately hardUtility-reported
Dravosburg102.06.0Moderately hardUtility-reported
East Washington102.06.0Moderately hardUtility-reported
Eighty Four102.06.0Moderately hardUtility-reported
Finleyville102.06.0Moderately hardUtility-reported
Frankfort Springs102.06.0Moderately hardUtility-reported
Gastonville102.06.0Moderately hardUtility-reported
Glassport102.06.0Moderately hardUtility-reported
Glendale102.06.0Moderately hardUtility-reported
Green Hills102.06.0Moderately hardUtility-reported
Green Tree102.06.0Moderately hardUtility-reported
Greenock102.06.0Moderately hardUtility-reported
Heidelberg102.06.0Moderately hardUtility-reported
Hickory102.06.0Moderately hardUtility-reported
Homestead102.06.0Moderately hardUtility-reported
Houston102.06.0Moderately hardUtility-reported
Ingram102.06.0Moderately hardUtility-reported
Jefferson Hills102.06.0Moderately hardUtility-reported
Laboratory102.06.0Moderately hardUtility-reported
Langeloth102.06.0Moderately hardUtility-reported
Lawrence102.06.0Moderately hardUtility-reported
Lincoln102.06.0Moderately hardUtility-reported
McDonald102.06.0Moderately hardUtility-reported
McGovern102.06.0Moderately hardUtility-reported
McMurray102.06.0Moderately hardUtility-reported
Meadowlands102.06.0Moderately hardUtility-reported
Monongahela102.06.0Moderately hardUtility-reported
Munhall102.06.0Moderately hardUtility-reported
Muse102.06.0Moderately hardUtility-reported
New Eagle102.06.0Moderately hardUtility-reported
Paris102.06.0Moderately hardUtility-reported
Pleasant Hills102.06.0Moderately hardUtility-reported
Rennerdale102.06.0Moderately hardUtility-reported
Rosslyn Farms102.06.0Moderately hardUtility-reported
Slovan102.06.0Moderately hardUtility-reported
Southpointe102.06.0Moderately hardUtility-reported
Strabane102.06.0Moderately hardUtility-reported
Thompsonville102.06.0Moderately hardUtility-reported
Thornburg102.06.0Moderately hardUtility-reported
Washington102.06.0Moderately hardUtility-reported
West Elizabeth102.06.0Moderately hardUtility-reported
West Homestead102.06.0Moderately hardUtility-reported
West Middletown102.06.0Moderately hardUtility-reported
West Mifflin102.06.0Moderately hardUtility-reported
Whitaker102.06.0Moderately hardUtility-reported
Whitehall102.06.0Moderately hardUtility-reported
Wickerham Manor-Fisher102.06.0Moderately hardUtility-reported
Wolfdale102.06.0Moderately hardUtility-reported
Wylandville102.06.0Moderately hardUtility-reported
Aspinwall100.55.9Moderately hardUtility-reported
Etna100.55.9Moderately hardUtility-reported
Sharpsburg100.55.9Moderately hardUtility-reported
Blawnox99.75.8Moderately hardUtility-reported
Millvale99.75.8Moderately hardUtility-reported
Greensburg56.63.3SoftUtility-reported
Irwin56.63.3SoftUtility-reported
South Greensburg56.63.3SoftUtility-reported
Southwest Greensburg56.63.3SoftUtility-reported
Trafford77.24.5Moderately hardUtility-reported
West Wilmerding77.24.5Moderately hardUtility-reported
Wilmerding77.24.5Moderately hardUtility-reported
Allison Park87.75.1Moderately hardUtility-reported
Glenshaw87.75.1Moderately hardUtility-reported
Jefferson82.84.8Moderately hardUtility-reported
Erie90.95.3Moderately hardUtility-reported
Middletown57.43.4SoftUtility-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
Spry82.84.8Moderately hardUtility-reported
Franklin Park81.74.8Moderately hardUtility-reported
Shiloh82.84.8Moderately hardUtility-reported
Ben Avon81.74.8Moderately hardUtility-reported
Emsworth81.74.8Moderately hardUtility-reported
York82.84.8Moderately hardUtility-reported
Shrewsbury82.84.8Moderately hardUtility-reported
Valley View82.84.8Moderately hardUtility-reported
Avalon81.74.8Moderately hardUtility-reported
Bellevue81.74.8Moderately hardUtility-reported
Bradford Woods81.74.8Moderately hardUtility-reported
McKees Rocks81.74.8Moderately hardUtility-reported
Sewickley Hills81.74.8Moderately hardUtility-reported
West View81.74.8Moderately hardUtility-reported
Manchester82.84.8Moderately hardUtility-reported
Spring Grove82.84.8Moderately hardUtility-reported
Abbottstown82.84.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
Hampton82.84.8Moderately hardUtility-reported
Jacobus82.84.8Moderately hardUtility-reported
Loganville82.84.8Moderately hardUtility-reported
Mount Wolf82.84.8Moderately hardUtility-reported
New Salem82.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
Stonybrook82.84.8Moderately hardUtility-reported
Tyler Run82.84.8Moderately hardUtility-reported
West York82.84.8Moderately hardUtility-reported
York Haven82.84.8Moderately hardUtility-reported
Yorkana82.84.8Moderately hardUtility-reported
Yorklyn82.84.8Moderately hardUtility-reported
Scranton39.92.3SoftUtility-reported
Moosic39.92.3SoftUtility-reported
Taylor39.92.3SoftUtility-reported
Evansburg93.95.5Moderately hardUtility-reported
East McKeesport65.83.9Moderately hardUtility-reported
Pitcairn90.25.3Moderately hardUtility-reported
Fullerton157.89.2HardUtility-reported
Plum65.83.9Moderately hardUtility-reported
Edgewood90.25.3Moderately hardUtility-reported
Lansdale60.73.5Moderately hardUtility-reported
Hyde Park65.83.9Moderately hardUtility-reported
Hostetter46.72.7SoftUtility-reported
Blue Bell94.45.5Moderately hardUtility-reported
East Pittsburgh90.25.3Moderately hardUtility-reported
Oklahoma65.83.9Moderately hardUtility-reported
Connellsville46.72.7SoftUtility-reported
South Connellsville46.72.7SoftUtility-reported
Adamsburg65.83.9Moderately hardUtility-reported
Apollo65.83.9Moderately hardUtility-reported
Avonmore65.83.9Moderately hardUtility-reported
Delmont65.83.9Moderately hardUtility-reported
East Vandergrift65.83.9Moderately hardUtility-reported
Export65.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 Apollo65.83.9Moderately hardUtility-reported
North Irwin65.83.9Moderately hardUtility-reported
Orchard Hills65.83.9Moderately hardUtility-reported
Penn65.83.9Moderately hardUtility-reported
Saltsburg65.83.9Moderately hardUtility-reported
Spring Church65.83.9Moderately hardUtility-reported
Vandergrift65.83.9Moderately hardUtility-reported
Wall65.83.9Moderately hardUtility-reported
West Leechburg65.83.9Moderately hardUtility-reported
Dorneyville192.011.2Very hardUtility-reported
Landisville120.07.0Moderately hardUtility-reported
Rohrerstown120.07.0Moderately hardUtility-reported
Boothwyn119.07.0Moderately hardUtility-reported
Brookhaven119.07.0Moderately hardUtility-reported
Chester119.07.0Moderately hardUtility-reported
Lincoln University119.07.0Moderately hardUtility-reported
Linwood119.07.0Moderately hardUtility-reported
Marcus Hook119.07.0Moderately hardUtility-reported
Parkside119.07.0Moderately hardUtility-reported
Toughkenamon119.07.0Moderately hardUtility-reported
Trainer119.07.0Moderately hardUtility-reported
Upland119.07.0Moderately hardUtility-reported
Village Green-Green Ridge119.07.0Moderately hardUtility-reported
Mechanicsburg119.97.0Moderately hardUtility-reported
Chinchilla44.02.6SoftUtility-reported
Clarks Summit44.02.6SoftUtility-reported
Dalton44.02.6SoftUtility-reported
Glenburn44.02.6SoftUtility-reported
Olyphant44.02.6SoftUtility-reported
Archbald44.02.6SoftUtility-reported
Blakely44.02.6SoftUtility-reported
Browndale44.02.6SoftUtility-reported
Carbondale44.02.6SoftUtility-reported
Clarks Green44.02.6SoftUtility-reported
Dickson City44.02.6SoftUtility-reported
Dunmore44.02.6SoftUtility-reported
Forest City44.02.6SoftUtility-reported
Jermyn44.02.6SoftUtility-reported
Jessup44.02.6SoftUtility-reported
Mayfield44.02.6SoftUtility-reported
Simpson44.02.6SoftUtility-reported
Throop44.02.6SoftUtility-reported
Vandling44.02.6SoftUtility-reported
Waverly44.02.6SoftUtility-reported
Arona46.72.7SoftUtility-reported
Bunola46.72.7SoftUtility-reported
Calumet46.72.7SoftUtility-reported
Everson46.72.7SoftUtility-reported
Fellsburg46.72.7SoftUtility-reported
Herminie46.72.7SoftUtility-reported
Hunker46.72.7SoftUtility-reported
Lynnwood-Pricedale46.72.7SoftUtility-reported
Madison46.72.7SoftUtility-reported
Mammoth46.72.7SoftUtility-reported
Mount Pleasant46.72.7SoftUtility-reported
New Stanton46.72.7SoftUtility-reported
Norvelt46.72.7SoftUtility-reported
Scottdale46.72.7SoftUtility-reported
Smithton46.72.7SoftUtility-reported
West Newton46.72.7SoftUtility-reported
Youngwood46.72.7SoftUtility-reported
Yukon46.72.7SoftUtility-reported
Cetronia192.011.2Very hardUtility-reported
Millersville120.07.0Moderately hardUtility-reported
North Braddock90.25.3Moderately hardUtility-reported
Rankin90.25.3Moderately hardUtility-reported
East Petersburg120.07.0Moderately hardUtility-reported
Braddock Hills90.25.3Moderately hardUtility-reported
Chalfant90.25.3Moderately hardUtility-reported
Churchill90.25.3Moderately hardUtility-reported
Forest Hills90.25.3Moderately hardUtility-reported
Swissvale90.25.3Moderately hardUtility-reported
Turtle Creek90.25.3Moderately hardUtility-reported
Wilkinsburg90.25.3Moderately hardUtility-reported
Hellertown63.43.7Moderately hardUtility-reported
Fountain Hill63.43.7Moderately hardUtility-reported
Lancaster120.07.0Moderately hardUtility-reported
Allentown190.911.2Very hardUtility-reported
Willow Street120.07.0Moderately hardUtility-reported
Lampeter120.07.0Moderately hardUtility-reported
Bethlehem63.43.7Moderately hardUtility-reported
Bath47.62.8SoftCounty estimate
Freemansburg63.43.7Moderately hardUtility-reported
Levittown95.85.6Moderately hardCounty estimate
State College178.010.4HardUtility-reported
Toftrees178.010.4HardUtility-reported
New Britain70.24.1Moderately hardUtility-reported
Georgetown29.41.7SoftUtility-reported
Avoca29.41.7SoftUtility-reported
Browntown29.41.7SoftUtility-reported
Dupont29.41.7SoftUtility-reported
Exeter29.41.7SoftUtility-reported
Forty Fort29.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
Laurel Run29.41.7SoftUtility-reported
Pittston29.41.7SoftUtility-reported
Plains29.41.7SoftUtility-reported
Swoyersville29.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
Dorseyville100.15.8Moderately hardUtility-reported
Telford63.83.7Moderately hardUtility-reported
Audubon125.07.3HardUtility-reported
Trooper125.07.3HardUtility-reported
Maple Glen74.84.4Moderately hardUtility-reported
Easton50.22.9SoftUtility-reported
Lower Allen128.07.5HardUtility-reported
Chestnut Hill50.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
North Wales56.83.3SoftUtility-reported
Lemoyne128.07.5HardUtility-reported
New Cumberland128.07.5HardUtility-reported
Camp Hill128.07.5HardUtility-reported
Enola128.07.5HardUtility-reported
New Kingstown128.07.5HardUtility-reported
New Market128.07.5HardUtility-reported
Shiremanstown128.07.5HardUtility-reported
West Fairview128.07.5HardUtility-reported
Wormleysburg128.07.5HardUtility-reported
Spring House84.14.9Moderately hardUtility-reported
Reading64.03.7Moderately hardCounty estimate
Hatfield63.83.7Moderately hardUtility-reported
Harleysville63.83.7Moderately hardUtility-reported
Kulpsville63.83.7Moderately hardUtility-reported
Sellersville63.83.7Moderately hardUtility-reported
Skippack63.83.7Moderately hardUtility-reported
Souderton63.83.7Moderately hardUtility-reported
Norristown125.07.3HardUtility-reported
Bridgeport125.07.3HardUtility-reported
Eagleville125.07.3HardUtility-reported
Fairless Hills95.85.6Moderately hardCounty estimate
Woodbourne89.15.2Moderately hardUtility-reported
Fox Chapel102.36.0Moderately hardUtility-reported
Brittany Farms-The Highlands56.83.3SoftUtility-reported
Lemont178.010.4HardUtility-reported
Harrisburg40.22.4SoftUtility-reported
Duncansville133.07.8HardCounty estimate
Oakmont90.05.3Moderately hardUtility-reported
Montgomeryville56.83.3SoftUtility-reported
Boalsburg178.010.4HardUtility-reported
Continental Courts178.010.4HardUtility-reported
Park Forest Village178.010.4HardUtility-reported
Pine Grove Mills178.010.4HardUtility-reported
Stormstown178.010.4HardUtility-reported
Tyrone133.07.8HardCounty estimate
Big Beaver166.09.7HardUtility-reported
Penbrook30.11.8SoftUtility-reported
Progress30.11.8SoftUtility-reported
New Castle166.09.7HardUtility-reported
Altoona133.07.8HardCounty estimate
Tipton133.07.8HardCounty estimate
Cornwells Heights113.06.6Moderately hardUtility-reported
Eddington113.06.6Moderately hardUtility-reported
Dunbar107.06.3Moderately hardUtility-reported
East Uniontown107.06.3Moderately hardUtility-reported
Hopwood107.06.3Moderately hardUtility-reported
Leith-Hatfield107.06.3Moderately hardUtility-reported
Oliver107.06.3Moderately hardUtility-reported
South Uniontown107.06.3Moderately hardUtility-reported
Uniontown107.06.3Moderately hardUtility-reported
Franklin61.03.6Moderately hardCounty estimate
Lebanon266.015.6Very hardCounty estimate
Jonestown266.015.6Very hardCounty estimate
Trappe106.06.2Moderately hardUtility-reported
Shavertown29.41.7SoftUtility-reported
Trucksville29.41.7SoftUtility-reported
Allison49.02.9SoftCounty estimate
Hiller49.02.9SoftCounty estimate
Daisytown153.08.9HardCounty estimate
Brownstown179.510.5HardCounty estimate
Freedom156.59.2HardCounty estimate
Hulmeville70.34.1Moderately hardUtility-reported
Morrisville110.06.4Moderately hardUtility-reported
Warminster Heights173.010.1HardUtility-reported
Ashley29.41.7SoftUtility-reported
Courtdale29.41.7SoftUtility-reported
Duryea29.41.7SoftUtility-reported
Edwardsville29.41.7SoftUtility-reported
Glen Lyon29.41.7SoftUtility-reported
Larksville29.41.7SoftUtility-reported
Luzerne29.41.7SoftUtility-reported
Mocanaqua29.41.7SoftUtility-reported
Mountain Top29.41.7SoftUtility-reported
Nanticoke29.41.7SoftUtility-reported
Old Forge29.41.7SoftUtility-reported
Plymouth29.41.7SoftUtility-reported
Pringle29.41.7SoftUtility-reported
Sheatown29.41.7SoftUtility-reported
Shickshinny29.41.7SoftUtility-reported
Sugar Notch29.41.7SoftUtility-reported
Wanamie29.41.7SoftUtility-reported
Warrior Run29.41.7SoftUtility-reported
West Nanticoke29.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
Conway156.59.2HardCounty estimate
Williamsport31.01.8SoftCounty estimate
Marshallton165.09.7HardUtility-reported
Kimberton106.06.2Moderately hardUtility-reported
Macungie240.014.0Very hardUtility-reported
Mcmurry107.06.3Moderately hardUtility-reported
Beallsville153.08.9HardCounty estimate
Millsboro153.08.9HardCounty estimate
Alburtis240.014.0Very hardUtility-reported
Johnstown42.02.5SoftCounty estimate
Beaver Falls156.59.2HardCounty estimate
Ferndale95.85.6Moderately hardCounty estimate
New Brighton156.59.2HardCounty estimate
Rochester156.59.2HardCounty estimate
West Chester133.07.8HardUtility-reported
Unionville133.07.8HardUtility-reported
Monroeville96.05.6Moderately hardCounty estimate
Royersford106.06.2Moderately hardUtility-reported
Spring City106.06.2Moderately hardUtility-reported
Oaks106.06.2Moderately hardUtility-reported
Sanatoga106.06.2Moderately hardUtility-reported
Mercer88.05.2Moderately hardCounty estimate
Wescosville240.014.0Very hardUtility-reported
New Kensington91.05.3Moderately hardCounty estimate
Ancient Oaks240.014.0Very hardUtility-reported
Breinigsville240.014.0Very hardUtility-reported
Trexlertown240.014.0Very hardUtility-reported
Beaver Meadows16.00.9SoftCounty estimate
Thorndale121.07.1HardCounty estimate
Downingtown135.07.9HardUtility-reported
Hazleton74.04.3Moderately hardCounty estimate
Seven Fields78.14.6Moderately hardUtility-reported
Messiah College103.06.0Moderately hardUtility-reported
Harleigh74.04.3Moderately hardCounty estimate
Shamokin83.04.8Moderately hardCounty estimate
Carlisle176.010.3HardUtility-reported
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
Russellton90.05.3Moderately hardUtility-reported
Verona90.05.3Moderately hardUtility-reported
Quarryville179.510.5HardCounty estimate
Hanover74.84.4Moderately hardUtility-reported
McSherrystown74.84.4Moderately hardUtility-reported
Parkville74.84.4Moderately hardUtility-reported
Pennville74.84.4Moderately hardUtility-reported
Marianna153.08.9HardCounty estimate
Newtown96.95.7Moderately hardUtility-reported
Cementon56.93.3SoftUtility-reported
Clarksville155.09.1HardCounty estimate
Coplay56.93.3SoftUtility-reported
Crucible155.09.1HardCounty estimate
Egypt56.93.3SoftUtility-reported
Hokendauqua56.93.3SoftUtility-reported
Mather155.09.1HardCounty estimate
Mount Morris155.09.1HardCounty estimate
Nemacolin155.09.1HardCounty estimate
North Catasauqua56.93.3SoftUtility-reported
Northampton56.93.3SoftUtility-reported
Republic49.02.9SoftCounty estimate
Rices Landing155.09.1HardCounty estimate
Stiles56.93.3SoftUtility-reported
Warminster95.85.6Moderately hardCounty estimate
Waynesburg155.09.1HardCounty estimate
Fairchance49.02.9SoftCounty estimate
St. Clair94.45.5Moderately hardCounty estimate
Newtown Grant96.95.7Moderately hardUtility-reported
Coatesville121.07.1HardCounty estimate
Horsham142.78.3HardUtility-reported
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
Lionville135.07.9HardUtility-reported
Dawson49.02.9SoftCounty estimate
Elco153.08.9HardCounty 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
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
Milton49.42.9SoftUtility-reported
Dewart49.42.9SoftUtility-reported
Kapp Heights49.42.9SoftUtility-reported
Lewisburg49.42.9SoftUtility-reported
Linntown49.42.9SoftUtility-reported
Montandon49.42.9SoftUtility-reported
New Columbia49.42.9SoftUtility-reported
Northumberland49.42.9SoftUtility-reported
Watsontown49.42.9SoftUtility-reported
West Milton49.42.9SoftUtility-reported
Stroudsburg24.01.4SoftCounty estimate
Latrobe91.05.3Moderately hardCounty estimate
Loyalhanna91.05.3Moderately hardCounty estimate
Bentleyville153.08.9HardCounty estimate
Fayetteville54.03.2SoftCounty estimate
Bristol95.85.6Moderately hardCounty estimate
Croydon95.85.6Moderately hardCounty estimate
Ellsworth153.08.9HardCounty estimate
Marion54.03.2SoftCounty estimate
Scotland54.03.2SoftCounty estimate
Charleroi153.08.9HardCounty estimate
Dunlevy153.08.9HardCounty estimate
California153.08.9HardCounty estimate
Columbia179.510.5HardCounty estimate
Marietta179.510.5HardCounty estimate
Mountville179.510.5HardCounty estimate
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
Elizabethtown255.014.9Very hardUtility-reported
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
Indiana99.05.8Moderately hardCounty 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
Ambler183.010.7Very hardUtility-reported
Kersey33.01.9SoftCounty estimate
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
Rheems255.014.9Very hardUtility-reported
Fredericksburg266.015.6Very hardCounty estimate
Bradford26.01.5SoftCounty estimate
Hyde148.08.7HardCounty estimate
Shippensburg158.09.2HardCounty estimate
Meadville70.34.1Moderately hardCounty estimate
Mount Pocono24.01.4SoftCounty estimate
Orrstown54.03.2SoftCounty estimate
Doylestown145.08.5HardUtility-reported
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
Koppel166.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
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
Emmaus191.011.2Very hardUtility-reported
Perkasie289.416.9Very hardComputed from Ca+Mg
South Heights156.59.2HardCounty estimate
Jamison116.06.8Moderately hardUtility-reported
Warren36.02.1SoftCounty estimate
Edgeworth208.012.2Very hardUtility-reported
Clearfield148.08.7HardCounty estimate
Gettysburg10.00.6SoftCounty estimate
Haysville208.012.2Very hardUtility-reported
Quakertown95.85.6Moderately hardCounty estimate
Natrona Heights96.05.6Moderately hardCounty estimate
Waynesboro54.03.2SoftCounty 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
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
Big Run110.06.4Moderately hardCounty estimate
Punxsutawney110.06.4Moderately hardCounty estimate
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
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
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
Montoursville31.01.8SoftCounty estimate
Cressona94.45.5Moderately hardCounty estimate
Schuylkill Haven94.45.5Moderately hardCounty estimate
Chalfont95.85.6Moderately hardCounty estimate
Freeport81.04.7Moderately hardCounty estimate
Sarver137.08.0HardCounty estimate
Coraopolis96.05.6Moderately hardCounty estimate
Mount Union92.05.4Moderately hardCounty estimate
Silverdale34.02.0SoftUtility-reported
Muncy31.01.8SoftCounty estimate
Cresson42.02.5SoftCounty estimate
Greencastle54.03.2SoftCounty estimate
Trumbauersville276.016.1Very hardComputed from Ca+Mg
Dublin95.85.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
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
Buckingham159.09.3HardUtility-reported
Akron179.510.5HardCounty estimate
Bobtown155.09.1HardCounty estimate
Dilliner155.09.1HardCounty estimate
Treasure Lake25.51.5SoftUtility-reported
Point Marion49.02.9SoftCounty estimate
Tobyhanna24.01.4SoftCounty estimate
New Oxford10.00.6SoftCounty estimate
Coudersport24.01.4SoftCounty estimate
Hegins94.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
Walnutport47.62.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
Strasburg179.510.5HardCounty estimate
New Hope95.85.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
Pipersville95.85.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
Hastings42.02.5SoftCounty estimate
Warrington95.85.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
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
Richlandtown95.85.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
Portland47.62.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
Riegelsville95.85.6Moderately hardCounty estimate
Schaefferstown266.015.6Very 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
Springtown95.85.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
Commodore99.05.8Moderately hardCounty estimate
Loganton35.02.0SoftCounty estimate
Hop Bottom56.13.3SoftCounty estimate
Cherryville47.62.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
Bangor47.62.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
Beach Lake23.01.4SoftCounty estimate
Greentown19.61.1SoftCounty 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 100.5 mg/L (5.9 gpg) — moderately hard on the USGS scale, where anything above 120 mg/L (7 gpg) counts as hard. 144 of Pennsylvania's 536 measured cities fall in the hard or very hard bands (27%), so check your own city rather than the state average.

How hard is tap water in Pennsylvania?

Across the 536 Pennsylvania cities with measured values in our index, the median hardness is 100.5 mg/L (5.9 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?

144 of Pennsylvania's 536 measured cities (27%) 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.

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.