Water Quality Wire ranked 50 engine/data/water towns, sorted by grains per gallon (hardness). Every number below comes straight from the source data, not an estimate.

  1. 1. Wood River (Madison County, IL)

    Grains per gallon (hardness): 24.5

    Wood River's tap comes from shallow wells dug right next to the Mississippi River levee - some of the hardest, most mineral-heavy water in the region, so heavy the city runs its own softeners and it still leaves scale crusting your faucets, spotting your dishes, and quietly cooking your water heater to an early death....

  2. 2. Edwardsville (Madison County, IL)

    Grains per gallon (hardness): 24.0

    If you're on Edwardsville city water, it's softened at the plant - so scale isn't your headline. The real story is what's dissolved in it: the city still reports lead service lines feeding some homes (one tap tested at 10 ppb, and there's no safe level of lead), plus disinfection by-products (TTHMs) running about 100x...

  3. 3. Jerseyville (Jersey County, IL)

    Grains per gallon (hardness): 21.5

    Your Jerseyville tap water comes from chlorinated wells that legally pass but tell a textbook hard-water story. It runs very hard (an estimated 18-25 grains), so you are scrubbing chalky white scale off faucets and showerheads, fighting filmy glasses, and watching it crust up inside your water heater and shorten its...

  4. 4. De Soto (Jefferson County, MO)

    Grains per gallon (hardness): 21.0

    De Soto tap water is VERY HARD - about 21 grains per gallon, roughly three times the level where damage starts. That is the chalky film on your shower glass, the spots you can't wipe off the faucets, soap that won't lather, dry itchy skin, and dull, straw-feeling hair. The same scale silently coats your water heater's...

  5. 5. Foley (Lincoln County, MO)

    Grains per gallon (hardness): 20.0

    Foley sits in the Mississippi River bottoms, and bottom-land water is the worst kind for your home: hard, iron-heavy, and prone to that rotten-egg sulfur smell. Expect water that typically tests "very hard" (est. 15-25 grains/gallon) - enough to leave chalky scale on every faucet, fight your soap into a film on skin...

  6. 6. Marthasville (Warren County, MO)

    Grains per gallon (hardness): 20.0

    Marthasville's tap is well water that the city chlorinates - and that chlorine leaves behind cancer-risk byproducts (TTHMs at 20x EWG's health guideline, plus HAA5 and three more). It's legal, but "legal" isn't the same as clean, and a carbon or RO system strips it out. The bigger daily pain is hardness: this Missouri...

  7. 7. Crystal City (Jefferson County, MO)

    Grains per gallon (hardness): 19.5

    Crystal City's water is legal, but legal is not the same as clean. It runs ~19-20 grains of hardness, so that chalky white crust on your faucets, the soap that never rinses off, the film on your shower glass and the dry, itchy skin and dull, tangled hair are all real - and that scale is quietly cooking your water...

  8. 8. House Springs (Jefferson County, MO)

    Grains per gallon (hardness): 19.4

    House Springs water depends on your street, and neither side is gentle. If you're on the local wells (PWSD No. 6), you've got VERY hard water at ~19 grains - that's the chalky film on your faucets, the spots on every glass, soap that won't lather, dry itchy skin, flat hair, and a water heater quietly dying years early...

  9. 9. Pacific (Franklin County, MO)

    Grains per gallon (hardness): 19.3

    Pacific runs entirely on groundwater wells, and that water is VERY hard at about 19 grains per gallon - that is the chalky scale crusting your faucets and shower glass, the film that leaves your skin tight and your hair dull and straw-like, and the mineral buildup quietly cooking your water heater to an early death....

  10. 10. Troy (Lincoln County, MO)

    Grains per gallon (hardness): 19.2

    Troy water is pumped from deep wells and comes out VERY hard - about 19 grains per gallon, nearly double the "very hard" line. You feel it everywhere: soap that won't lather, filmy skin and stiff, dull hair after every shower, chalky spots on glasses, and a crust of scale building inside faucets, shower heads and your...

  11. 11. Hillsboro (Jefferson County, MO)

    Grains per gallon (hardness): 19.0

    Hillsboro tap runs about 19 grains per gallon - rated VERY HARD. That's the chalky scale crusting your faucets and showerheads, the spots that won't wipe off your glasses, soap and shampoo that never lather, dry itchy skin and dull, brittle hair, and a water heater quietly choking on lime that dies years early. On top...

  12. 12. Pevely (Jefferson County, MO)

    Grains per gallon (hardness): 19.0

    Pevely's tap water is groundwater pumped from local wells, and it is brutally hard - about 19 grains per gallon, roughly triple the "very hard" line. That is the white crust on your faucets and showerheads, the film that leaves your skin tight and itchy and your hair dull and straw-like, the soap that never quite...

  13. 13. New Haven (Franklin County, MO)

    Grains per gallon (hardness): 18.5

    New Haven's city water tests clean and compliant, but it's hard - the kind that leaves chalky white scale on your faucets and shower glass, crusts up your coffee maker, and shortens the life of every water heater and dishwasher in the house. That same hardness fights your soap, so skin feels dry and tight and hair...

  14. 14. Old Monroe (Lincoln County, MO)

    Grains per gallon (hardness): 18.3

    If you live in Old Monroe, your tap is some of the hardest water in eastern Missouri - around 18 grains per gallon. That is the chalky white crust eating your faucets and showerheads, the film that leaves skin tight and itchy and hair dull and straw-like, and the scale that silently kills water heaters and appliances...

  15. 15. Winfield (Lincoln County, MO)

    Grains per gallon (hardness): 18.3

    Winfield's tap water is brutally hard - about 18 grains, double the "very hard" line - so you're scrubbing chalky scale off faucets and glassware, fighting dry, itchy skin and dull, filmy hair, and quietly killing your water heater 15-20% early as scale cakes the tank. It carries more dissolved minerals than the EPA's...

  16. 16. Villa Ridge (Franklin County, MO)

    Grains per gallon (hardness): 18.1

    If your skin feels tight after a shower and your hair never quite rinses clean, blame the water - Villa Ridge runs about 18 grains per gallon, dead-center "very hard." That mineral load is what crusts your faucets white, fogs your glassware, leaves a film in the tub, and quietly chokes your water heater with scale...

  17. 17. Cedar Hill (Jefferson County, MO)

    Grains per gallon (hardness): 18.0

    Cedar Hill city water runs about 18 grains per gallon - "very hard" - with high alkalinity and a pH of 8.1, so the chalky scale crusting your faucets, the soap that never rinses off, the film on your glassware, and the skin that feels tight and hair that goes brittle after every shower are not in your head - they are...

  18. 18. Labadie (Franklin County, MO)

    Grains per gallon (hardness): 18.0

    If you live in Labadie, your water is VERY HARD - about 18 grains per gallon of dissolved rock straight out of the ground. That is the chalky film on your faucets and shower glass, the soap and shampoo that never lather, the dull film on your skin and hair, the spots on every dish, and the scale quietly choking your...

  19. 19. Gerald (Franklin County, MO)

    Grains per gallon (hardness): 17.8

    Gerald's tap is classic deep Missouri dolomite groundwater: very hard at about 17.8 grains per gallon, so you're feeling it every day - filmy skin that never rinses clean, dull flat hair, spotty dishes, and chalky scale crusting your faucets and showerheads. That mineral is also caking the inside of your water heater...

  20. 20. Union (Franklin County, MO)

    Grains per gallon (hardness): 17.5

    Union's city water is 100% well water and it's very hard - about 17.5 grains per gallon (300 ppm) and alkaline at pH 8.72. That's the chalky film on your faucets and glassware, the soap that won't lather, the dingy laundry, and the scale that quietly cakes inside your water heater and shortens its life. It leaves skin...

  21. 21. Silex (Lincoln County, MO)

    Grains per gallon (hardness): 17.0

    Silex made the news for the wrong reason: its water failed the EPA on radium so badly the city handed out bottled water to every resident for nearly two years. Combined radium hit 7.7 pCi/L against a 5 limit, and the city's own report warns it can raise cancer risk over years of drinking. On top of that you are...

  22. 22. Flint Hill (St. Charles County, MO)

    Grains per gallon (hardness): 16.7

    If you're in Flint Hill, you're almost certainly fighting very hard water - up to 16.7 grains. That's the chalky film on your shower glass, the soap that won't lather, the crusty scale eating your faucets and shortening the life of your water heater, plus dry, itchy skin and dull, brittle hair after every shower. The...

  23. 23. Washington (Franklin County, MO)

    Grains per gallon (hardness): 16.5

    Washington's city water is VERY hard - about 16 grains per gallon - so you're fighting chalky scale on faucets and shower glass, film that won't rinse off your skin and hair, and a water heater that's quietly crusting over and dying years early. Iron at 0.43 mg/L runs over the federal guideline, which is what stains...

  24. 24. Hawk Point (Lincoln County, MO)

    Grains per gallon (hardness): 16.1

    Hawk Point pulls from one city well, and it is hard - about 16 grains. That is the white crust climbing up your faucets, the soap and shampoo that never really lather, the film on your glasses and the scale quietly choking your water heater years before its time. On top of that the water carries 580 ppm of dissolved...

  25. 25. Moscow Mills (Lincoln County, MO)

    Grains per gallon (hardness): 16.0

    Moscow Mills city water is hard - about 16 grains per gallon - so you are scrubbing chalky spots off your glassware, fighting soap that won't lather, and watching scale eat your water heater and fixtures from the inside out. Hard water leaves skin tight and itchy and hair dull and filmy no matter how much product you...

  26. 26. Warrenton (Warren County, MO)

    Grains per gallon (hardness): 16.0

    Warrenton runs on 100% deep groundwater and the City does NOT soften it - so your tap pours out very hard 16-grain water that crusts white scale on faucets and showerheads, kills soap lather, leaves spots on dishes, makes laundry stiff, and quietly shortens the life of your water heater and appliances. That same...

  27. 27. Byrnes Mill (Jefferson County, MO)

    Grains per gallon (hardness): 15.0

    Byrnes Mill has no city water - you're on PWSD 2 surface water, PWSD 6 wells, or your own private well, and all three carry baggage. If you're on the surface system, every shower steeps you in chlorine byproducts (TTHMs at 173x and haloacetic acids at 300x the health guideline) plus chromium-6, the "Erin Brockovich"...

  28. 28. Grafton (Jersey County, IL)

    Grains per gallon (hardness): 15.0

    Grafton's tap water comes straight off the Mississippi River - disinfected with chloramine (not chlorine), so the cheap fridge and pitcher filters barely touch it. It runs roughly 15-grain VERY HARD because the utility doesn't soften it, which means white scale crusting your faucets and glassware, soap that won't...

  29. 29. St. Clair (Franklin County, MO)

    Grains per gallon (hardness): 14.6

    St. Clair water is hard - about 14.6 grains a gallon in town, and a brutal 18 grains out on the county district. That is the chalky white crust on your faucets and shower glass, the film that leaves your skin tight and itchy and your hair flat and straw-like, the soap that never really rinses, and the scale silently...

  30. 30. Granite City (Madison County, IL)

    Grains per gallon (hardness): 14.5

    Granite City taps run on chloraminated Mississippi River water that lands at 14.5 grains of hardness - that is the chalky film on your shower glass, the spots on your faucets, the scale eating your water heater from the inside (hard water can cut a heater's life nearly in half). It dries out skin, leaves hair flat and...

  31. 31. Truesdale (Warren County, MO)

    Grains per gallon (hardness): 14.5

    Truesdale water is legal, but it comes straight out of two city wells off South St. and Spoede Ln. - and it's VERY hard at about 14.5 grains, nearly double St. Louis. That hardness is the crusty white scale on your faucets and shower glass, the film that leaves your skin tight and your hair dull, and the mineral...

  32. 32. Alton (Madison County, IL)

    Grains per gallon (hardness): 14.0

    Your tap water starts as Mississippi River water, treated with chloramine and running 9 to 19 grains hard - officially Very Hard. That is the chalky scale crusting your faucets and showerheads, the spots that won't wipe off your glasses, the film that leaves skin tight and itchy and hair dull and straw-like, and the...

  33. 33. Wentzville (St. Charles County, MO)

    Grains per gallon (hardness): 14.0

    Wentzville water is genuinely hard - 11 to 17 grains a gallon, deep in the "very hard" zone. That's the chalky white crust locking up your faucets and showerheads, the soap that won't rinse off, the filmy skin and dry, brittle hair after every shower, and scale quietly coating the inside of your water heater until it...

  34. 34. Bethalto (Madison County, IL)

    Grains per gallon (hardness): 13.5

    If you live in Bethalto, you already know the story - brown water out of the tap, a metallic taste, and that gritty manganese and iron that stains your sinks, rings your toilet bowl, and leaves orange streaks on the tub. At 12-15 grains of hardness, that same water cakes scale on your faucets and shower glass, leaves...

  35. 35. Sullivan (Franklin County (straddles the Franklin/Crawford County line), MO)

    Grains per gallon (hardness): 13.3

    Sullivan's city water comes straight out of deep dolomite wells at roughly 13 grains per gallon - hard enough that you can watch it happen: chalky white scale crusting your faucets and showerheads, spotty glassware, soap and shampoo that won't lather, and a water heater quietly choking on mineral buildup years before...

  36. 36. Elsberry (Lincoln County, MO)

    Grains per gallon (hardness): 13.0

    Elsberry's tap water passes the legal test but is hard at about 13 grains - that is the chalky scale crusting your faucets, the soap that won't lather, the spotty dishes, and the limescale quietly killing your water heater. You'll feel it as filmy skin and dry, stringy hair after every shower, and see manganese-driven...

  37. 37. Augusta (St. Charles County, MO)

    Grains per gallon (hardness): 10.8

    Augusta tap is hard at about 10.8 grains and runs strongly alkaline (pH 9+), so it chalks up your faucets and showerheads with white scale, leaves spots on glasses, eats through soap, and quietly shortens the life of your water heater. It is legal water, but it carries chlorine disinfection byproducts (TTHMs) at...

  38. 38. Innsbrook (Warren County, MO)

    Grains per gallon (hardness): 10.8

    Your Innsbrook water is hard - about 11 grains a gallon on the public system, and 15-25+ grains if you're on a private well. That is the chalky scale crusting your faucets and showerheads, the soap that never rinses off, the film on your glasses, and the water heater that dies years early. The public supply runs...

  39. 39. Lake St. Louis (St. Charles County, MO)

    Grains per gallon (hardness): 10.8

    Your Lake St. Louis tap is a blend of Missouri River-bottom well water and purchased St. Louis river water, and it comes in hard at about 10.8 grains per gallon. That is the chalky film on your shower glass, the crusty white scale choking your faucets and shower heads, the soap that never quite rinses off your skin...

  40. 40. New Melle (St. Charles County, MO)

    Grains per gallon (hardness): 10.8

    If you're on New Melle city water (PWSD 2), every shower is laced with chlorine you can smell and taste, water so alkaline (pH 9+) it leaves a slick film on your skin and a chalky haze on glass, and ~11 grains of hardness that crusts faucets, fogs your shower doors, and slowly chokes your water heater with scale....

  41. 41. Portage Des Sioux (St. Charles County, MO)

    Grains per gallon (hardness): 10.8

    Your tap here is a blend of river-bottom well water and Missouri River water, and at ~10.8 grains it is genuinely hard - that is the chalky scale crusting your faucets, the film that won't rinse off your skin, the dull squeaky hair, and the water heater that dies years early. The pH runs at 9.13 (over the EPA's...

  42. 42. Wright City (Warren County, MO)

    Grains per gallon (hardness): 10.8

    Wright City tap water runs hard at about 10.8 grains per gallon - that is the chalky film on your glasses, the soap that won't lather, the dingy laundry, and the scale quietly choking your water heater and faucets. Your family pushes 180+ pounds of dissolved rock through the pipes every year, shaving years off...

  43. 43. Cottleville (St. Charles County, MO)

    Grains per gallon (hardness): 10.7

    Cottleville tap water is hard - roughly 10 to 19 grains per gallon - and you can feel it: filmy skin that never rinses clean, dull flat hair, chalky spots on your dishes and glass shower doors, and crusty white scale building on every faucet and showerhead. That same scale is silently choking your water heater,...

  44. 44. Foristell (St. Charles County, MO)

    Grains per gallon (hardness): 10.7

    If you're on Foristell town water, you're showering in hard water that runs about 10.7 grains and a pH of 9.1 - above the recommended max - so it never quite rinses off. That's the slick, soapy film on your skin, the dull straw feel in your hair, and the chalky white scale crusting your faucets, glassware and...

  45. 45. Dardenne Prairie (St. Charles County, MO)

    Grains per gallon (hardness): 10.0

    Dardenne Prairie tap water is officially hard - about 9 to 11 grains per gallon straight from the utility's own report. That is the chalky film on your shower glass, the soap that never quite rinses off your skin, the dull film in your hair, and the white crust building up on faucets and inside your water heater (hard...

  46. 46. Defiance (St. Charles County, MO)

    Grains per gallon (hardness): 10.0

    Your Defiance water comes from Missouri River valley wells, and it is very hard - that's the chalky white crust building on your faucets and showerheads, the soap that never rinses off, the film on your glasses, and the reason your skin feels tight and your hair goes dry and brittle. That same scale silently coats the...

  47. 47. Weldon Spring (St. Charles County, MO)

    Grains per gallon (hardness): 9.6

    If you live in Weldon Spring, your tap is Missouri River water that's run through chloramine (chlorine plus ammonia) and lands at about 9.6 grains hard. You feel it everywhere: that chalky film on glass shower doors, soap that never fully rinses off skin and hair, crusty white scale choking your faucets and...

  48. 48. St. Peters (St. Charles County, MO)

    Grains per gallon (hardness): 9.0

    Your St. Peters tap is a blend - part Missouri River water bought from St. Louis, part well water pumped out of the Mississippi floodplain and softened by the city. Even after that softening it still runs about 8-10 grains hard, so you're getting the chalky white scale crusting your faucets and shower glass, soap that...

  49. 49. St. Charles (St. Charles County, MO)

    Grains per gallon (hardness): 8.9

    If you're on City of St. Charles water, it's legally clean but HARD (about 8.9 grains) and runs at a strangely high pH north of 9.3, so you're fighting chalky scale on faucets and shower glass, spotty dishes, dingy laundry, and a water heater that's quietly crusting up and dying years early. It's chlorinated, carries...

  50. 50. Barnhart (Jefferson County, MO)

    Grains per gallon (hardness): 8.5

    Barnhart's tap water is legal, but it is hard (up to 13 grains/gallon) and disinfected with chloramine, so you feel it: dry, itchy skin and dull, straw-like hair after every shower, soap that never fully lathers, chalky scale crusting your faucets and shower glass, and spotty dishes straight out of the rack. That same...