Water hardness converter: dGH, dKH, ppm CaCO3, mmol/L and gpg
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].
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.
Other calculators
- Dry fertilizer dosingConvert grams of KNO3, KH2PO4, K2SO4, Epsom salt or a trace mix into mg/L for your tank, or work back from a target ppm. Every molar mass is shown.
- CO2 from KH and pHEstimate dissolved CO2 in mg/L from carbonate hardness and pH, with a temperature-corrected constant, the usual chart shortcut, and the pH needed for a target.
Background reading
- FertilizersCalcium, magnesium and GH for aquarium plantsWhat GH measures, how much calcium and magnesium one degree represents, how Epsom salt and GH boosters change it, and the targets EI, PPS and Aquasabi give.
- CO2 & lightCO2 from KH and pH: the formula, the chart and where it breaksWhere the KH/pH/CO2 chart comes from, why its factor of 3 differs from the temperature-corrected 3.5, and the conditions under which both estimates fail.
Sources
- 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.
- 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.
- Calcium carbonate (CID 10112). PubChem, National Library of Medicine. Molecular weight 100.09 g/mol. Accessed October 12, 2026.
- 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.
- 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.
- Equilibrium. Seachem Laboratories. Directions express 1 meq/L as 3 dH. Accessed October 12, 2026.