Water hardness converter: dGH, dKH, ppm CaCO3, mmol/L and gpg

Published October 15, 2026Not yet reviewed by the editor6 sources

Short answer

1 German degree (°dH, used for both dGH and dKH) is 10 mg/L of CaO equivalent, which equals 17.848 mg/L as CaCO3 and 0.1783 mmol/L [1]. For KH, 1 dKH is 0.357 meq/L of alkalinity; Seachem's directions round this to 1 meq/L ≈ 2.8 dKH [5].

Hardness converter

6 German degrees (°dH, dGH, dKH) is107mg/L as CaCO36 °dH
mg/L (ppm) as CaCO3107.1
mmol/L1.07
meq/L2.14
grains per US gallon6.256
French degrees (°fH)10.71
English (Clark) degrees7.513

GH and KH both use German degrees, but they count different ions: GH counts calcium and magnesium, KH counts carbonate alkalinity. For KH, meq/L is the alkalinity in milliequivalents (mmol/L of HCO3− at aquarium pH).

The definitions behind the numbers

Hardness units count different things in different ways, so every conversion runs through one common unit, mg/L “as CaCO3”: the mass of calcium carbonate that would carry the same number of hardness ions.

Unit Definition mg/L as CaCO3
German degree (°dH, dGH, dKH) 10 mg/L of CaO 17.848
mmol/L one millimole of Ca²⁺ + Mg²⁺ per liter 100.09
meq/L one milliequivalent (half a millimole of a 2+ ion) 50.04
grain per US gallon (gpg) 64.79891 mg CaCO3 per 3.785412 L 17.118
French degree (°fH) 10 mg/L as CaCO3 10
English (Clark) degree 64.79891 mg CaCO3 per 4.54609 L 14.254

The German degree is defined as 10 mg/L of calcium oxide [1]; aquarium product directions such as Seachem’s use it for both GH and KH [6]. Converting it needs the molar masses of calcium oxide and calcium carbonate, which come from the IUPAC atomic weights: CaO is 56.077 g/mol and CaCO3 100.086 g/mol [2, 3], so 10 mg of CaO is equivalent to 10 × 100.086 ÷ 56.077 = 17.848 mg of CaCO3. Grains and gallons use the exact values in NIST’s guide to the SI [4].

GH and KH share a unit, not a meaning

GH counts the calcium and magnesium in the water. KH counts carbonate alkalinity: bicarbonate and carbonate, the part of the water’s buffering that carbon dioxide reacts with. The two are often close in tap water from limestone areas, because calcium carbonate supplies both, but they can drift apart: adding Epsom salt raises GH without touching KH, and adding baking soda raises KH without touching GH.

For KH, chemists usually express alkalinity in meq/L. One dKH is 17.848 ÷ 50.04 = 0.357 meq/L, so 1 meq/L is 2.80 dKH. Seachem’s Alkaline Buffer directions use that conversion (“2 meq/L is equal to 5.6 dKH”) [5], while its Equilibrium directions round 1 meq/L to 3 dH [6]. The difference is rounding, not chemistry.

Worked example

A tap water report gives hardness as 150 mg/L CaCO3:

  • 150 ÷ 17.848 = 8.4 °dH
  • 150 ÷ 100.09 = 1.50 mmol/L
  • 150 ÷ 17.118 = 8.8 gpg

If the same report gives alkalinity as 107 mg/L CaCO3, that is 6.0 dKH, or 2.14 meq/L, the number the CO2 calculator needs.

Where to use the result

  • KH in dKH feeds the CO2 estimate.
  • GH tells you whether calcium and magnesium need topping up; the dosing calculator shows how many degrees a dose of Epsom salt or gypsum adds.
  • Test kits read in steps (often one drop per degree), so a converted figure is only as precise as the test it came from.

Questions

Are GH and KH the same unit?

They are written in the same unit, German degrees, but they measure different things. GH counts calcium and magnesium; KH counts carbonate alkalinity. A water can have high GH and low KH, or the reverse.

What is a grain per gallon?

One grain (64.79891 mg) of calcium carbonate per US gallon (3.785412 L) [4], which works out to 17.118 mg/L. Water-softener specifications in the US often use it.

Why does one product say 1 meq/L = 3 dH and another 2.8?

Rounding. The exact figure is 2.804 German degrees per meq/L. Seachem's Equilibrium directions round it to 3 dH, while its Alkaline Buffer directions use 2.8 dKH [6, 5].

Other calculators

Background reading

Sources

  1. Hardness of water: measurement units. Wikipedia. Unit definitions: German degree 10 mg/L CaO (17.848 ppm); grain per US gallon 17.118 ppm; Clark degree 14.254 ppm; French degree 10 mg/L CaCO3. Accessed October 12, 2026.
  2. Abridged standard atomic weights. IUPAC Commission on Isotopic Abundances and Atomic Weights (CIAAW). Ca 40.078, C 12.011, O 15.999: CaCO3 100.086 g/mol, CaO 56.077 g/mol. Accessed October 12, 2026.
  3. Calcium carbonate (CID 10112). PubChem, National Library of Medicine. Molecular weight 100.09 g/mol. Accessed October 12, 2026.
  4. NIST Guide to the SI, Appendix B.8: Factors for units listed alphabetically. National Institute of Standards and Technology (SP 811). grain 64.798 91 mg; US gallon 3.785 412 L; imperial gallon 4.546 09 L. Accessed October 12, 2026.
  5. Alkaline Buffer. Seachem Laboratories. "2 meq/L is equal to 5.6 dKH"; divide dKH by 2.8 for meq/L. Accessed October 12, 2026.
  6. Equilibrium. Seachem Laboratories. Directions express 1 meq/L as 3 dH. Accessed October 12, 2026.