Aquarium CO2 Calculator (pH and KH)

Enter the carbonate hardness (KH) and the pH of your tank. You get an estimate of the dissolved CO2 in ppm, and the pH to aim for if you want 30 ppm.

From a KH test kit. Most drop kits count in degrees (dKH): one drop is one degree.
My KH test reads in
Measure in the middle of the light period, when the CO2 has been running for a few hours.
Dissolved CO2 (estimate)19 ppmmg per liter
pH for 30 ppm at this KH6.6

With a KH of 4 dKH and a pH of 6.8, the pH and KH chart puts dissolved CO2 at about 19 ppm. This is the range makers such as JBL advise for a planted tank with added CO2.

Reading
In the usual range
Your KH
4 dKH (71 ppm as CaCO₃)
pH that gives 30 ppm at this KH
6.6
pH that gives 15 ppm at this KH
6.9
With the lab constant for 25 °C instead of the chart's rounded "3"
22 ppm (about 17% more)
  • This is an estimate. It is right only when carbonate is the one thing that buffers the water. A pH test read by eye is good to about 0.2, and an error of 0.2 changes the answer by more than a third.

What to work out next

How CO2, pH and KH are linked

CO2 dissolved in water makes a weak acid. The more CO2 there is, the lower the pH. Carbonate hardness (KH) pushes the other way: it buffers the water, so the same CO2 lowers the pH less.

That means the three numbers are tied together. If you know two of them, you can work out the third. Planted-tank keepers use this to estimate CO2 from two cheap tests.

CO2 in ppm = 3 × KH in degrees × 10(7 − pH)

Worked example. KH is 4 dKH and pH is 6.6.

3 × 4 × 10(7 − 6.6) = 12 × 2.51 = 30 ppm

Two things follow from the formula:

  • Each full pH point is ten times the CO2. If adding CO2 takes your water from pH 7.6 to 6.6, the CO2 has gone up tenfold.
  • Double the KH, double the CO2 at the same pH. A pH reading on its own tells you nothing about CO2.

pH, KH and CO2 chart

Dissolved CO2 in ppm (mg per liter). Find your KH on the left and your pH along the top.

KH pH 6.2 pH 6.4 pH 6.6 pH 6.8 pH 7.0 pH 7.2 pH 7.4
1 dKH 19 12 7.5 4.8 3.0 1.9 1.2
2 dKH 38 24 15 9.5 6.0 3.8 2.4
3 dKH 57 36 23 14 9.0 5.7 3.6
4 dKH 76 48 30 19 12 7.6 4.8
5 dKH 95 60 38 24 15 9.5 6.0
6 dKH 114 72 45 29 18 11 7.2
8 dKH 151 96 60 38 24 15 9.6
10 dKH 189 119 75 48 30 19 12
12 dKH 227 143 90 57 36 23 14

About 15 to 30 ppm is the range makers such as JBL advise for a planted tank with added CO2. Easy plants grow with much less. A tank with no added CO2 usually holds only a few ppm.

How much CO2 do plants and fish want?

CO2 What it means
Under 5 ppm A tank with no added CO2
5 to 15 ppm Enough for easy and many medium plants
15 to 30 ppm The usual target with a CO2 system
Over 30 ppm Above the usual target. Watch the fish closely

Fish show too much CO2 by breathing fast and gathering at the surface. If you see that, turn the CO2 down and get the surface moving. How much they can take depends on oxygen: water with plenty of oxygen is more forgiving.

When this method is wrong

The formula assumes that carbonate is the only thing buffering your water, and that CO2 is the only acid in it. In many tanks that is not true:

  • Driftwood, peat, leaf litter and active plant soils release acids. They lower the pH with no extra CO2, so the chart reads too high.
  • pH-down and "pH 7.0" buffer products often contain phosphate. Phosphate shows up in a KH test, so the chart reads too high.
  • Test kits are coarse. A pH reading that is off by 0.2 changes the answer by more than a third.

If the calculator shows 60, 100 or more ppm and your fish look normal, the reading is wrong, not the fish.

A more reliable way to use the same idea is the pH drop. Take a glass of tank water, let it stand for a day so the CO2 escapes, and measure its pH. Then measure the tank with the CO2 running. A drop of 1 full point means ten times the CO2 of the water that stood in the open. A drop of about one point is a common target among planted-tank keepers.

A drop checker gets round the problem in another way: it holds its own clean 4 dKH water, so nothing in your tank can upset it. It is slow, though. It shows the CO2 of an hour or two ago.

Why some charts show slightly different numbers

The "3" in the formula is a rounded figure that the whole hobby uses, and every printed chart and drop checker is built on it. Worked out from the lab constant for carbonic acid at 25 °C (pK 6.35), the figure is about 3.5, which gives results 17% higher. The calculator shows both. The gap is much smaller than the error of a home pH test, so treat any result as "about", not exact.

Common mistakes

  • Reading CO2 from pH alone. Without the KH, a pH number says nothing about CO2.
  • Trusting the chart in a tank with driftwood, peat or active soil. Other acids lower the pH and the chart reads far too high.
  • Using GH instead of KH. General hardness (GH) is a different test and has no place in this sum.
  • Measuring before the lights come on. CO2 is lowest then. Test a few hours into the light period.
  • Raising CO2 in big steps to hit a number. Go slowly and watch the fish, not the chart.

Questions and answers

How do I calculate CO2 in my aquarium?

Measure KH in degrees and pH, then use CO2 = 3 × KH × 10^(7 − pH). With KH 4 and pH 6.6 that gives about 30 ppm. The result is an estimate and is only right when carbonate is the only buffer in the water.

What should the CO2 level be in a planted tank?

About 15 to 30 ppm with a CO2 system, which is the range JBL advises. Easy plants grow with far less, and a tank with no added CO2 holds only a few ppm.

What pH gives 30 ppm of CO2?

It depends on your KH. At 2 dKH it is about pH 6.3, at 4 dKH about 6.6, at 6 dKH about 6.8 and at 10 dKH about 7.0. The calculator gives the figure for your own KH.

Why does the calculator show a very high CO2 level?

Usually because something other than CO2 is lowering the pH, such as driftwood, peat or active soil, or because a phosphate buffer is raising the KH reading. The chart cannot tell these apart from CO2.

How much CO2 is too much for fish?

There is no single limit, because it depends on how much oxygen is in the water. Around 30 ppm is treated as safe for most fish. Fast breathing or fish gathering at the surface means there is too much: turn the CO2 down.

Numbers for standard tanks

Have a standard tank? Its size, weight, heater and stocking are already worked out.

Sources

Add this calculator to your site

Free for clubs, shops and blogs. Copy the code and paste it into your page.