Aquarium CO2 calculator

Enter your tank's pH and KH to estimate how much CO2 is dissolved in the water, and whether that is right for your plants and safe for your fish.

Your readings

Between 4.5 and 9. Test after the CO2 has been on for a few hours.

KH unit

Test pH and KH from the same water sample. If your KH kit counts drops in German degrees, that is dKH. If it gives mg/L or ppm, choose ppm (1 dKH = 17.848 ppm).

Estimated CO2

24 ppm

Good for planted tanks

In the 20–30 ppm range most high-tech planted tanks aim for. Watch your fish for a day after any change to the CO2 rate.

Your KH
4 dKH (71 ppm)
pH for 20–30 ppm at this KH
6.60 to 6.78

3 × 4 × 10(7 − 6.7) = 23.9 ppm

How to estimate aquarium CO2: CO2 (ppm) = 3 × KH (dKH) × 10(7 − pH), so at 4 dKH a pH of 6.6 means about 30 ppm. Most CO2-injected planted tanks aim for 20–30 ppm, and above about 40 ppm is risky for fish.

How it works

CO2 dissolves in water and some of it forms carbonic acid, which lowers pH. KH (carbonate hardness) is the bicarbonate in your water that resists that change. If you know how much bicarbonate there is and how acidic the water is, you can work out how much CO2 must be there. The aquarium version of that chemistry is:

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

If your KH test reads in ppm (mg/L as calcium carbonate), divide by 17.848 to get dKH first.

Worked example. Your tank reads pH 6.8 and KH 5 dKH (89 ppm on a ppm kit: 89 ÷ 17.848 = 5.0 dKH).

  1. 7 − 6.8 = 0.2
  2. 100.2 = 1.585
  3. 3 × 5 × 1.585 = 23.8, so about 24 ppm. That is inside the 20–30 ppm target for a high-tech planted tank.

Two rules fall out of the formula. At the same KH, every drop of 1.0 in pH means 10 times as much CO2, and every drop of 0.1 means about 26% more. At the same pH, doubling KH doubles the estimate.

CO2 chart: KH and pH

Find your KH on the left and your pH along the top. Values are CO2 in ppm from the same formula, rounded. If your readings match a cell exactly, the calculator outlines it.

Estimated CO2 in ppm for KH 1 to 10 dKH (rows) and pH 6.4 to 7.6 (columns)
KH (dKH)pH 6.4pH 6.6pH 6.8pH 7.0pH 7.2pH 7.4pH 7.6
1127.54.83.01.91.20.8
224159.56.03.82.41.5
33623149.05.73.62.3
4483019127.64.83.0
5603824159.56.03.8
672452918117.24.5
784533321138.45.3
896603824159.66.0
910768432717116.8
1011975483019127.5

Low under 10 ppm · Moderate 10–19 · Good 20–30 · High 31–40 · Dangerous over 40

The common 4 dKH drop checker solution sits at pH 6.6 when the CO2 is about 30 ppm. That is why a green drop checker is read as "about right".

What CO2 level to aim for

CO2What it means
Under 10 ppmLow. Common in tanks without added CO2. Fine for fish and slow, low-light plants such as anubias, java fern and mosses.
10–19 ppmModerate. Helps plants in low to medium light.
20–30 ppmGood. The usual target for high-light, CO2-injected planted tanks.
31–40 ppmHigh. Many fish cope with strong surface movement, but watch them closely.
Over 40 ppmDangerous for fish. They struggle to get rid of CO2 from their blood, which feels like suffocating.

Low oxygen makes CO2 more harmful, so the same reading is riskier in a warm, still tank than in one with a rippling surface.

Tips for running CO2 safely

  • Test a few hours after the CO2 comes on, when the level has built up. Test pH and KH from the same sample.
  • Plants only use CO2 in the light. Put the CO2 on a timer so it starts an hour or two before the lights and stops about an hour before they go off.
  • Keep the water surface moving. Ripples let oxygen in and let extra CO2 out.
  • Change the CO2 rate in small steps and wait a day before judging the result.
  • If fish gasp at the surface, breathe fast or crowd the filter outlet, turn the CO2 down and add an air stone straight away.
  • After a big water change with tap water of a different KH, retest both pH and KH before you adjust anything.

When the pH and KH method is wrong

