Water hardness / Anaheim

Is Anaheim water hard?

Yes. Anaheim tap water measures 131 to 351 mg/L of hardness as calcium carbonate, which is hard to very hard on the USGS scale. Anaheim Public Utilities publishes a separate average for each water source or service zone in its 2024 Water Quality Report; the figure spans those averages, so your tap depends on which one serves your area.

131 to 351 mg/L hard to very hard · 2024 Water Quality Report

What it means for curly hair

Calcium and magnesium from hard water settle on the hair. Lab work shows hair takes up a limited amount of these minerals, and damaged or bleached hair takes up more than healthy hair (Evans, Marsh and Wickett, 2011).

The evidence on breakage is mixed: two small studies found lower strength after repeated hard-water rinses (Luqman et al., 2016 and 2018), while an earlier one found no clear difference (Srinivasan et al., 2013). So hard water is a likely factor, not a proven cause.

What people commonly notice is curls that look dull, feel stiff or straw-like, and products that seem to work less than they used to.

What to do

What not to do

Check it yourself

The Anaheim Public Utilities report is public: 2024 Water Quality Report. Hardness can vary by area and season, and private wells or buildings with their own treatment can differ. If you want your exact value, ask the utility for your address.

Where the number comes from

Total Hardness (ppm as CaCO3), average by source: groundwater 351, Lenain treatment plant 278, MWD 131; range of detections 81-431; sampled 2023. Classified with the US Geological Survey bands (soft 0 to 60, moderately hard 61 to 120, hard 121 to 180, very hard above 180 mg/L). Period: 2023 data. Checked against the source on 2026-10-16. Rizzado did not measure this water.

Sources

All cities · Phoenix · Las Vegas · Henderson · San Diego · Los Angeles · Long Beach · Riverside · Houston · Dallas · Fort Worth

Rizzado uses your city's water hardness, when there is a primary source, to adjust your routine. If your city is not here, it treats the value as unknown. See how Rizzado works