← All Guides Water Chemistry Intermediate

Understanding KH (Carbonate Hardness)

Last updated:

KH measures your water's ability to resist pH changes — the buffering system that stands between your fish and a sudden overnight pH crash. Here is what carbonate hardness actually does, why low KH is the most common cause of mystery fish deaths, and how to manage it.

📖 10 min read
🎯 Difficulty: Intermediate
🧪 Requires: KH test kit
Updated: Jul 2026

KH is the parameter that prevents the worst day in fishkeeping: the morning you walk in, half the tank is dead, and the pH test reads 5.0 when it has read 7.4 for months. I have gotten that phone call from a friend with a 55 gallon planted discus tank — pH crashed overnight from 6.8 to 4.5, every fish dead, no warning. The cause was not feeding, not overstocking, not a filter failure. It was KH. The tank had been running soft water with no buffering, the nitrifying bacteria slowly produced acid for six months, the KH dropped from 3 dKH to 0 dKH without anyone noticing, and the moment the buffer was gone the pH fell off a cliff. Two dollars of baking soda and a monthly KH test would have prevented the entire disaster.

This is the deep-dive companion to the water parameters overview and the sister guide to GH. KH and GH are both called "hardness," both measured in degrees, and constantly confused — but they measure completely different things. GH is the minerals your fish and shrimp use. KH is the minerals that keep your pH from crashing. If you read the two guides together, the chemistry will make sense. The pH deep-dive covers the actual pH scale; this guide covers the buffering system that holds it steady.

⚠️
The most preventable disaster in the hobby:

pH crashes are not random. They are the predictable result of low KH in a tank that produces acid (which is every tank with fish and a filter). Test KH monthly. Keep it above 4 dKH. You will never have a pH crash.

What Is KH, Exactly?

Carbonate Hardness (KH), also called alkalinity or buffering capacity, measures the concentration of carbonate (CO₃²⁻) and bicarbonate (HCO₃⁻) ions in your water. These ions are the chemical buffer that resists pH changes — specifically, they resist pH drops. When acid (H⁺ ions) enters the water, bicarbonate reacts with it to form carbonic acid, which then breaks down into CO₂ and water. The acid is consumed, the pH holds steady, and the bicarbonate is converted to CO₂ that off-gasses at the surface. As long as there is bicarbonate in the water, this reaction continues and the pH stays stable.

The buffering works in one direction only — it resists acid, not base. Adding base (raising pH) is not buffered by KH; the pH will jump immediately. This is why pH Up products swing the pH so violently — they add base, the KH does nothing to slow it down, and the pH shoots up. Adding acid (lowering pH) is buffered by KH; the pH barely moves until the KH is exhausted, then crashes. This asymmetry is why low KH is so dangerous — you cannot tell from a single pH test that the buffer is almost gone, because the pH holds steady right up until the moment it does not.

KH is measured in degrees of carbonate hardness (dKH), where 1 dKH equals 17.8 ppm of calcium carbonate equivalent. (The conversion is the same as for GH because both are expressed as calcium carbonate equivalent, even though KH measures different ions.) Typical tap water in North America ranges from 2 dKH (very soft, low buffer) to 12 dKH (hard, well-buffered). Municipal water systems often deliberately add bicarbonate to push KH up because alkaline, well-buffered water is less corrosive to pipes — which is why your tap water is probably better-buffered than you think.

KH rangedKHBuffering strengthRisk
Very low0–2Almost nonepH crash imminent
Low2–4MarginalCrash possible in planted/CO₂ tanks
Ideal4–8StrongStable pH, most community tanks
High8–12Very strongHard to lower pH if needed
Very high12+ExcessivepH stuck high, soft-water fish struggle

Why KH Matters

KH's job is to keep your pH stable, and pH stability is the single most important water chemistry goal after ammonia is at zero. Fish, shrimp, and nitrifying bacteria all adapt to whatever pH they live in, but they cannot adapt to pH that swings. Every pH swing forces their osmoregulation to re-adjust, which stresses the immune system, damages the gills, and shortens the fish's life. A tank with stable pH at 7.8 is healthier than a tank that swings between 6.5 and 7.5 every day, even though 7.8 is "less ideal" on paper for most community fish.

