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.
KH (carbonate hardness) is the water's buffer against pH swings — the reserve of bicarbonate that absorbs acid before it can move the pH. For a typical community tank, 3–8 °dKH is a comfortable band; below 1 °dKH the buffer is effectively spent and the pH can crash overnight. One degree, 1 °dKH, equals 17.86 ppm CaCO₃ (0.357 meq/L).
What is carbonate hardness (KH)?
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. KH and GH are often confused but measure different things — the GH vs KH guide untangles them.
The direction of travel matters more than the definition. A running tank is a net acid producer: fish respire CO₂, nitrifying bacteria release hydrogen ions turning ammonia into nitrate, wood and botanicals leach organic acids — and every one of those withdrawals spends buffer. Nothing in a normal freshwater tank puts carbonate back on its own, so KH only ever drifts downwards between water changes. The why KH drops guide traces each drain — nitrification alone burns roughly 7.1 g of CaCO₃-equivalent buffer per gram of ammonia-nitrogen processed.
What KH should you aim for?
For a typical community tank, 3–8 °dKH — enough buffer to flatten the daily CO₂ swing, not so much that the pH locks alkaline. Beyond that there is no universal ideal — KH is the one hardness number you set to match your livestock and CO₂ regime, not a target every tank should hit. A discus or wild-caught soft-water tank wants 1–3 °dKH; a planted Iwagumi running CO₂ is comfortable at 4–6; a Tanganyika or Malawi cichlid tank wants 12–18. Below 1 °dKH the buffer is effectively gone and pH swings turn dangerous — that's the one hard floor every tank shares.
| Tank type | KH target |
|---|---|
| Community tank | 3–8 °dKH |
| Planted tank with CO₂ injection | 4–6 °dKH |
| Discus, wild-caught soft-water species | 1–3 °dKH |
| Caridina (bee and crystal shrimp) | 0–2 °dKH |
| Neocaridina (cherry shrimp) | 2–8 °dKH |
| Malawi / Tanganyika cichlids | 12–18 °dKH |
The two shrimp rows are where beginners get caught — caridina tanks run the buffer deliberately near zero and let an active soil hold the pH instead; the shrimp-safe parameters guide explains the split.
Why KH 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.
Signs KH is too low — or too high
Below 1 °dKH: the buffer is gone, pH swings become dangerous, and morning fish losses follow. Above 18 °dKH: the water locks alkaline, tannin-loving and soft-water species struggle, and pH is hard to bring down even with CO₂.
The early warning usually shows in the pH log before anything looks wrong in the glass: readings that used to sit flat start wobbling from test to test. Fish gasping at first light is the late warning — pH bottoms out at the end of the night, after a whole dark period of respired CO₂ has stacked onto a buffer that's no longer there. And below roughly pH 6 nitrification itself slows down, so a long-cycled tank can suddenly show ammonium again: a KH problem wearing an ammonia costume.
Too high reads more quietly. The pH sits pinned above 8 no matter what you do, CO₂ injection needs implausible bubble rates to move it, and fast growers that can split bicarbonate for carbon — Vallisneria, Egeria — coat their older leaves in a rough white crust of calcium carbonate. That crust (biogenic decalcification) is harmless in itself, but it's a clear sign the tank is running on bicarbonate instead of CO₂.
How to test KH
Drop tests (JBL KH, Tetra KH, Salifert) — count drops until the 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.
Two habits make the number more useful. Double the water sample and keep dosing drops: with twice the volume, each drop counts 0.5 °dKH instead of 1, which matters when you're steering a 2 °dKH shrimp tank. And test just before the weekly water change rather than after — the pre-change trough is the number that predicts a crash. Logged weekly, the steady drain makes a downward slide visible weeks before it becomes a pH problem.
How to raise KH
Dose sodium bicarbonate (baking soda) for fish-only tanks — 1 g per 30 L raises KH by roughly 1 °dKH — or potassium bicarbonate (KHCO₃) for planted tanks where you want to avoid adding sodium; it's a little heavier per degree, about 3.6 g per 100 L for 1 °dKH. Either way, go gradually — a degree per day at most, dissolved in a cup of tank water before it goes in. Crushed coral or aragonite in the filter raises KH slowly and self-limits as the pH stabilises, which makes it a good passive floor under a tank that keeps eating its buffer.
How to lower KH
Dilute with RO or peat-filtered water; peat itself slowly lowers KH by releasing humic acids. As with GH, switching the source water is cleaner than fighting a high KH downstream. The arithmetic is linear — a 50:50 RO/tap mix halves the tap's KH — and the water-change impact tool shows how far a given change moves the tank before you commit to it. What doesn't work is acid: pH-minus products lower pH by burning through KH, which holds right up until the buffer is spent and then hands you the crash you were trying to avoid.