The formula assumes all your KH is bicarbonate and nothing but CO2 is changing your pH. In many planted tanks that is not true, and the result reads too high:

  • Driftwood, peat, leaf litter and other tannin sources add acids. They lower pH without adding CO2.
  • Active aquasoils hold pH down and soak up KH, especially while the soil is new.
  • pH up and pH down products and phosphate buffers change pH or KH without CO2. A KH test counts any buffer, not just carbonate.
  • Test error. A pH reading that is 0.1 too low makes the result about 26% too high, and 0.2 too low makes it about 58% too high. Color test kits are hard to read closer than about 0.2. A calibrated pH meter is better. At very low KH (under 1 dKH) small errors swing the result even more.
  • The 3 is rounded. Textbook chemistry for 77°F (25°C) gives a factor of about 3.5, so true CO2 can be roughly 10–20% higher than this calculator shows, a bit more in cooler water. That is smaller than typical test error, so the simple rule is fine for everyday use.

Check it with a drop checker or a pH drop test

Drop checker. A small glass bulb holds a 4 dKH reference solution with bromothymol blue indicator, separated from tank water by an air gap. Only CO2 crosses the gap, so wood, soil and buffers in the tank cannot fool it. Bromothymol blue changes from yellow to blue between pH 6.0 and 7.6. Aquarists read blue as too little CO2, green as about right (roughly 30 ppm) and yellow as too much. It lags the tank by an hour or two, so check it late in the light period.

pH drop test. This also cancels out other acids and buffers, because KH and tannins are the same in both samples.

  1. Take a cup of tank water and leave it out for 24 hours, or bubble air through it for about 30 minutes, so it loses its extra CO2. Measure its pH.
  2. Measure the tank pH after the CO2 has run for a few hours.
  3. Subtract. Each 1.0 drop means 10 times as much CO2 as the degassed water. Many planted-tank keepers aim for a drop of about 1.0. Fish farmers use a similar aeration test and treat a pH rise of more than 1.0 as a warning sign.

pH drop check

1.0 pH drop

About 10 times the CO2 of degassed water. About the 1.0 drop many planted-tank keepers aim for.

Related calculators and guides

Shop for this

Product links go to Amazon search results. As an Amazon Associate we earn from qualifying purchases, at no extra cost to you. Disclosure.

Frequently asked questions

How do I calculate CO2 in my aquarium?

Test pH and KH from the same water sample, then use CO2 (ppm) = 3 × KH (dKH) × 10^(7 − pH). For example, KH 4 dKH and pH 6.6 gives 3 × 4 × 2.51 = about 30 ppm. If your KH test reads in ppm, divide by 17.848 to get dKH first.

What is a good CO2 level for a planted tank?

Most CO2-injected, high-light planted tanks aim for 20 to 30 ppm. Tanks without added CO2 usually sit under 10 ppm, which is fine for slow, low-light plants. Above about 40 ppm many fish struggle to breathe, so treat that as the danger zone.

Why does the pH and KH chart show very high CO2 when my fish look fine?

Something other than CO2 is probably lowering your pH or adding to your KH reading, such as driftwood, peat, active aquasoil, phosphate buffers or a pH product. The formula assumes CO2 is the only acid and carbonates are the only buffer. A drop checker or a pH drop test gives a more honest reading in those tanks.

What color should my drop checker be?

With the standard 4 dKH reference solution, aim for green, which aquarists read as roughly 30 ppm. Blue means CO2 is low and yellow means too much. A drop checker takes an hour or two to catch up with changes in the tank.

Is a 1.0 pH drop from CO2 too much?

A 1.0 drop from degassed tank water means 10 times as much CO2, and it is the drop many planted-tank keepers aim for. Go past it in small steps only, and turn the CO2 down if fish gasp at the surface or breathe fast.

Sources

  1. Hargreaves, J. and Brunson, M. (1996). Carbon dioxide in fish ponds. SRAC Publication No. 468, Southern Regional Aquaculture Center. How CO2 harms fish, why low oxygen makes it worse, estimating CO2 from pH and alkalinity, and the aeration pH test.
  2. Plummer, L. N. and Busenberg, E. (1982). The solubilities of calcite, aragonite and vaterite in CO2-H2O solutions between 0 and 90°C. Geochimica et Cosmochimica Acta 46: 1011–1040. First acid constant of carbonic acid and how it changes with temperature.
  3. Carbonate hardness (Wikipedia). 1 dKH = 17.848 mg/L as CaCO3, and the CO2 = 3 × KH × 10(7 − pH) relation when only CO2 affects pH.
  4. Carbonic acid (Wikipedia). pKa1 of 6.35 at 25°C.
  5. Bromothymol blue (Wikipedia). Color change from yellow to blue between pH 6.0 and 7.6.

Formula, chart and sources checked October 2026. See how we check our numbers.