What makes KH specifically important is that it is consumed over time. Every gram of ammonia your fish produce is converted by nitrifying bacteria, and that conversion produces acid. The acid is neutralized by bicarbonate, which is consumed in the process. A heavily stocked tank can drop KH by 1 to 2 dKH per month through normal biological activity. A planted tank with CO₂ injection drops KH faster, because the CO₂ forms carbonic acid which is also neutralized by bicarbonate. A tank with driftwood and botanicals drops KH as tannins release humic acids. None of these processes are problems on their own — they are normal. The problem is when KH drops to zero and the buffer fails.

This is why monthly KH testing matters. pH tests look fine right up until the moment they are not, because KH has been holding the pH steady while being consumed. By the time the pH test shows a problem, the KH has been gone for days and the crash is already happening. Test KH monthly and you have a week or two of warning. Test only pH and you have zero warning.

Low KH = Unstable pH

The classic low-KH tank is a heavily planted, CO₂-injected setup running soft water. The plants and CO₂ push pH down during the day (plants photosynthesize and consume CO₂, raising pH; plants respire at night and release CO₂, lowering pH). The nitrifying bacteria in the filter produce acid constantly. The driftwood and Aqua Soil substrate release tannins. All of these acid sources consume the KH, and in soft water there is not much KH to start with. Within 4 to 8 weeks of setting up such a tank, the KH can drop from 3 dKH to 0 dKH without any visible sign — the pH holds at 6.5 right up until the day it crashes to 4.5.

The symptom that often precedes a low-KH crash is subtle: the pH starts dropping faster than usual after a water change. You change 30% of the water, pH reads 6.8 the next day, 6.5 two days later, 6.0 by day four. In a well-buffered tank, the same water change produces a pH that holds steady for a week. The accelerating drift is the canary — KH is low enough that the daily acid load is starting to overwhelm the remaining buffer. Test KH immediately if you see this pattern.

The other low-KH failure mode is in tanks with hard-water fish (African cichlids, livebearers) where the keeper is trying to push pH down to "ideal" levels with pH Down products or large amounts of driftwood. The acid from the pH Down consumes the KH, the pH drops temporarily, the KH recovers from the substrate (crushed coral) and the pH bounces back up — until the substrate's buffering capacity is also exhausted. Then both KH and pH crash simultaneously, which is even worse than a low-KH crash because the fish are adapted to high pH and get hit with both the swing and the low pH.

High KH = Hard to Lower pH

High KH (above 10 dKH) is less immediately dangerous than low KH but creates its own problems. The buffering is so strong that you cannot meaningfully lower pH with driftwood, peat, or CO₂ — the buffer absorbs the acid as fast as you add it. Discus keepers trying to run pH 6.0 in 12 dKH tap water are fighting a losing battle; the driftwood and peat do nothing, the pH sits stubbornly at 7.8, and the only fix is to dilute the tap water with RO to bring the KH down first.

High KH also means high pH, because the carbonate system naturally equilibrates around pH 8.2 in the absence of other acid sources. A tank with 10+ dKH and no driftwood or soil substrate will sit at pH 8.0+ indefinitely. This is great for African cichlids, fine for livebearers, and wrong for tetras, discus, angelfish, and most South American species. The fish often survive but never thrive — color is muted, breeding stops, lifespan is shortened.

The fix for high KH is dilution with RO water. RO has zero KH and zero buffering, so mixing it with your tap dilutes both proportionally. Tap at 12 dKH mixed 50/50 with RO produces water at 6 dKH. Mixed 75/25 RO to tap, you get 3 dKH. This is why every serious soft-water fish keeper eventually buys an RO unit — there is no other practical way to lower KH in a controlled, predictable way. Peat and driftwood work too slowly and too unpredictably for reliable use.

How to Test KH

The API GH & KH Test Kit is the standard — a $10 liquid titration test that runs about 50 tests each for GH and KH. The KH test works the same way as the GH test: add tank water to a vial, add KH reagent one drop at a time, swirl between drops, and count the drops until the color changes from blue to yellow. The number of drops equals the dKH. The test takes 2 to 5 minutes depending on KH level.

