Tool · free

Water hardness calculator - units and fractions

You have calcium and magnesium from the lab and need total hardness in a particular unit? Calculate it here and see every unit at once - mg CaCO₃/l, mmol/l, meq/l, °dH and °fH. Add alkalinity and we will split the hardness into carbonate (temporary) and non-carbonate (permanent).

Enter calcium and magnesium, or hardness measured by titration.

No data yet?
Load it in the app under "New project" → "From backup".

Formulas

Total hardness expressed as calcium carbonate is the sum of calcium and magnesium concentrations converted through their molar mass ratios (Standard Methods, method 2340 B):

  • hardness [mg CaCO₃/l] = 2.497 · Ca [mg/l] + 4.118 · Mg [mg/l]

Unit conversions (all describe the same value):

  • 1 mmol/l = 100.09 mg CaCO₃/l
  • 1 meq/l = 50.04 mg CaCO₃/l
  • 1 °dH (German degree) = 17.848 mg CaCO₃/l
  • 1 °fH (French degree) = 10 mg CaCO₃/l

Carbonate and non-carbonate fractions

Carbonate hardness is the part of hardness balanced by bicarbonates - in practice the lesser of alkalinity and total hardness. The rest is non-carbonate (permanent) hardness, associated with sulfates and chlorides:

  • carbonate = min(alkalinity, total hardness)
  • non-carbonate = max(0, total hardness − alkalinity)

When alkalinity exceeds hardness, all hardness is carbonate and the excess alkalinity comes from sodium and potassium - the calculator then shows zero non-carbonate hardness, because a negative value has no physical meaning.

Calculated versus measured

Hardness computed from calcium and magnesium is not the same as hardness determined by EDTA titration, although in clean water the results are close. A divergence points to other divalent ions or to an error in one of the determinations. If you have a titration result, enter it in the optional field - the calculator will use it for the fractions and show both values side by side.

Frequently asked questions

How does hardness calculated from Ca and Mg differ from titrated hardness?

The calculated value assumes hardness comes only from calcium and magnesium and converts their concentrations into a calcium carbonate equivalent. EDTA titration measures the sum of all ions binding EDTA, so in waters with iron, manganese or aluminium the result can be higher. Agreement between the two is a good consistency check on the analysis.

What are carbonate and non-carbonate hardness?

Carbonate (temporary) hardness is the part balanced by bicarbonates - it precipitates as scale on boiling. Non-carbonate (permanent) hardness stays in solution because it is accompanied by sulfates and chlorides. The two add up to total hardness.

How do I convert German degrees to mg CaCO₃/l?

One German degree (°dH) equals 17.848 mg CaCO₃/l, that is about 0.178 mmol/l and 0.357 meq/l. The French degree (°fH) is easier to work with: exactly 10 mg CaCO₃/l.

Do I need both ions to calculate hardness?

Yes - total hardness is the sum of the calcium and magnesium contributions, so leaving one out understates the result. With calcium alone you get calcium hardness, not total hardness.

Are my calculations saved anywhere?

The last twenty stay in this browser - nothing is sent to a server and no account is needed. You can download them as a CSV file and load it into a project in the app, where they stay for good. Clearing the site data removes this memory.

Hardness says more side by side than on its own

A single number will not tell you whether the inflow differs from the intake, or whether titrated hardness agrees with the value calculated from calcium and magnesium. In LimnoLog you record calcium, magnesium and alkalinity for every station (also offline), and total hardness and the fractions are computed for you.

Open the app Explore LimnoLog features

Read more

All tools