Carbonate hardness (KH)
How much acid your water can absorb before pH crashes. The carbonate buffer that holds pH steady — and the one that lies about CO₂ when it's wrong.
What it is
Carbonate hardness measures the concentration of bicarbonate (HCO₃⁻) and carbonate (CO₃²⁻) ions in the water — the substances that absorb hydrogen ions and stop pH from swinging. It's measured in degrees German carbonate hardness (°dKH); 1 °dKH ≈ 17.86 ppm CaCO₃ ≈ 0.357 meq/L.
Why it matters
KH is the buffer that keeps pH stable through the daily CO₂ cycle, fish respiration, and bacterial activity. Too low and pH crashes overnight — a common cause of mysterious morning fish deaths in soft-water tanks running CO₂. Too high and pH locks above 8, which most planted-tank species and Amazon-region fish don't like.
KH also enters every CO₂ calculation: the pH + KH method for measuring dissolved CO₂ assumes the only acid pulling pH down is carbonic acid, which is only true when KH is the dominant buffer.
How to test
Drop tests (JBL KH, Tetra KH, Salifert) — count drops until colour changes. Strip tests work but lose resolution below 3 °dKH. Test once a week; KH barely moves day to day unless something is actively consuming it.
What high and low look like
The right KH varies wildly by tank type: a discus tank wants 1–3 °dKH, a planted Iwagumi 4–6, a Tanganyika cichlid tank 12–18. There is no universal "ideal" — only the right range for your livestock and CO₂ regime. Below 1 °dKH the buffer is gone and pH swings become dangerous. Above 18 the water locks alkaline and tannin-loving species struggle.
How to fix
Too low — dose sodium bicarbonate (baking soda) for fish-only tanks, or potassium bicarbonate (KHCO₃) for planted tanks where you want to avoid adding sodium. 1 g KHCO₃ per 100 L raises KH ~0.6 °dKH. Too high — dilute with RO water or peat-filtered water; peat itself slowly lowers KH by releasing humic acids.