Test KH monthly in any established tank, more often in tanks with active CO₂ injection, heavy planting, or large amounts of driftwood. Test immediately if you see pH dropping faster than usual, if fish are showing unexplained stress, or if you have recently changed your water source (moved, switched from tap to RO, etc.). Test your tap water once when setting up a new tank — knowing your starting KH is essential for picking compatible fish.

The relationship between pH and KH is also worth testing together. A tank with pH 7.8 and KH 8 dKH is well-buffered and stable. A tank with pH 7.8 and KH 2 dKH is a crash waiting to happen — the pH looks fine but the buffer is almost gone. Always test both together. If you only have time for one test, test KH; the pH test alone tells you nothing about future stability.

How to Raise KH

The fastest, cheapest, most reliable method is plain baking soda (sodium bicarbonate) from the grocery store. One teaspoon per 20 gallons raises KH by about 2 dKH. Dissolve it in a cup of tank water first, then add slowly over 15 minutes to avoid shocking the fish with a sudden pH rise. You can repeat the dose every 12 hours until you reach your target KH. Never raise KH by more than 2 dKH in a single dose — the pH will rise too quickly and stress the fish, even though the fish will tolerate the final KH level fine.

Baking soda raises KH without raising GH, which makes it ideal for soft-water tanks that need more buffering without more hardness. It also does not add calcium or magnesium, so it is safe for shrimp tanks where you are managing GH separately. The downside is that baking soda does not last — it dissolves, raises KH immediately, and is then consumed over the following weeks by the same biological processes that consumed the original KH. You have to re-dose monthly, or use a slower-releasing buffer.

The long-term solution is crushed coral or aragonite in the filter. These calcium carbonate materials dissolve slowly in response to acidity — the more acid the water contains, the faster they dissolve. This makes them self-regulating: as KH drops and the water becomes more acidic, the coral dissolves faster and restores the buffer. A mesh bag of crushed coral in the filter can keep KH stable at 4 to 6 dKH for 6 to 12 months without intervention. The catch is that crushed coral raises both KH and GH simultaneously, and slowly raises pH as well — perfect for hard-water community tanks and African cichlid setups, wrong for soft-water tanks where you want KH without GH.

How to Lower KH

The only reliable method is dilution with RO water. RO water has zero KH, so mixing it with your tap water in any proportion produces a predictable lower KH. The math is straightforward: 50/50 tap to RO halves the KH. 75/25 RO to tap drops the KH to a quarter. This is the method every serious discus, ram, and Crystal Red shrimp keeper uses. A small under-sink RO unit costs $80 to $150 and pays for itself within a year if you keep soft-water species.

Peat in the filter does lower KH, but slowly and unpredictably. A bag of peat granules in a hang-on-back filter might drop KH from 8 to 4 over a month, then continue dropping to 2 over the next month, then exhaust and stop working. You are constantly adjusting the peat amount and testing KH to compensate. It works, but it is much more labor than RO dilution and produces less consistent results. Use peat if you want the tannin-stained blackwater look along with lower KH; use RO if you just want lower KH without the color.

Driftwood and botanicals lower KH slightly through the same mechanism as peat — tannins and humic acids neutralize bicarbonate. The effect is mild; a single large piece of Malaysian driftwood in a 20 gallon tank might drop KH by 1 dKH over a month. Multiple pieces plus catappa leaves plus alder cones can drop KH by 2 to 3 dKH over several months. This is fine for community tanks with moderately hard tap water where you want to nudge KH down a bit, but it cannot reliably lower KH from 10 to 3 the way RO can.

💡
The 4 to 8 dKH rule:

If you remember nothing else from this guide, remember that 4 to 8 dKH is the safe zone for most community tanks. Below 4, you risk a pH crash. Above 8, you fight to keep soft-water fish. Test monthly, adjust with baking soda (up) or RO dilution (down), and your pH will hold steady for years.

The KH, GH, pH Triangle

