Water hardness: GH and KH explained simply

Updated on August 26, 2026 · ~7 min read

GH is total hardness and tells you how much calcium and magnesium salt the water holds: it matters to fish and shrimp. KH is alkalinity and measures the carbonate reserve that holds pH steady. They are independent: you can have high GH and low KH, and they need two different tests.

GH and KH are the two parameters that cause the most confusion in the hobby, and not by accident: both are called "hardness", both are measured in the same unit, and in many natural waters they rise and fall together. But they measure two different things and answer two different questions.

What GH is

GH (Gesamthärte, total hardness) measures the amount of calcium and magnesium dissolved in the water. It is "hardness" in the everyday sense: the stuff that limescales a washing machine.

GH matters to fish because it governs osmotic pressure: a soft-water fish in hard water spends energy continuously expelling the salts that enter it, and the other way round. It matters to shrimp and snails for a second reason as well: calcium is what builds the exoskeleton and the shell, and in water that is too soft shrimp have difficult moults and die during them.

It is measured in dGH (German degrees) or in ppm of CaCO₃. The conversion: 1 dGH ≈ 17.9 ppm.

What KH is

KH (Karbonathärte, alkalinity or carbonate hardness) measures the amount of carbonates and bicarbonates. It is not hardness in the everyday sense: it is the water's buffering capacity, that is how strongly it resists changes in pH.

It is the parameter that governs pH, which is why it matters more than its reputation suggests. At 8 dKH pH is practically immovable: you can add acid and it will not shift. With KH near zero pH dances at the slightest change — and it can crash by a whole point overnight when the little buffer there was runs out.

It is measured in dKH, in meq/L or in ppm. The conversions: 1 dKH ≈ 0.357 meq/L ≈ 17.9 ppm.

Which values to hold

Tank / inhabitantsGHKH
Tropical community6-12 dGH3-8 dKH
Soft water (discus, neon tetras)2-6 dGH1-4 dKH
Neocaridina shrimp6-8 dGH2-5 dKH
Caridina shrimp (crystal, taiwan bee)4-6 dGH0-2 dKH
Malawi / Tanganyika cichlids8-15 dGH6-12 dKH
Planted with CO₂4-8 dGH3-5 dKH
Reefnot measured7-9 dKH

Two things to notice in that table.

The first: in marine tanks GH is not measured. Not because there is no calcium — there is plenty — but because in salt water you follow calcium (400-450 ppm) and magnesium (1250-1400 ppm) directly, and they tell you much more. KH, on the other hand, is central in a reef, and must be held between 7 and 9 dKH and above all stable.

The second: Caridina shrimp want a very low KH, close to zero. It is the one case in which a practically absent buffer is the target, and it goes together with keeping them entirely in RO water remineralised with specific salts. It is not a tank you improvise.

They are independent (and that is the surprising part)

Every combination is possible:

That is why two different tests are needed, and why "the water is hard" is not sufficient information.

How to raise them

GH is raised with remineralising salts made for aquariums, which add calcium and magnesium in the right proportion (in shrimp products it is typically 3:1 or 4:1 between Ca and Mg). They are dissolved in the new water, outside the tank, never thrown in by the handful.

KH is raised with baking soda (NaHCO₃): about 3 g per 100 litres (26 gal) raises KH by 1 dKH. Dissolve it separately and add it slowly. ⚠️ At most 1 dKH per day: a fast swing in KH does more damage than a value slightly out of range, and in a reef it is one of the most efficient ways to make corals suffer.

To raise both permanently and without dosing anything there are calcareous substrates and rocks — aragonite, coralline, Malawi rock. They buffer on their own, for years. That is how an African cichlid tank is kept.

How to lower them

Here there is only one route that works: cutting with RO water (or deionised). You mix tap water and RO water in the proportion that gives the value you want, and the proportion is linear:

Final GH = tap GH × (litres of tap water / total litres)

With a tap at 16 dGH, to reach 8 dGH you mix half and half; to reach 4 dGH, one quarter tap and three quarters RO. The same holds for KH.

The alternatives all have limits:

What does not work is adding "hardness reducer" products that are not resins: there is no chemical way to take calcium out of water without replacing it with something else.

Before correcting, ask whether it is needed. It is far easier to choose fish suited to your water than to correct your water for years. Tap water at 12 dGH and 6 dKH is perfect for a tropical community exactly as it is: treating it "to improve it" adds a permanent weekly job and a risk at every water change.

How to measure them

Both are measured with titration test kits: you count drops until the colour changes, and each drop is one degree. They are among the most reliable tests around, provided you respect the sample volume — 5 ml, not "a finger of water", because the drop count depends on the exact volume.

The most common mistake is mixing up the two kits: many have nearly identical bottles with a different code on them. The second is forgetting that, after a water change, the value you measure is an average of old and new water: to know what comes out of the tap, measure the tap.

How Gurglee does it

Gurglee tracks GH and KH as separate parameters, each with its own range per type of tank and per inhabitants (a Neocaridina tank has a different band from a community one), and it converts between units by itself: dGH and ppm for GH, dKH, meq/L and ppm for KH — so a reading taken with a German kit and one taken with an American kit end up on the same chart instead of two. The calculators include the baking soda dose to raise KH by a given amount on a given volume, with the 1 dKH per day limit already spelled out.