CO2 / pH / KH Calculator
In a planted tank, light and fertiliser can both be right and the plants will still stall if CO2 is wrong. Read dissolved CO2 from your measured pH and KH.
| pH \ KH | 1 | 2 | 3 | 4 | 5 | 6 | 8 | 10 | 12 | 15 |
|---|---|---|---|---|---|---|---|---|---|---|
| 6.0 | 30 | 60 | 90 | 120 | 150 | 180 | 240 | 300 | 360 | 450 |
| 6.2 | 18.9 | 37.9 | 56.8 | 75.7 | 94.6 | 114 | 151 | 189 | 227 | 284 |
| 6.4 | 11.9 | 23.9 | 35.8 | 47.8 | 59.7 | 71.7 | 95.5 | 119 | 143 | 179 |
| 6.6 | 7.5 | 15.1 | 22.6 | 30.1 | 37.7 | 45.2 | 60.3 | 75.4 | 90.4 | 113 |
| 6.8 | 4.8 | 9.5 | 14.3 | 19 | 23.8 | 28.5 | 38 | 47.5 | 57.1 | 71.3 |
| 7.0 | 3 | 6 | 9 | 12 | 15 | 18 | 24 | 30 | 36 | 45 |
| 7.2 | 1.9 | 3.8 | 5.7 | 7.6 | 9.5 | 11.4 | 15.1 | 18.9 | 22.7 | 28.4 |
| 7.4 | 1.2 | 2.4 | 3.6 | 4.8 | 6 | 7.2 | 9.6 | 11.9 | 14.3 | 17.9 |
| 7.6 | 0.8 | 1.5 | 2.3 | 3 | 3.8 | 4.5 | 6 | 7.5 | 9 | 11.3 |
| 7.8 | 0.5 | 1 | 1.4 | 1.9 | 2.4 | 2.9 | 3.8 | 4.8 | 5.7 | 7.1 |
| 8.0 | 0.3 | 0.6 | 0.9 | 1.2 | 1.5 | 1.8 | 2.4 | 3 | 3.6 | 4.5 |
Measure KH
Read carbonate hardness in dKH with a drop test. KH barely moves through the day; once a week is enough.
Measure pH at the right hour
CO2 swings across the day. Measure two to three hours after the lights come on, once the system has settled. A morning reading comes out misleadingly low.
Enter both values
The calculator returns dissolved CO2 in mg/L and shows where you sit relative to the target band.
Switch method if buffers are suspected
With phosphate buffers, peat or wood tannins the absolute pH no longer reflects the carbonate equilibrium. The pH-drop method in the third tab gives the right answer instead.
Adjust gradually
Never raise CO2 in one step. Add a quarter bubble per second per day and watch the fish; reach the target band over several days.
How do you calculate CO2 in an aquarium?
Measure carbonate hardness and pH, then apply CO2 (mg/L) = 3 × KH (dKH) × 10^(7 − pH). A tank reading KH 4 and pH 6.8 holds roughly 19 mg/L of dissolved CO2. The relationship is derived from the carbonate equilibrium and every common CO2 chart uses it.
What is the ideal CO2 level for a planted tank?
The target band is 15–30 mg/L. Below it, plants cannot use the light they are given and algae gain the advantage; above 35 mg/L fish start showing respiratory distress. Aim at the lower end in a low-light layout and the upper end in a high-light one.
Why does the CO2 formula sometimes give the wrong answer?
It only holds when all of the KH comes from carbonates. Phosphate buffers, peat, wood tannins or commercial pH buffers lower the pH independently of the carbonate equilibrium, and the formula then reports CO2 that is not really there. That is exactly why drop checkers exist: the 4 dKH reference solution inside them is unaffected by whatever is buffering your tank water.
Why do drop checkers use a 4 dKH reference solution?
In a 4 dKH solution, the point where bromothymol blue turns green corresponds to roughly 30 mg/L of CO2; blue reads low and yellow reads risky. Because the reference is distilled water of known hardness rather than tank water, buffering does not affect it. The trade-off is that gas diffusion is slow, so a drop checker lags by an hour or two.
How do you use the pH-drop method?
Take a glass of tank water and aerate it for 24 hours so its CO2 equilibrates with the air. The difference between that sample's pH and the tank's pH gives your CO2: every 1 unit of drop means ten times the CO2. Degassed water is conventionally taken as 3 mg/L, so a 1 unit drop works out to roughly 30 mg/L.
Will adding CO2 crash the pH if KH is low?
KH is the water's resistance to pH change. At 1–2 dKH, adding CO2 makes the pH swing fast and wide, which stresses fish. In a soft-water layout, raise CO2 in smaller steps or bring KH into the 3–4 dKH band first.

