CO2 from KH and pH calculator, temperature-corrected

Published October 15, 2026Not yet reviewed by the editor7 sources

Short answer

CO2 (mg/L) ≈ 15.7 × KH (dKH) × 10^(pK1 − pH), where pK1 is the first dissociation constant of carbonic acid: 6.35 at 25 °C [1]. That works out to about 3.5 × KH × 10^(7 − pH), a little above the 3 × KH × 10^(7 − pH) shortcut used on most charts. Both assume carbonate is the only buffer in the water; anything else that buffers pH makes the result read high.

CO2 from KH and pH

Measure at the same time of day each time, after CO2 has been on for a while.

Estimated dissolved CO222mg/Lat 25 °C (77 °F), pK1 = 6.352
Chart shortcut 3 × KH × 10(7 − pH)19 mg/L
If your pH reading is 0.1 low28 mg/L
If your pH reading is 0.1 high18 mg/L

This estimate is within the approx. 15–25 mg/L that Tropica describes as a high CO2 need.

For this KH, a CO2 level ofneeds a pH of
10 mg/L7.15
20 mg/L6.85
30 mg/L6.67

Valid only when carbonate is the only significant buffer. Phosphate buffers, humic substances from wood or peat, aqua soils and pH-adjusting products make the estimate read high.

How the estimate works

Dissolved CO2 and bicarbonate are linked by the first dissociation of carbonic acid. In water where carbonate is the only significant buffer, the balance can be written as

[CO2] = [HCO3⁻] × 10^(pK1 − pH)

Carbonate hardness (KH) is a measure of alkalinity, the water’s acid-neutralizing capacity, which comes from bicarbonates, carbonates and hydroxides [2]. One German degree is defined as 10 mg/L of calcium oxide equivalent, or 17.848 mg/L as CaCO3 [3], which corresponds to 0.35665 mmol/L of bicarbonate alkalinity. Seachem’s product directions use the same relationship rounded: 1 meq/L is about 2.8 dKH [4]. Multiplying by the molar mass of CO2, 44.009 g/mol [5], gives

CO2 (mg/L) = 15.696 × KH (dKH) × 10^(pK1 − pH)

pK1 depends on temperature. The calculator uses the temperature function published by Plummer and Busenberg (1982) for the CO2–water system [1]; it gives pK1 = 6.382 at 20 °C, 6.352 at 25 °C and 6.337 at 28 °C. Warmer water therefore holds slightly less CO2 at the same KH and pH reading.

The chart shortcut

Most aquarium CO2 charts use CO2 ≈ 3 × KH × 10^(7 − pH). At 25 °C the equilibrium above works out to 3.53 × KH × 10^(7 − pH), so the chart figure is about 15 % lower than the temperature-corrected estimate. Neither is “the” right value: the chart’s factor of 3 corresponds to a pK1 of about 6.28, below the 6.33–6.38 this temperature function gives between 20 and 30 °C, and both treat the water as an ideal dilute solution. The calculator prints both so you can compare a reading with a chart you already use.

Reference table at 25 °C

CO2 in mg/L from the temperature-corrected formula (pK1 = 6.352):

KH (dKH) pH 6.4 pH 6.6 pH 6.8 pH 7.0 pH 7.2 pH 7.4
2 28 18 11 7 4 3
3 42 27 17 11 7 4
4 56 35 22 14 9 6
6 84 53 34 21 13 8
8 112 71 45 28 18 11

Each 0.2 pH step changes CO2 by a factor of 1.58, and each full pH unit by a factor of 10. That is why the calculator also shows the result for a pH reading 0.1 higher and lower: a 0.1 error in pH alone moves the estimate by +26 % or −21 %.

Where it breaks

The formula assumes that bicarbonate is the only thing holding the pH up. When something else buffers the water, the measured pH no longer reflects CO2 alone:

  • Other buffers. Phosphate buffers, humic and tannic acids from wood, peat and leaves, and many nutrient-rich aqua soils all shift pH without changing CO2.
  • pH products. Commercial pH-adjusting buffers do the same by design.
  • Measurement. Liquid pH tests are read by eye in steps of 0.2 or more; a calibrated meter is far better, but the 0.1 sensitivity above still applies.
  • Timing. CO2 rises after injection starts and falls when plants photosynthesize and the gas escapes at the surface, so a single reading describes one moment.

For water with other buffers, a drop checker isolates a sample of known KH from the tank water and avoids most of these problems; the drop checker guide shows the same arithmetic applied there.

Targets in grower data

Tropica rates plants by CO2 need and defines the ratings on every plant page: a medium need is 6–14 mg/L and a high need approximately 15–25 mg/L [6]. Its fertilizer guide gives slightly different bands, about 10–15 mg/L for plants marked “Medium” and 15–30 mg/L for “Advanced”, and recommends adding CO2 until the pH in its KH/pH table is reached [7]. The calculator’s lower table shows the pH that corresponds to 10, 20 and 30 mg/L at your KH and temperature.

Questions

Why does my chart give a lower number than this calculator?

Charts use the factor 3 in 3 × KH × 10^(7 − pH). With the 25 °C constant from Plummer and Busenberg (1982) the factor is about 3.5, so the calculator's main figure is roughly 18 % higher at the same KH and pH [1]. The calculator shows both.

My tank has aqua soil or driftwood. Can I use this?

Only with caution. Humic substances, phosphate and many aqua soils buffer pH by themselves, so pH no longer tracks CO2 alone and the estimate reads high. A drop checker with its own 4 dKH reference solution avoids that problem; see how a drop checker works.

How much CO2 do plants need?

Tropica describes a medium CO2 need as 6–14 mg/L and a high need as approximately 15–25 mg/L on its plant pages [6], and gives 10–15 mg/L for its Medium plants and 15–30 mg/L for Advanced plants in its fertilizer guide [7].

Other calculators

Background reading

Sources

  1. The solubilities of calcite, aragonite and vaterite in CO2-H2O solutions between 0 and 90 °C, and an evaluation of the aqueous model for the system CaCO3-CO2-H2O. Geochimica et Cosmochimica Acta 46: 1011–1040. Plummer, L.N. and Busenberg, E. (1982). Temperature function for the first dissociation constant of carbonic acid (K1) used by the calculator. Accessed October 12, 2026.
  2. Alkalinity and Water. U.S. Geological Survey, Water Science School. Alkalinity is the acid-neutralizing (buffering) capacity of water, set by bicarbonates, carbonates and hydroxides. Accessed October 12, 2026.
  3. Hardness of water: measurement units. Wikipedia. 1 German degree = 10 mg/L CaO = 17.848 mg/L as CaCO3. Accessed October 12, 2026.
  4. Alkaline Buffer. Seachem Laboratories. Conversion used in the product's directions: 1 meq/L of alkalinity is about 2.8 dKH. Accessed October 12, 2026.
  5. Carbon dioxide (CID 280). PubChem, National Library of Medicine. Molecular weight 44.009 g/mol. Accessed October 12, 2026.
  6. Cryptocoryne wendtii 'Green' (plant details, with the rating definitions). Tropica Aquarium Plants. Help text: a medium CO2 need is 6–14 mg/L; a high need approx. 15–25 mg/L. Accessed October 12, 2026.
  7. Fertiliser and CO2. Tropica Aquarium Plants. CO2 is added until the pH in Tropica's KH/pH table is reached; Medium plants about 10–15 mg/L, Advanced 15–30 mg/L. Accessed October 12, 2026.