04 · CO₂

Aquarium CO₂ calculator - the number your drop checker won't tell you.

Enter pH, KH and temperature. The calculator computes dissolved CO₂ in mg/L using the Krib equation with Henry's-law temperature correction. Get the in-tank value live - and the colour your drop checker should be showing in a couple of hours.

Krib equation with temperature
Drop-checker colour estimate
Target band 20-30 mg/L
dKH
°C
Uses the Krib equation CO₂ = 3 · KH · 10^(7 − pH) with a Henry's-law temperature correction. Accurate when no phosphate buffers or organic acids are present.
Dissolved CO₂
22.1 mg/L optimal 20-30
Raw22.1
Temp-comp.22.1
Drop checkergreen

How aquarium CO₂ is calculated

Dissolved CO₂ in an aquarium follows the carbonate chemistry of the water. When carbonate hardness (KH) is the dominant buffer - i.e., no phosphate buffer or organic acids – pH and KH are enough to derive CO₂ from first principles. The widely-used "Krib equation", named after the now-archived plant-tank reference site that popularised it, is:

CO₂ (mg/L) = 3.00 × KH (dKH) × 10^(7 − pH)

Worked example: pH 6.8 and KH 4 dKH at 25 °C.

CO₂ = 3.00 × 4 × 10^(7 − 6.8) = 3.00 × 4 × 1.585 ≈ 19,02 mg/L

That's a yellow-zone reading at low KH – well above the safe band. In practice this usually means the KH test kit is wrong (low-KH tests are notoriously flaky) or another acid is depressing pH without involving carbonate. Either way, lower the bubble rate and re-test before adding livestock.

The temperature correction comes from Henry's law: gases dissolve more readily in cool water. At 25 °C the correction is zero; at 20 °C, CO₂ solubility is ~6% higher; at 30 °C, ~6% lower. The calculator handles this automatically.

What CO₂ level should I target?

The classic planted-tank range is 20–30 mg/L for the photoperiod. Below 15 mg/L plants slow noticeably and algae starts winning surface real estate. Above 35 mg/L fish gasp at the surface and shrimp climb the glass; chronic exposure above 40 mg/L kills livestock.

CO₂ (mg/L)Drop checkerResult
< 5blueplants CO₂-limited
5 – 15blue-greenslow growth
15 – 25greenhealthy planted tank
25 – 35lime-yellowpeak growth zone
35 – 50yellowlivestock stress
> 50bright yellowdangerous; reduce immediately

Why your drop checker doesn't agree with the calculator

Drop checkers work by trapping a 4 dKH reference fluid in a small chamber above the water. CO₂ from the tank diffuses through air into the indicator, and the indicator changes colour. Two consequences:

Run a pH curve over a day: read pH every hour from lights-off through lights-on +2 hours. The lowest reading is your peak CO₂. Aim for that point to sit at 25–30 mg/L; the rest of the day will trend safer. aquariumtools - CO₂ notes

When the calculator lies

The Krib equation assumes carbonate is the only meaningful buffer in the water. Three things break that assumption:

  1. Phosphate buffers - pH-buffering products, some commercial substrates. These pin pH artificially and the calculator over-reads CO₂.
  2. Organic acids from peat, Catappa leaves, or aged wood. These lower pH without involving carbonate; calculator over-reads.
  3. Very low KH (under 2 dKH). Small absolute errors become large percentage errors; consider switching to a higher buffer or trusting the drop checker.
How is dissolved CO₂ calculated from pH and KH?
It uses the Krib equation - CO₂ (mg/L) = 3.00 × KH (dKH) × 10^(7 − pH) - with a Henry's-law temperature correction. The KH must be the real carbonate hardness, not a salifert-style total alkalinity number.
Why does my drop checker show a different colour?
Drop checkers lag by 1-2 hours and assume a 4 dKH reference fluid. The calculator gives you the instantaneous in-tank value; the checker shows a delayed average. They rarely agree exactly.
What CO₂ level should I target?
For a planted tank, 20-30 mg/L during the photoperiod. Below 15 mg/L plants slow; above 35 mg/L fish gasp at the surface.
Why is the calculator over-reading my CO₂?
Phosphate buffers, organic acids from peat or wood, and very low KH all break the Krib equation's assumption that carbonate is the dominant buffer. In those cases trust the drop checker over the maths.
Is the temperature correction important?
Yes - CO₂ solubility changes ~6% per 5 °C. The calculator applies the correction automatically; at 25 °C it's zero.
Try another

Three more little maths machines.

Track CO₂ alongside everything else.

Create a tank, log pH and KH whenever you test - and watch CO₂ trends over weeks, not minutes.