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/LThat'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 checker | Result |
|---|---|---|
| < 5 | blue | plants CO₂-limited |
| 5 – 15 | blue-green | slow growth |
| 15 – 25 | green | healthy planted tank |
| 25 – 35 | lime-yellow | peak growth zone |
| 35 – 50 | yellow | livestock stress |
| > 50 | bright yellow | dangerous; 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:
- It lags by 1–2 hours. When you wake up the tank, the checker still shows last night's CO₂. When you switch CO₂ off in the evening, it stays green for another hour.
- It assumes 4 dKH. Your tank might be 6 dKH – the checker still reports relative to its own reference fluid, not your water.
When the calculator lies
The Krib equation assumes carbonate is the only meaningful buffer in the water. Three things break that assumption:
- Phosphate buffers - pH-buffering products, some commercial substrates. These pin pH artificially and the calculator over-reads CO₂.
- Organic acids from peat, Catappa leaves, or aged wood. These lower pH without involving carbonate; calculator over-reads.
- Very low KH (under 2 dKH). Small absolute errors become large percentage errors; consider switching to a higher buffer or trusting the drop checker.