Pond Water Chemistry
KH — carbonate hardness, and what most US test kits label total alkalinity — is the measurement that decides whether your pond's pH holds steady or falls out from under the fish overnight. It is not general hardness, it cannot be read off a pH pen, and the pond consumes a little of it every single day. What follows is what KH actually measures, the numbers worth holding, how to raise it without causing a second problem, and why the parameter that matters most is the one that gets checked least.
This is the single most common error in pond water advice, and correcting it is the reason this page exists. KH and GH are both called "hardness", they are both reported in degrees, and they do completely different jobs. Only one of them protects your fish from a bad morning.
| Comparison | KH — carbonate hardness (alkalinity) | GH — general hardness |
|---|---|---|
| What it measures | Bicarbonate and carbonate ions dissolved in the water | Dissolved calcium and magnesium |
| Its job | Neutralizes acid as fast as the pond produces it — the water's buffering capacity | Supplies minerals the fish use for osmoregulation and skeletal health |
| Does it affect pH | Yes. It is the thing holding pH where it is | No. GH provides no pH buffering at all |
| What happens when it is too low | pH loses its anchor, becomes unstable, then collapses suddenly | A slow mineral shortfall — a husbandry issue, not an overnight emergency |
Practical consequence: a municipal water report that calls your supply "hard" is telling you about GH, and tells you nothing reliable about the buffer in your pond today. Well water, softened water and rainwater top-ups can all land you with adequate mineral content and almost no carbonate reserve. The only way to know your KH is to measure KH.
A koi pond generates acid continuously, from three sources that never stop. Fish respiration puts CO2 into the water, which forms carbonic acid. Decaying food, leaves and mulm produce organic acids. And nitrification in the filter — the process converting ammonia to nitrite to nitrate, the process you spent months establishing — consumes alkalinity as it runs. A well-stocked, well-filtered pond burns through buffer faster than a neglected one.
While any buffer remains, pH barely moves. That is what a buffer is for. It is also what makes KH dangerous to ignore: a stable pH reading week after week is not evidence that the water is fine. It is evidence that there is still something left in the tank.
Keepers call the event a pH crash, and it has a specific timing. Through the day, plants and algae consume CO2 and pH drifts up. After dark they stop photosynthesizing and start respiring, CO2 climbs, and pH drifts back down. With normal KH that daily swing is a fraction of a point and nothing notices. With the buffer exhausted there is nothing damping it, and a pond that read 8.2 at last light can read under 6.0 by the morning feed. Ponds that have been drawing down their reserve for years without replacement are often described as having old pond syndrome — the same failure, arrived at slowly.
The part worth internalizing: pH is a lagging indicator. It gives no warning, because by design it does not move until the protection is gone. By the time pH tells you there is a problem, the problem has already happened. KH is the leading indicator, and it declines gradually and predictably — if anyone is looking.
| KH | What it means |
|---|---|
| Under 55 ppm (under 3 dKH) | Critical. The pond has essentially no protection left and a crash can happen on any night. Correct immediately and test daily. |
| 55-90 ppm (3-5 dKH) | Too thin. Below 5 dKH, pH can become unstable within 24 hours. Treat this as a working reading, not a resting place. |
| 105-180 ppm (6-10 dKH) | Optimal for koi. Enough reserve to absorb a heavy feeding week, a rain event or a filter hiccup without pH moving. |
| 180-250 ppm (10-14 dKH) | Harmless. Higher than needed, and the pond will sit toward the alkaline end, but koi are comfortable here. |
| Over 250 ppm (over 14 dKH) | High, but usually unproblematic. Worth understanding where it comes from rather than rushing to correct it. |
Units: 1 dKH equals 17.9 ppm CaCO3. US pond and pool kits print ppm or mg/L as CaCO3 and usually call it total alkalinity; aquarium-side kits print dKH, and most drop kits are built so one drop equals one dKH. It is the same measurement on two scales — the only real hazard is comparing a dKH target against a ppm reading and being off by roughly eighteen-fold.
The most reliable single reading available to a pond keeper. You add reagent drop by drop until the sample changes color, and the drop count is your KH. It is repeatable, it works at the low end where it matters, and it is the reference every other method should be checked against. Keep one on hand and use it.
Convenient, and too imprecise for this particular parameter. Strips read by color pad, and telling 2 dKH from 5 dKH on a pad is exactly where they are least trustworthy — which is exactly the difference between a pond that is fine and a pond that will crash this week. A strip is fine for a rough weekly glance at several parameters. It is not the tool you want when the number is falling.
Most simple digital meters do not measure KH at all. A pH pen reports pH, which is the number that stays reassuringly flat while the buffer beneath it disappears. Knowing what a device does not measure is as useful as knowing what it does.
How H2Koi reports KH. H2Koi does not run a titration, and we would rather say so plainly than let the number imply something it is not. KH is a continuously derived value — computed from the sonde's measurements and reported across a 0-20 dKH range. Its value is direction and rate: whether the buffer is holding, drifting or falling, and how fast, which is precisely what a weekly snapshot cannot show. Treat it as continuous early warning and spot-verify the absolute figure against your drop kit. H2Koi does not report GH — general hardness is not in its parameter list, and no reading on the page should be read as one.
Plain baking soda — sodium bicarbonate, nothing else on the label. Not baking powder: baking powder also contains acidifiers and anti-caking agents, and none of it belongs in a pond.
The rule of thumb is about 1 g per 100 litres, roughly 1.3 oz per 1,000 gallons, for about 1 dKH — that is 17.9 ppm. Dissolve the dose fully in a bucket of pond water and pour it in near the return where flow will distribute it. Never broadcast dry powder across the surface.
Published rules of thumb vary, and pond volume estimates are almost always generous. Treat any figure as a starting point and let the test kit, not the arithmetic, tell you where you actually landed.
Raise by no more than 1-2 dKH per day, and re-measure before the next step. Fish that have been living in thin, low-buffer water are acclimated to it, and a correction applied all at once becomes its own shock. Getting there slowly and confirming each step is not caution for its own sake — it is the method.
Crushed shell, oyster grit or coral gravel in a filter chamber, or bagged in good flow, dissolves faster as pH falls and slower as pH rises. That makes it self-regulating: it replaces the habit of dosing rather than the habit of testing. It works gradually, so it is a way to hold a good KH, not a way to rescue a bad one.
Water changes raise KH only if the fill water is harder than the pond. If your source is soft, softened, or you top up with collected rainwater, a change dilutes what little buffer you have and makes the situation worse. Test your tap directly before assuming it helps.
Rarely necessary. High KH in a koi pond is generally a non-event, and the effort is usually better spent elsewhere. If you do have a specific reason, the method is dilution: partial changes with softer water — reverse osmosis or collected rainwater — done in stages with a test between each one.
Do not dose acid to bring KH down. Acid lowers KH by consuming the buffer, which is the exact reserve standing between your pond and a pH crash. You would be spending the safety margin to move a number that was probably not causing any harm.
| Situation | What to do |
|---|---|
| KH under 55 ppm (3 dKH), pH still reading normal | The buffer is nearly gone and pH is about to stop being reassuring. Start bicarbonate now, 1-2 dKH per day, and test daily until you are back above 105 ppm. |
| KH near zero and pH has already fallen | Treat as an emergency. Raise KH — do not chase pH directly. Stop feeding, increase aeration and surface movement, and bring the buffer up in measured steps rather than one large dose. |
| KH falling week over week, still inside range | Consumption is outrunning replacement. Find the load — leaf litter, uneaten food, heavy stocking, a hard-working filter — and set up shell grit or coral so the pond tops itself up. |
| KH looks fine but pH swings noticeably day to night | Confirm the KH with a drop test rather than a strip, since a swing at adequate KH usually means the reading is optimistic or the CO2 load is unusually high. Add overnight aeration either way. |
| KH over 250 ppm (14 dKH) | Usually leave it alone. The pond simply resists pH change strongly and will sit alkaline, which koi tolerate well. Dilute in stages with softer water only if you have a specific reason. |
Weekly testing is the universal advice, and it is good advice. It also means that of the 168 hours in a week, roughly 167 pass with nobody watching the water.
KH is the parameter where that gap costs the most, because everything about its failure mode is quiet. It falls without a symptom. The fish behave normally. pH — the number most keepers actually check — stays flat by definition until the moment it does not. And the event itself lands overnight, in the middle of the gap between two Sunday-morning tests.
A KH figure trending down over ten days is information that a weekly snapshot can produce only by luck. That is the gap H2Koi is built to cover: continuous early warning on the parameter that moves first, so the drop kit becomes the thing that confirms what you already suspect rather than the thing that breaks the news.
KH is carbonate hardness — the bicarbonate and carbonate dissolved in your water, which most US test kits label total alkalinity. It is the pond's acid-buffering capacity: the reserve that neutralizes acid as fast as the pond makes it, so pH stays put. It is not a measure of how hard the water feels, and it is not the same thing as GH.
Hold 105-180 ppm CaCO3, which is 6-10 dKH. Below 90 ppm (5 dKH) pH can become unstable within 24 hours. Below 55 ppm (3 dKH) is critical. From 180-250 ppm (10-14 dKH) is harmless, and above 250 ppm (14 dKH) is high but usually not a problem worth correcting.
KH is carbonate and bicarbonate — the buffer that holds pH steady. GH is dissolved calcium and magnesium, which matters for the fish but does no buffering whatsoever. Water can carry plenty of GH and almost no KH, which is how ponds on genuinely hard water still crash. Confusing the two is the most common mistake in pond advice. For the record, H2Koi reports KH and does not report GH at all.
The working rule of thumb is about 1 g per 100 litres — roughly 1.3 oz per 1,000 gallons — for about 1 dKH, or 17.9 ppm. Use plain sodium bicarbonate, never baking powder, which contains acidifiers and anti-caking agents. Dissolve it in a bucket of pond water before it goes in, raise no more than 1-2 dKH per day, and re-test before the next dose. Volume estimates are usually optimistic, so let the kit tell you where you ended up.
Almost always because KH ran out. Fish respiration, decaying food and leaves, and nitrification in the filter consume buffer continuously. pH holds steady while any reserve remains, so it reads normal right up to the end. Once the reserve is gone, pH follows CO2 — and CO2 peaks overnight, when plants and algae stop photosynthesizing and start respiring. A pH crash is a KH failure that finally became visible.
Weekly as a baseline, and daily while you are correcting a low reading, after heavy rain, after a large water change, and through leaf fall. Use a drop test rather than strips: strips are least reliable at the low end of the scale, which is exactly the range where the answer changes what you do. Weekly testing still leaves about 167 hours a week unobserved, which is the case for continuous monitoring alongside a reference kit rather than in place of one.
It can be high, but it is rarely a problem. Above 250 ppm (14 dKH) the water simply resists pH change strongly and tends to sit at the alkaline end of the range, which koi handle well. If you have a specific reason to bring it down, dilute in stages with reverse osmosis water or collected rainwater. Do not use acid — it lowers KH by destroying the buffer you would otherwise be maintaining.
H2Koi monitors pond water continuously and reports which way the numbers are moving, so your weekly drop test confirms what you already know instead of being the first time you find out.
See how H2Koi works