Aquarium CO2 Calculator

Dissolved CO2 in your aquarium from pH and KH, with the drop checker colour to expect, whether the level is safe for fish, and a starting bubble rate.

CO2 Concentration

Aquarium CO2 Concentration can be calculated from the relationship between pH, KH (carbonate hardness), and dissolved CO2. This is essential for planted aquariums where CO2 supplementation promotes healthy plant growth.

The Formula: CO2 (mg/L) = 3 × KH (dKH) × 10^(7 - pH)

This formula is derived from the carbonate equilibrium chemistry of water. It relies on the fact that CO2 dissolved in water forms carbonic acid, which affects pH in a predictable way based on the buffering capacity (KH) of the water.

What is KH? KH (carbonate hardness) measures the concentration of carbonate and bicarbonate ions in water, expressed in dKH (degrees of carbonate hardness). 1 dKH = 17.86 mg/L of CaCO3. Typical freshwater aquariums have KH between 2 and 12 dKH.

What is pH? pH measures how acidic or alkaline the water is on a scale of 0 to 14. Most freshwater aquariums maintain pH between 6.0 and 8.0. Adding CO2 lowers pH because dissolved carbon dioxide forms carbonic acid.

Target CO2 Levels:

  • Below 10 mg/L: Too low for most aquatic plants. Growth will be slow.
  • 10 to 20 mg/L: Adequate for low-demand plants like Java Fern and Anubias.
  • 20 to 30 mg/L: Optimal range for most planted tanks. Good growth without stressing fish.
  • 30 to 35 mg/L: Upper limit. Some sensitive fish may show stress.
  • Above 35 mg/L: Dangerous. Fish may gasp at the surface, become lethargic, or suffocate.

Tank Volume: The calculator accepts tank volume in both gallons and liters. 1 US gallon equals 3.785 liters.

Volume does not appear anywhere in the concentration formula, and that trips people up. Concentration is milligrams per litre, so a 10-gallon tank and a 100-gallon tank at pH 6.8 and 4 dKH both sit at exactly the same 19.0 mg/L. What volume changes is the amount of gas dissolved in there, and therefore the injection rate needed to hold that concentration against surface loss. The calculator uses your volume for two things: the total dissolved CO2 in grams, and a starting bubble rate.

Bubble rate as a starting point: The usual rule of thumb is roughly 1 bubble per second per 10 to 20 gallons, adjusted from there by what the drop checker says the next morning. Take that as an opening bid, not a setting. Surface agitation, filter type, lighting period and plant mass all move it, and two identical tanks in different rooms will want different rates.

Change the rate by no more than about 20% at a time and wait a full day before changing again. CO2 takes hours to equilibrate, and chasing a drop checker in the same afternoon is how fish get gassed.

Practical Tips: Measure pH and KH at the same time of day for consistent readings. CO2 levels swing through the day: highest at lights-on after the overnight buildup, lowest before lights-off once the plants have been consuming it all day. Use a drop checker with bromothymol blue indicator solution as a visual CO2 monitor: green means approximately 30 mg/L, blue means too low, yellow means too high. The drop checker lags by an hour or two, which is a feature rather than a fault, because it reports the average rather than the moment.

Important Limitation: This formula assumes KH is the only buffer in the water. Products like pH buffers, tannins from driftwood, or phosphate-based buffers can give false readings. If you use such products, a drop checker is more reliable.


How we build and check this calculator

This calculator runs entirely in your browser, so the numbers you enter stay on your device. The math behind it is written by hand and tested against worked examples and standard references before the page goes live.

SuperGlobalCalculator is independently built and maintained. See how we build and verify our calculators.


Embed This Calculator

Copy the code below and paste it into your website or blog.
The calculator will work directly on your page.