UTILS.
100% in-browser
🫧

Planted Tank CO2 / KH-pH Calculator

Estimate dissolved CO2 in a planted aquarium from KH and pH, and find the pH drop needed to reach a target CO2 level.

Enter KH and current pH to estimate dissolved CO2. Add a target CO2 to find the pH drop needed.

About this tool

The Planted Tank CO2 / KH-pH Calculator is a free, in-browser tool that estimates the dissolved carbon dioxide in a planted aquarium from two easy measurements: carbonate hardness (KH) and pH. It uses the classic aquarium relationship CO2 (ppm) = 3.0 × KH (dKH) × 10^(7.00 − pH), the same equation behind the printed KH/pH/CO2 charts hobbyists tape to their tanks. Enter KH in dKH (or ppm CaCO3, converted at 1 dKH = 17.86 ppm) and your current pH, and it returns the estimated CO2 plus a status band. Everything runs locally in your browser, so nothing you enter is uploaded.

The status bands follow common planted-tank guidance: below 15 ppm is low for demanding plants, 20–30 ppm is the optimal injected-CO2 target, 30–40 ppm is high and warrants watching your fish for surface gasping, and above 40 ppm is dangerous. If you enter a target CO2, the tool solves for the pH you must reach: required pH = 7.00 − log10(target ÷ (3.0 × KH)), and reports the pH drop needed from your current reading, which is what your CO2 injection rate ultimately controls.

As a worked example, a tank at KH 4 dKH and pH 6.8 has CO2 = 3.0 × 4 × 10^(7.0 − 6.8) = 12 × 10^0.2 ≈ 19.0 ppm. To reach 30 ppm at the same KH, required pH = 7.00 − log10(30 ÷ 12) ≈ 6.60, a drop of about 0.20 pH units. Important caveat: this method assumes carbonate is the only buffer. Phosphate buffers, tannins, or commercial pH-down products break the relationship, so confirm the reading with a drop checker before pushing CO2 higher.

Frequently asked questions

How is CO2 estimated from KH and pH?
With the carbonate-equilibrium relationship CO2 (ppm) = 3.0 × KH (dKH) × 10^(7.00 − pH). A lower pH at the same KH means more dissolved CO2. It assumes carbonate alkalinity is the only buffer present.
What CO2 level should a planted tank target?
Roughly 20–30 ppm is the optimal range for injected high-tech planted tanks. Below 15 ppm is low for demanding plants; above 30 ppm watch fish closely, and over 40 ppm is dangerous and can suffocate livestock.
How much pH drop do I need for a target CO2?
At fixed KH, required pH = 7.00 − log10(target CO2 ÷ (3.0 × KH)), and the drop is your current pH minus that. For KH 4 aiming at 30 ppm, required pH ≈ 6.60. The tool computes this when you enter a target.
Why might the estimate be wrong?
The formula assumes carbonate is the only buffer. Phosphate buffers, tannins from driftwood, or dosed pH reducers shift pH independently of CO2, inflating or deflating the estimate. Always confirm with a drop checker.

More tools