Texas Water Hardness by County
Water in Texas has a median hardness of 200 mg/L as CaCO₃ — "very hard" on the USGS scale — based on 116,518 measurements at 8,600 monitoring stations. Childress County has the state's hardest measured water (1600 mg/L); Camp County the softest (19). Rank: #14 of the 50 states and D.C.
Texas water hardness map — what the numbers mean. Data verified 2026-07-22.
Of Texas's 183 measured counties, 110 very hard, 26 hard, 28 moderately hard, and 19 soft. The hardest are Childress County (1600 mg/L), King County (1600), and Reeves County (1600). Camp County is the softest at 19 mg/L (soft).
About 69% of Texas's roughly 28 million residents in counties with gate-passing hardness data live where tap water is hard or worse.
Statewide, Texas's median works out to 11.7 grains per gallon and ranks #14 of the 50 states and D.C. Across 116,518 measurements at 8,600 stations — 17,607 of them since 2000 — the middle 80% of readings fall between 47.4 and 670 mg/L. The public record runs from 1907 to 2023.
See where Texas sits nationally on the national map, or what its number means on the hardness scale.
Download the Texas water hardness map (PNG) — Water hardness by county in Texas: 183 counties mapped from USGS/EPA data, statewide median 200 mg/L (very hard); darker counties have harder water.
By county
Water hardness by county
The table lists all 183 measured Texas counties, hardest first. Their medians span 1600 mg/L in Childress County to 19 in Camp County — a 84.2× range. 61 more Texas counties lack gate-passing data.
| County | Median | Band | Results | Sites | Newest |
|---|---|---|---|---|---|
| Childress County | 1600 | Very hard | 524 | 9 | 1997 |
| King County | 1600 | Very hard | 1,358 | 43 | 2011 |
| Reeves County | 1600 | Very hard | 446 | 10 | 2017 |
| Collingsworth County | 1500 | Very hard | 382 | 2 | 2006 |
| Wichita County | 1160 | Very hard | 813 | 8 | 2023 |
| Cottle County | 1100 | Very hard | 841 | 7 | 2011 |
| Foard County | 1100 | Very hard | 257 | 6 | 1996 |
| Stonewall County | 1100 | Very hard | 2,712 | 24 | 2002 |
| Kent County | 970 | Very hard | 359 | 22 | 1996 |
| Knox County | 950 | Very hard | 1,107 | 53 | 2012 |
| Baylor County | 912 | Very hard | 1,412 | 11 | 2018 |
| Pecos County | 768 | Very hard | 395 | 84 | 2017 |
| Howard County | 705.5 | Very hard | 94 | 13 | 2017 |
| Concho County | 660 | Very hard | 344 | 2 | 2003 |
| Terry County | 642 | Very hard | 21 | 21 | 2014 |
| Hudspeth County | 619 | Very hard | 115 | 39 | 2007 |
| Jones County | 590 | Very hard | 1,261 | 8 | 2023 |
| Coke County | 580 | Very hard | 1,063 | 20 | 2003 |
| Mitchell County | 580 | Very hard | 1,976 | 15 | 2003 |
| Runnels County | 580 | Very hard | 818 | 10 | 2003 |
| Nueces County | 550 | Very hard | 466 | 75 | 2008 |
| Gaines County | 547 | Very hard | 19 | 19 | 2016 |
| Garza County | 517 | Very hard | 493 | 5 | 2016 |
| Presidio County | 508 | Very hard | 189 | 18 | 2014 |
| Throckmorton County | 496.5 | Very hard | 90 | 2 | 2023 |
| Wheeler County | 495 | Very hard | 277 | 5 | 2016 |
| Hemphill County | 490 | Very hard | 216 | 2 | 2021 |
| Palo Pinto County | 480.5 | Very hard | 714 | 8 | 2018 |
| Shackelford County | 470 | Very hard | 2,105 | 15 | 2023 |
| Yoakum County | 464.5 | Very hard | 22 | 22 | 2016 |
| Parker County | 436 | Very hard | 403 | 11 | 1997 |
| Lubbock County | 435 | Very hard | 224 | 17 | 2020 |
| Hood County | 420 | Very hard | 410 | 6 | 1997 |
| Brown County | 419 | Very hard | 207 | 6 | 2017 |
| Lamb County | 379 | Very hard | 10 | 10 | 2003 |
| Somervell County | 374 | Very hard | 73 | 3 | 2004 |
| Cameron County | 366 | Very hard | 562 | 20 | 2023 |
| Grayson County | 320 | Very hard | 846 | 12 | 2023 |
| Kinney County | 320 | Very hard | 83 | 28 | 2017 |
| Karnes County | 300.5 | Very hard | 635 | 18 | 2016 |
| Goliad County | 290 | Very hard | 787 | 14 | 2016 |
| Hays County | 290 | Very hard | 1,188 | 139 | 2022 |
| Hidalgo County | 290 | Very hard | 566 | 3 | 2000 |
| Potter County | 290 | Very hard | 1,283 | 10 | 2023 |
| Val Verde County | 288 | Very hard | 1,516 | 37 | 2017 |
| Bandera County | 284 | Very hard | 124 | 25 | 2016 |
| Bosque County | 280 | Very hard | 358 | 11 | 2020 |
| Duval County | 280 | Very hard | 87 | 65 | 2013 |
| Tom Green County | 280 | Very hard | 272 | 51 | 2023 |
| Haskell County | 276.5 | Very hard | 16 | 2 | 1996 |
| Johnson County | 276 | Very hard | 62 | 3 | 2016 |
| Brewster County | 270 | Very hard | 190 | 30 | 2010 |
| Culberson County | 270 | Very hard | 370 | 110 | 2014 |
| Gray County | 270 | Very hard | 161 | 4 | 2021 |
| Oldham County | 270 | Very hard | 279 | 4 | 2001 |
| Starr County | 270 | Very hard | 846 | 9 | 2005 |
| Bexar County | 262 | Very hard | 5,742 | 543 | 2023 |
| Blanco County | 260 | Very hard | 129 | 6 | 2021 |
| Caldwell County | 260 | Very hard | 768 | 100 | 2016 |
| Comal County | 260 | Very hard | 1,307 | 196 | 2023 |
| Stephens County | 260 | Very hard | 2,242 | 23 | 2023 |
| Webb County | 260 | Very hard | 412 | 40 | 2013 |
| Zapata County | 260 | Very hard | 99 | 6 | 2000 |
| Hutchinson County | 258 | Very hard | 1,000 | 18 | 2020 |
| Falls County | 250 | Very hard | 377 | 2 | 1997 |
| Hill County | 250 | Very hard | 1,623 | 15 | 2005 |
| Kendall County | 250 | Very hard | 32 | 15 | 1997 |
| McMullen County | 250 | Very hard | 596 | 64 | 2016 |
| Moore County | 250 | Very hard | 314 | 16 | 2021 |
| Travis County | 250 | Very hard | 3,353 | 127 | 2023 |
| Burnet County | 247 | Very hard | 131 | 14 | 2016 |
| Coryell County | 246 | Very hard | 63 | 5 | 1998 |
| Refugio County | 240 | Very hard | 1,112 | 92 | 2013 |
| Guadalupe County | 236 | Very hard | 289 | 100 | 2023 |
| Frio County | 235 | Very hard | 90 | 40 | 2015 |
| Ochiltree County | 234 | Very hard | 11 | 6 | 2021 |
| Medina County | 231 | Very hard | 702 | 159 | 2023 |
| Galveston County | 230 | Very hard | 92 | 24 | 2013 |
| Hartley County | 230 | Very hard | 47 | 11 | 2020 |
| Menard County | 230 | Very hard | 11 | 3 | 2017 |
| Uvalde County | 230 | Very hard | 1,120 | 176 | 2023 |
| Kerr County | 226 | Very hard | 35 | 18 | 2017 |
| Comanche County | 225.5 | Very hard | 366 | 7 | 2006 |
| El Paso County | 221 | Very hard | 826 | 184 | 2023 |
| Aransas County | 220 | Very hard | 224 | 105 | 2013 |
| Lipscomb County | 220 | Very hard | 27 | 8 | 2019 |
| Victoria County | 220 | Very hard | 851 | 9 | 2010 |
| Sherman County | 219 | Very hard | 16 | 9 | 2021 |
| Live Oak County | 214 | Very hard | 463 | 8 | 2010 |
| Bastrop County | 213 | Very hard | 444 | 185 | 2015 |
| Donley County | 210 | Very hard | 156 | 10 | 1999 |
| Lamar County | 210 | Very hard | 382 | 4 | 2018 |
| Matagorda County | 210 | Very hard | 757 | 192 | 2013 |
| Wharton County | 210 | Very hard | 375 | 74 | 1995 |
| Milam County | 209.5 | Very hard | 566 | 10 | 2015 |
| Grimes County | 205 | Very hard | 148 | 123 | 2013 |
| Hale County | 204 | Very hard | 12 | 10 | 2016 |
| Williamson County | 202 | Very hard | 835 | 69 | 2022 |
| Brazoria County | 200 | Very hard | 1,073 | 334 | 2012 |
| Edwards County | 200 | Very hard | 11 | 9 | 2017 |
| Real County | 196 | Very hard | 13 | 10 | 2010 |
| Freestone County | 195 | Very hard | 717 | 25 | 2019 |
| Hansford County | 195 | Very hard | 88 | 6 | 2019 |
| Bell County | 190 | Very hard | 1,001 | 35 | 2022 |
| Brooks County | 190 | Very hard | 134 | 69 | 2013 |
| Fort Bend County | 190 | Very hard | 1,264 | 92 | 2023 |
| Jim Wells County | 185 | Very hard | 138 | 15 | 2013 |
| Dallam County | 183 | Very hard | 13 | 9 | 2020 |
| Briscoe County | 180 | Very hard | 100 | 3 | 2001 |
| DeWitt County | 180 | Very hard | 449 | 10 | 2013 |
| Atascosa County | 170 | Hard | 177 | 82 | 2017 |
| Clay County | 170 | Hard | 1,075 | 7 | 2016 |
| Fannin County | 170 | Hard | 71 | 4 | 2023 |
| Chambers County | 160 | Hard | 566 | 383 | 2014 |
| Dallas County | 160 | Hard | 2,702 | 53 | 2023 |
| Irion County | 160 | Hard | 10 | 4 | 2017 |
| Navarro County | 160 | Hard | 972 | 43 | 2020 |
| Wise County | 160 | Hard | 69 | 16 | 2016 |
| Dimmit County | 158 | Hard | 25 | 9 | 2016 |
| McLennan County | 156 | Hard | 424 | 13 | 2016 |
| Waller County | 154 | Hard | 39 | 34 | 2014 |
| Burleson County | 150 | Hard | 581 | 69 | 2016 |
| Callahan County | 150 | Hard | 28 | 5 | 2016 |
| Ellis County | 150 | Hard | 1,045 | 19 | 2016 |
| Gonzales County | 150 | Hard | 349 | 133 | 2021 |
| Houston County | 143 | Hard | 613 | 13 | 2017 |
| Franklin County | 140 | Hard | 646 | 17 | 2007 |
| Van Zandt County | 140 | Hard | 528 | 50 | 2023 |
| Tarrant County | 138 | Hard | 2,148 | 105 | 2023 |
| Collin County | 134 | Hard | 503 | 23 | 2023 |
| Kaufman County | 130 | Hard | 568 | 5 | 2023 |
| Madison County | 130 | Hard | 40 | 4 | 2015 |
| Zavala County | 126.5 | Hard | 16 | 6 | 2016 |
| Jackson County | 121 | Hard | 1,357 | 67 | 2023 |
| Erath County | 120 | Hard | 20 | 3 | 2016 |
| Henderson County | 120 | Hard | 440 | 20 | 2018 |
| Denton County | 118 | Moderately hard | 3,960 | 43 | 2023 |
| Rockwall County | 115 | Moderately hard | 431 | 4 | 2023 |
| Polk County | 110 | Moderately hard | 714 | 27 | 2019 |
| San Jacinto County | 110 | Moderately hard | 637 | 17 | 2014 |
| Limestone County | 105 | Moderately hard | 692 | 72 | 1997 |
| Lee County | 104.5 | Moderately hard | 42 | 26 | 2011 |
| Cooke County | 102 | Moderately hard | 690 | 14 | 2023 |
| Fayette County | 102 | Moderately hard | 14 | 9 | 2016 |
| Crosby County | 100 | Moderately hard | 27 | 4 | 2001 |
| Leon County | 100 | Moderately hard | 255 | 28 | 2015 |
| Liberty County | 99 | Moderately hard | 1,650 | 113 | 2023 |
| Bowie County | 89.8 | Moderately hard | 116 | 6 | 2008 |
| Harris County | 87.5 | Moderately hard | 3,751 | 323 | 2023 |
| Walker County | 82.3 | Moderately hard | 700 | 11 | 2023 |
| Robertson County | 80.5 | Moderately hard | 116 | 4 | 2011 |
| Hunt County | 80.1 | Moderately hard | 272 | 5 | 2023 |
| Kenedy County | 80 | Moderately hard | 134 | 83 | 2013 |
| Wood County | 80 | Moderately hard | 1,110 | 59 | 2023 |
| Hopkins County | 76.5 | Moderately hard | 177 | 7 | 2001 |
| Rusk County | 75 | Moderately hard | 211 | 34 | 2015 |
| Cass County | 74.8 | Moderately hard | 356 | 51 | 2016 |
| Montgomery County | 73.2 | Moderately hard | 2,018 | 140 | 2023 |
| Wilson County | 71.8 | Moderately hard | 56 | 16 | 2017 |
| Morris County | 70.5 | Moderately hard | 194 | 17 | 2007 |
| Jefferson County | 69 | Moderately hard | 710 | 249 | 2023 |
| Titus County | 62 | Moderately hard | 778 | 23 | 2007 |
| Jeff Davis County | 61.5 | Moderately hard | 58 | 16 | 2010 |
| Shelby County | 60 | Moderately hard | 51 | 5 | 2015 |
| Panola County | 58.1 | Soft | 654 | 17 | 2018 |
| Gregg County | 48 | Soft | 279 | 14 | 2015 |
| Anderson County | 47.5 | Soft | 151 | 27 | 2023 |
| Smith County | 47.3 | Soft | 152 | 18 | 2023 |
| Nacogdoches County | 45 | Soft | 327 | 11 | 2015 |
| Orange County | 45 | Soft | 377 | 206 | 2013 |
| Cherokee County | 43 | Soft | 583 | 6 | 2007 |
| Angelina County | 41 | Soft | 1,268 | 11 | 2015 |
| Tyler County | 39.7 | Soft | 381 | 15 | 2017 |
| Sabine County | 36.9 | Soft | 44 | 14 | 2004 |
| Jasper County | 36 | Soft | 1,198 | 56 | 2007 |
| La Salle County | 36 | Soft | 139 | 66 | 2016 |
| Upshur County | 34.6 | Soft | 272 | 17 | 2015 |
| Newton County | 31.3 | Soft | 804 | 29 | 2022 |
| San Augustine County | 30.7 | Soft | 76 | 12 | 2004 |
| Harrison County | 29 | Soft | 408 | 14 | 2015 |
| Marion County | 28.2 | Soft | 469 | 33 | 2018 |
| Hardin County | 20 | Soft | 375 | 11 | 2015 |
| Camp County | 19 | Soft | 32 | 14 | 2015 |
ZIP codes
ZIP codes in Texas
The ZIP codes below are grouped by the Texas county they fall in. Each ZIP takes its county's measured median — shown in the group header — so this is a ZIP-to-county guide, not a separate reading for every ZIP. To check the water system serving a specific address, use the lookup.
Childress County · 1600 mg/L · Very hard
7920179230
King County · 1600 mg/L · Very hard
79236†
Reeves County · 1600 mg/L · Very hard
79718†79770†797727978079785†
Collingsworth County · 1500 mg/L · Very hard
79095†79251†
Wichita County · 1160 mg/L · Very hard
76301763027630676308763097631176354†76360†76367
Cottle County · 1100 mg/L · Very hard
79223†79248†
Foard County · 1100 mg/L · Very hard
79227
Stonewall County · 1100 mg/L · Very hard
79502†79540†
Kent County · 970 mg/L · Very hard
79518†79528†
Knox County · 950 mg/L · Very hard
76363†7637179505†79529†
Baylor County · 912 mg/L · Very hard
76380
Pecos County · 768 mg/L · Very hard
79730†79735†79743
Howard County · 705.5 mg/L · Very hard
79511†79720†797217973379748†
Concho County · 660 mg/L · Very hard
76837†768587686276866
Terry County · 642 mg/L · Very hard
79316†79345†79378†
Hudspeth County · 619 mg/L · Very hard
79839†79851†
Jones County · 590 mg/L · Very hard
7950179503795207952579553†79601†
Coke County · 580 mg/L · Very hard
76933†7694576953†
Mitchell County · 580 mg/L · Very hard
795127953279565†
Runnels County · 580 mg/L · Very hard
7682176865768757688279567
Nueces County · 550 mg/L · Very hard
78330783397834378347†7835178373783807840178402784047840578406784077840878409784107841178412784137841478415784167841778419
Gaines County · 547 mg/L · Very hard
79323†79342†79359†79360†
Garza County · 517 mg/L · Very hard
79330†79356
Presidio County · 508 mg/L · Very hard
79843†79845†79846†
Throckmorton County · 496.5 mg/L · Very hard
763727648376491
Wheeler County · 495 mg/L · Very hard
79011†79061†7907979096†
Hemphill County · 490 mg/L · Very hard
79003†79014†
Palo Pinto County · 480.5 mg/L · Very hard
7606776449†764537647276475†76484†
Shackelford County · 470 mg/L · Very hard
764307646479533†
Yoakum County · 464.5 mg/L · Very hard
79355†79376†
Parker County · 436 mg/L · Very hard
7600876020†76035†760667608276085†7608676087†76088†7643976487†76490†
Lubbock County · 435 mg/L · Very hard
79329†79350†79363†79364†7936679382†794017940279403†7940479406794107941179412794137941479415†79416†79423†79424
Hood County · 420 mg/L · Very hard
76048760497646276476†
Brown County · 419 mg/L · Very hard
76432†768017680276823768277685776890
Lamb County · 379 mg/L · Very hard
79031†7906479082†79312†79326†79339†79369†
Somervell County · 374 mg/L · Very hard
760437607076077
Cameron County · 366 mg/L · Very hard
78520785217852678535785507855278559†78566785677857578578†7858378586†785927859378597†
Grayson County · 320 mg/L · Very hard
75020750217505875076750907509275414†75459754897549175495762337624576264762687627176273
Kinney County · 320 mg/L · Very hard
78832†
Karnes County · 300.5 mg/L · Very hard
78111†78116†7811778118†7811978144†78151†
Goliad County · 290 mg/L · Very hard
77960†77963†77993†78107†
Hays County · 290 mg/L · Very hard
7861078619†78620†78640786667867678737
Hidalgo County · 290 mg/L · Very hard
785017850378504785167853778538785397854078541†785427854378549785577855878560†7856278563†78565785707857278573785747857678577785797858978595†7859678599
Potter County · 290 mg/L · Very hard
79010†79058†79101791027910379104791067910779108†7911179124†
Val Verde County · 288 mg/L · Very hard
78837†78840†78841†78842†7884378871†
Bandera County · 284 mg/L · Very hard
78003†78055†78063†78883†78884†78885†
Bosque County · 280 mg/L · Very hard
7663476637†76649†76652†7666576671†76689†76690†
Duval County · 280 mg/L · Very hard
78341†78349†78357†78376†78384†
Tom Green County · 280 mg/L · Very hard
76861†76901†76902†769037690476905769087690976934†7693776939†7694076955†7695776958†
Haskell County · 276.5 mg/L · Very hard
76388†7952179539†79544†79547†79548
Johnson County · 276 mg/L · Very hard
76009760287603176033†7604476050†7605876059760617608476093
Brewster County · 270 mg/L · Very hard
79830†7983279834†79842†79852†
Culberson County · 270 mg/L · Very hard
79847†79855†
Gray County · 270 mg/L · Very hard
79002†79054†79057†79065†79066†
Oldham County · 270 mg/L · Very hard
79001†79092†
Starr County · 270 mg/L · Very hard
78536†78545†7854778548†78582†78584†78585†78588†78591†
Bexar County · 262 mg/L · Very hard
7800278023†7807378101781097811278148781507815278154782017820278203782047820578207782087820978210782117821278213782147821578216782177821878219782207822178222782237822478225782267822778228782297823078231782327823378234782357823678237782387823978240782427824378244782457824778248782497825078251782527825378254782557825678257†782587825978260782617826378264
Blanco County · 260 mg/L · Very hard
78606†78635†78636†78663†
Caldwell County · 260 mg/L · Very hard
78616†786227864478648†786557865678661
Comal County · 260 mg/L · Very hard
78070†78132†78133†781637826678623†
Stephens County · 260 mg/L · Very hard
7642476429
Webb County · 260 mg/L · Very hard
78019†780407804178043†78044†78045†7804678344†78369†78371†
Zapata County · 260 mg/L · Very hard
78067†7807678564
Hutchinson County · 258 mg/L · Very hard
79007†79008†79062†79078†79080†79083†
Falls County · 250 mg/L · Very hard
765247657076632†7665676661†76680†76682†76685†
Hill County · 250 mg/L · Very hard
7605576621†7662276627†766287663176636†7664576648766507666076666766737667676692
Kendall County · 250 mg/L · Very hard
78004†78006†780137801578027†78074†
McMullen County · 250 mg/L · Very hard
78007†78072†
Moore County · 250 mg/L · Very hard
79013†79029†
Travis County · 250 mg/L · Very hard
78617†7864178645†78652†786537866078669†7870178702787037870478705787127871978721787227872378724†78725787267872778728†787307873178732787337873478735†78736†78738787397874178742†78744†7874578746787477874878749†7875078751787527875378754†78756787577875878759
Burnet County · 247 mg/L · Very hard
78605†78608†78611†78654†
Coryell County · 246 mg/L · Very hard
765227652876544†765617656676596765977659876599
Refugio County · 240 mg/L · Very hard
77990†78340†78377†78393†
Guadalupe County · 236 mg/L · Very hard
78108781237812478130781557863878670
Frio County · 235 mg/L · Very hard
78005†78017†78057†78061†
Ochiltree County · 234 mg/L · Very hard
79033†79070†79093†
Medina County · 231 mg/L · Very hard
78009†780167803978056†78059780667885078861†78886
Galveston County · 230 mg/L · Very hard
77510†77517†7751877539775467755077551†77554775557756377565†77568775737759077591776177762377650
Hartley County · 230 mg/L · Very hard
79018†79044†
Menard County · 230 mg/L · Very hard
76848†76859†
Uvalde County · 230 mg/L · Very hard
78801†78802†78838†78870†78881†
Kerr County · 226 mg/L · Very hard
78010†78024†7802578028†78029†78058†
Comanche County · 225.5 mg/L · Very hard
76436†7644276444†76452†76455†76474
El Paso County · 221 mg/L · Very hard
79821†79835†798367983879849798537990179902799037990479905799067990779908799117991279915799167991879920†7992279924799257992779928799307993279934799357993679938†
Aransas County · 220 mg/L · Very hard
77950†7835878382†
Lipscomb County · 220 mg/L · Very hard
79005†79024†79034†79046†79056†
Victoria County · 220 mg/L · Very hard
779017790477905†77951†77968†77973†77976†77977†77988†
Sherman County · 219 mg/L · Very hard
73960†79084†79086†
Live Oak County · 214 mg/L · Very hard
78022†7807178075†78383†
Bastrop County · 213 mg/L · Very hard
7860278612786217865078659786627895378957
Donley County · 210 mg/L · Very hard
79226†79237†79240†
Lamar County · 210 mg/L · Very hard
754117541675421†75434†75435754607546275468†75470754737547775486
Matagorda County · 210 mg/L · Very hard
77414†77415†77419†77428†77440†77456†77457†77458†7746577468†77482†77483†
Wharton County · 210 mg/L · Very hard
77420†77432†77435†77436†7743777443†77448†77453†77454†77455†77467†77488†
Milam County · 209.5 mg/L · Very hard
765187651976520†7652376556765677657777857
Grimes County · 205 mg/L · Very hard
773637783077831†77861†778687787577876†
Hale County · 204 mg/L · Very hard
7902179032†79041†7907279073†79250†79311†
Williamson County · 202 mg/L · Very hard
765277653076537765737657476578†786137861578626†78628786337863478642786647866578674786817871778729
Brazoria County · 200 mg/L · Very hard
77422†77430†77431†77480†77486†77511†775157753177534†77541†77566†77577†775787758177583†77584
Edwards County · 200 mg/L · Very hard
78880†
Real County · 196 mg/L · Very hard
78828†78833†78873†78879†
Freestone County · 195 mg/L · Very hard
7583875840†75848†758597586076693†
Hansford County · 195 mg/L · Very hard
79040†79081†
Bell County · 190 mg/L · Very hard
765017650276504765117651376534†765417654276543†765487654976554†7655776559765697657176579
Brooks County · 190 mg/L · Very hard
78353†78355†
Fort Bend County · 190 mg/L · Very hard
7705377406†7740777417†7744177444†77451†77459†77461†77464†77469†7747177476†77477774787747977481†7748977494†77498†77545
Jim Wells County · 185 mg/L · Very hard
78332†7834278372†78375†
Dallam County · 183 mg/L · Very hard
79022†79051†79087†
Briscoe County · 180 mg/L · Very hard
79255†79257†
DeWitt County · 180 mg/L · Very hard
7795477974†77994†77995†78141†78164
Atascosa County · 170 mg/L · Hard
78008†78011†78012†78026†780507805278062780647806578069
Clay County · 170 mg/L · Hard
76228†76305†7635776365†76377†
Fannin County · 170 mg/L · Hard
75413754187543875439754467544775449754527547575476†75479754887549075492
Chambers County · 160 mg/L · Hard
7751477523†775607758077597†77661†77665†
Dallas County · 160 mg/L · Hard
750017500675019750387503975040750417504275043750447504875050750517505275060750617506275063750807508175088†750897510475115751167513475137751417514675149751507515975172751807518175182752017520275203752047520575206752077520875209752107521175212752147521575216752177521875219752207522375224752257522675227752287522975230752317523275233752347523575236752377523875240752417524375244752467524775248752497525175253752547527075390
Irion County · 160 mg/L · Hard
76930†76941†
Navarro County · 160 mg/L · Hard
7510275105†751097511075144751537515576626766397664176679†76681
Wise County · 160 mg/L · Hard
76023†76071†76073†7607876225†76234†7626776426†76431
Dimmit County · 158 mg/L · Hard
78827†78830†78834†78836†
McLennan County · 156 mg/L · Hard
76624766307663376638†76640†766437665476655†7665776691767017670476705767067670776708767107671176712†76798
Waller County · 154 mg/L · Hard
77423774457744677466†77484†
Burleson County · 150 mg/L · Hard
77836778527786377878†77879†
Callahan County · 150 mg/L · Hard
76443764697950479510†
Ellis County · 150 mg/L · Hard
75101751197512575152†751547516575167760417606476065766237665176670†
Gonzales County · 150 mg/L · Hard
7812278140†78159†78614786297863278658†7867778959
Houston County · 143 mg/L · Hard
7583575844†75847†7584975851†7585675858†
Franklin County · 140 mg/L · Hard
754577548075487
Van Zandt County · 140 mg/L · Hard
75103†75117751277514075147†751697575475790
Tarrant County · 138 mg/L · Hard
750547526176001760027600576006760107601176012760137601476015760167601776018760217602276034760367603976040760517605276053760547606076063760927610276103761047610576106761077610876109761107611176112761147611576116761177611876119761207612376126761277612976131761327613376134761357613776140761487615576164761777617976180761827624476248
Collin County · 134 mg/L · Hard
75002750097501375023750247502575034750357506975070750717507275074750757507875082750937509475098751647516675173†75252752877540775409†754247544275454
Kaufman County · 130 mg/L · Hard
751147512675142†75143†75157751587516075161†
Madison County · 130 mg/L · Hard
75852†7786477872
Zavala County · 126.5 mg/L · Hard
78829†78839†78872†
Jackson County · 121 mg/L · Hard
77957†77961†77962†77969†77970†77971†77991†
Erath County · 120 mg/L · Hard
76401†764027643376446†76463†
Henderson County · 120 mg/L · Hard
7512475148†75156†7516375751†757527575675758†757707577875782
Denton County · 118 mg/L · Moderately hard
75007750107502275028750337503675056750577506575067750687507776201762037620576207762087620976210762267622776247†7624976258762597626276266
Rockwall County · 115 mg/L · Moderately hard
7503275087†7513275189
Polk County · 110 mg/L · Moderately hard
75934†75939†75960†77326†77335†77350†7735177360
San Jacinto County · 110 mg/L · Moderately hard
7732877331773597736477371
Limestone County · 105 mg/L · Moderately hard
76635†76642†766537666476667†766787668676687†
Lee County · 104.5 mg/L · Moderately hard
77853789427894678947†78948
Cooke County · 102 mg/L · Moderately hard
76238762407624176250762527625376263†76272
Fayette County · 102 mg/L · Moderately hard
78938†78940†78941†7894578949†78954†78956†78963†
Crosby County · 100 mg/L · Moderately hard
79322†79343†79357†
Leon County · 100 mg/L · Moderately hard
758317583375846758507585577855†7786577871†
Liberty County · 99 mg/L · Moderately hard
77327†77368†77369†77533†77535†77538†77561775647757577582†
Bowie County · 89.8 mg/L · Moderately hard
7550175503†7555975561†75567†7556975570†75573†75574
Harris County · 87.5 mg/L · Moderately hard
7700277003770047700577006770077700877009770107701177012770137701477015†77016770177701877019770207702177022770237702477025770267702777028770297703077031770327703377034770357703677037†770387703977040†77041770427704377044770457704677047770487704977050†77051770547705577056770577705877059†770607706177062770637706477065†7706677067770687706977070†770717707277073†770747707577076770777707877079770807708177082770837708477085770867708777088770897709077091770927709377094770957709677098770997720477336†77338773397734577346773737737577377†77379†77388†77389†77396†7740177429†7743377447†774497745077493†77502775037750477505†775067750777520†77521†7753077532†77536775477756277571775867758777598
Walker County · 82.3 mg/L · Moderately hard
773207733477340773417734277358†77367
Robertson County · 80.5 mg/L · Moderately hard
76629†77837†77856778597786777882†
Hunt County · 80.1 mg/L · Moderately hard
751357540175402754227542375428†75429†7545375474†75496
Kenedy County · 80 mg/L · Moderately hard
7833878385†
Wood County · 80 mg/L · Moderately hard
754107549475497757657577375783
Hopkins County · 76.5 mg/L · Moderately hard
7542075431754337543775471754787548175482†
Rusk County · 75 mg/L · Moderately hard
7564175652756547565875667†756807568175682756847568775689†75691†75784†
Cass County · 74.8 mg/L · Moderately hard
75551755557555675560755627556375564755657556675568755727563075656
Montgomery County · 73.2 mg/L · Moderately hard
7730177302†77303†7730477306†77316†77318†7735477355†773567735777362773657737277378†773807738177382†7738477385†7738677873†
Wilson County · 71.8 mg/L · Moderately hard
78113781147812178143781477816078161
Morris County · 70.5 mg/L · Moderately hard
755717563875668†
Jefferson County · 69 mg/L · Moderately hard
77613†7761977622†7762777629†77640776427765177655†7770177702777037770577706777077770877713
Titus County · 62 mg/L · Moderately hard
754557549375558
Jeff Davis County · 61.5 mg/L · Moderately hard
79734†79854†
Shelby County · 60 mg/L · Moderately hard
759357595475973†7597475975†
Panola County · 58.1 mg/L · Soft
75631†75633†75639†75642†7564375669†
Gregg County · 48 mg/L · Soft
75601756037560475605756477566275693
Anderson County · 47.5 mg/L · Soft
75763†75779758017580375839†75853758617588475886
Smith County · 47.3 mg/L · Soft
75701757027570375704†7570575706757077570875709757117575075762757717579175792
Nacogdoches County · 45 mg/L · Soft
757607578875937759437594475946†759617596275964†75965†
Orange County · 45 mg/L · Soft
77611†776307763277662†
Cherokee County · 43 mg/L · Soft
7575775759757647576675780757857578975925†75976†
Angelina County · 41 mg/L · Soft
7590175903759047594175949†7596975980†
Tyler County · 39.7 mg/L · Soft
75936†75938†75942†7597977616†77624†77660†77664
Sabine County · 36.9 mg/L · Soft
75948†75959†75968
Jasper County · 36 mg/L · Soft
75931†75951†75956†7761277615†
La Salle County · 36 mg/L · Soft
78001†78014†78021†
Upshur County · 34.6 mg/L · Soft
75644756457568375755
Newton County · 31.3 mg/L · Soft
75928†75932†75933†75966†75977†77614
San Augustine County · 30.7 mg/L · Soft
75929†75930†75972†
Harrison County · 29 mg/L · Soft
75602756407565075651756597566175670756717567275692†75694
Marion County · 28.2 mg/L · Soft
75657
Hardin County · 20 mg/L · Soft
7737477376775197758577625776567765777659†77663†
Camp County · 19 mg/L · Soft
75451†75686
† 572 ZIP codes are not served by a mapped community water system — most are private-well areas. See well water hardness.
Source
Groundwater vs surface water
Texas's groundwater measures harder than its surface water — 254 mg/L across 14,259 samples versus 189 across 101,777, about 1.3× harder. Wells draw from groundwater, so well owners in Texas tend to see the harder number — 254 mg/L, very hard. Groundwater readings there run 41.3 to 530 mg/L across the middle 80% of samples. The comparison draws on 6,670 groundwater and 1,898 surface-water monitoring sites; 8,654 readings above 2,000 mg/L were logged but held out of the medians as outliers.
Groundwater (wells)
254 mg/L as CaCO₃ · 14,259 results at 6,670 stations.
Surface water (rivers, lakes)
189 mg/L as CaCO₃ · 101,777 results at 1,898 stations.
Groundwater measures about 1.3× harder than surface water here.
Chemistry
Water chemistry in Texas
Beyond the hardness number, Texas's water carries a fuller chemical signature — here is how its measured parameters compare to national benchmarks.
TDS
294 mg/L · n=12,896
294 mg/L — about 1.3× the national county median of 226, consistent with hard, mineral-rich water.
pH
7.8 pH · n=66,862
pH 7.8 — within the EPA secondary range of 6.5–8.5, on the alkaline side.
Alkalinity
117 mg/L as CaCO3 · n=32,430
117 mg/L — substantial buffering capacity, which resists pH swings.
Calcium : Magnesium
49 : 6.4 mg/L ≈ 7.66 : 1 · n=19,948
Calcium is about 82% of Texas's hardness (49 mg/L Ca to 6.4 mg/L Mg), a little more calcium-rich than the national ~68% calcium share.
Parameter medians may include a small share of quality-control samples; the hardness lane is fully QC-filtered.
Aquifers
Major aquifers under Texas
3 aquifer systems supply much of Texas's measured groundwater.
- Seymour aquifer — median 759.5 mg/L across 37 samples at 21 sites: very hard.
- Alluvial aquifers — median 366 mg/L across 256 samples at 189 sites: very hard.
- Edwards-Trinity aquifer system — median 292 mg/L across 7,173 samples at 1,230 sites: very hard.
Together these systems account for 7,466 measured samples at 1,440 sites. Aquifer medians pool samples across a whole system and can mask local variation — see the national aquifer map for how these compare across states.
Trend
Hardness over time
Texas's decade median moved from 245 mg/L in the 1930s to 118 in the 2020s. Over the series, the decade median peaked at 245 mg/L in the 1930s and bottomed at 118 in the 2020s. Decade medians reflect where and what agencies sampled in each era, not just changes in the water itself.
Scale
Where Texas sits on the scale
On the USGS scale, Texas's 200 mg/L is very hard — 11.7 grains per gallon, well above the 180 mg/L very-hard cutoff — among the hardest water measured in the US.
At 200 mg/L (11.7 gpg), water-softener owners in Texas typically set their unit to this hardness — settings calculator.
Questions
Frequently asked questions
- Is Texas's water hard?
- Texas's median hardness is 200 mg/L as CaCO₃, "very hard" on the USGS scale and 1.43× the national county median of 140 mg/L. About 69% of residents in measured counties have hard-or-worse water.
- Which county in Texas has the hardest water?
- Childress County, with a median of 1600 mg/L as CaCO₃ across 524 measurements.
- Is well water harder than city water in Texas?
- Groundwater measures harder here — about 1.3× the surface water — so wells tend to run harder (groundwater 254 vs surface water 189 mg/L).
- How do I find my exact hardness in Texas?
- Search your ZIP on the lookup tool, read your utility's Consumer Confidence Report, or test at home with a kit.
- Is Texas's water harder than the national average?
- Yes. Texas's median of 200 mg/L is 1.43× the national county median of 140 mg/L, and Texas ranks #14 of the 50 states and D.C.
Compare
States with similar hardness
Two states measure closest to Texas's 200 mg/L: Missouri at 196 mg/L and New Mexico at 207 mg/L. Texas measures harder than 74% of states. Browse the full ranking on the statistics page.
More: hardness scale · check your address · national statistics · the national map.
By Marko Visic, MPharm, BSc Physics. Source: USGS/EPA Water Quality Portal — 116,518 Texas measurements. Data last verified . Methodology.
Cite this page: “Texas Water Hardness by County.” Hard Water Map. Retrieved 2026-07-22, https://hardwatermap.com/water-hardness/texas/