KH, GH, and pH are independent parameters that interact in ways that matter. The shorthand: KH buffers pH (KH up = pH stable, KH down = pH unstable). GH has minimal direct effect on pH but provides the calcium and magnesium that fish and shrimp need. pH is the result of the balance between acid production (fish, bacteria, CO₂, tannins) and buffering (KH). You can have any combination of high or low values for all three, and each combination favors different fish.

Hard, alkaline, well-buffered water (high GH, high KH, pH 7.8 to 8.4) is what African cichlids, livebearers, and many goldfish want. This water is easy to maintain — the KH keeps pH stable, the GH provides minerals, and the only real management is water changes to keep nitrate down. Soft, acidic, poorly-buffered water (low GH, low KH, pH 6.0 to 6.8) is what discus, rams, and Crystal Red shrimp want, and it is much harder to maintain — the low KH means pH is fragile, the low GH means shrimp need careful mineral supplementation, and small water chemistry mistakes cause big swings. Most community fish live happily somewhere in the middle — moderate GH, moderate KH, pH 7.0 to 7.6 — which is why most tap water works for most fish without much intervention.

The mistake new aquarists make is trying to push their tap water to extremes without understanding the buffer chemistry. You cannot lower pH in a high-KH tank with chemicals — the KH absorbs the acid and you waste your money. You cannot raise pH in a low-KH tank with chemicals — the pH jumps, the fish are shocked, and the KH is too low to hold the new pH so it crashes back down. The right approach is always to fix KH first, then let pH settle where the new KH naturally puts it. Want lower pH? Lower KH with RO, then add driftwood. Want higher pH? Raise KH with crushed coral, then let the pH rise naturally. KH is the lever; pH is what moves when you pull it.

Frequently Asked Questions

What is the ideal KH for a freshwater aquarium?

For most community tanks, aim for KH between 4 and 8 dKH. This provides enough buffering to keep pH stable through normal biological activity without making the water so alkaline that fish from soft-water environments struggle. Below 3 dKH is risky — you are one bad week away from a pH crash. Above 10 dKH is fine for hard-water species but makes it nearly impossible to keep soft-water fish or lower pH with driftwood or peat. Test KH monthly; it does not swing fast, but it does drift down over time in planted tanks and tanks with driftwood.

How much baking soda does it take to raise KH?

About 1 teaspoon of plain baking soda (sodium bicarbonate, no additives) per 20 gallons raises KH by approximately 2 dKH. Dissolve it in a cup of tank water first, then add slowly over 15 minutes to avoid shocking the fish. You can repeat this dose every 12 hours until you reach your target KH. Do not try to raise KH by more than 2 dKH in a single dose — the pH will rise too quickly and stress the fish. Baking soda is the cheapest, fastest, most reliable KH raiser available, and it is the same chemical sold as 'alkalinity buffer' at the fish store for ten times the price.

Can I lower KH without using RO water?

Partially, with peat in the filter or large amounts of driftwood. Peat releases humic acids that neutralize carbonate, lowering both KH and pH gradually. The catch is that it works slowly and is hard to control — you might add a bag of peat and watch KH drop from 8 to 4 over a month, then struggle to hold it steady as the peat exhausts. RO dilution is the only reliable way to lower KH predictably. Mix your tap with RO in known proportions: 50/50 halves the KH, 75/25 RO to tap drops it to a quarter. This is why every serious discus or Crystal Red shrimp keeper eventually buys an RO unit.

Why did my pH crash overnight?

Your KH ran out. Carbonate hardness is what buffers your pH against the acid produced by fish respiration, plant decay, and nitrifying bacteria. When KH drops below about 2 dKH, the buffer is exhausted and the pH falls rapidly — sometimes dropping from 7.5 to 5.5 in a single day. The fix is to raise KH immediately with a water change and a small dose of baking soda (1 tsp per 20 gallons raises KH by 2 dKH), then add long-term buffering like crushed coral in the filter. Test KH monthly going forward — the crash is preventable if you catch the low KH before it hits zero.

Continue Learning

Water Parameters Guide
Nano Tank Cycling
Understanding Ammonia
Understanding Nitrite

Related Calculators

Browse by Category