← All calculators06 / Core chemistry

pH, ALKALINITY AND CO₂

Why pH sits where it does. Usually the answer is the air in the room, not the alkalinity.

Alkalinity, dKH
Solve for
Room CO₂, ppm
Outdoor air is about 420 ppm. A closed house runs 800 to 1500. A small room with people in it goes past 2000.
Measured pH
CO₂ after scrubber or fresh air line, ppm
Expected pH8.5 dKH
8.00pH at equilibrium
Dissolved CO₂
1.133mg/L
Above about 0.7 mg/L the tank is holding more CO₂ than outdoor air would allow.
pH on outdoor air
8.28at 420 ppm
The ceiling this alkalinity can reach with perfect gas exchange.
With a scrubber at 150 ppm
8.63pH
+0.63 pH against where it sits now.
Alkalinity to reach pH 8.3
19.0dKH
At this CO₂ level. Raising alkalinity is a weak lever compared with ventilation.
Room CO₂pH at 8.5 dKHTypical situation
420 ppm8.28Outdoors, or a fresh air line
600 ppm8.15Well ventilated room
900 ppm8.00Normal closed house
1200 ppm7.89Closed room, winter
1800 ppm7.73Small room, people present

This pH is consistent with the alkalinity and the CO₂ level. pH swinging half a unit between night and day is normal, because photosynthesis pulls CO₂ out during the day and respiration puts it back at night.

MethodFormula and sources

Alk = K₁K₀·pCO₂/[H⁺] + 2K₁K₂K₀·pCO₂/[H⁺]² , with K₁ 1.024e-6, K₂ 7.351e-10, K₀ 0.0286 at 25 °C and 35 ppt

pH in a reef tank is set by two things together, the alkalinity and the amount of carbon dioxide dissolved in the water. Alkalinity alone does not fix pH, which is why dosing more buffer into a tank at pH 7.8 rarely helps.

The relation is the seawater carbonate system: Alk = K₁K₀·pCO₂/[H⁺] + 2K₁K₂K₀·pCO₂/[H⁺]². Solving the quadratic for [H⁺] gives the equilibrium pH. This page uses K₁ = 1.024×10⁻⁶, K₂ = 7.351×10⁻¹⁰ and Henry's constant K₀ = 0.0286 mol/L/atm, the seawater values at 25 °C and 35 ppt on the NBS scale.

The result explains the most common pH complaint in the hobby. At 8 dKH, a tank exchanging with outdoor air at 420 ppm settles near pH 8.28. The same tank in a closed house at 1200 ppm settles near 7.87. Nothing is wrong with the tank. The air is the problem.

Indoor CO₂ is higher than most people expect. A sealed house in winter runs 800 to 1500 ppm, and a small room with people in it goes past 2000. Tanks reliably run their lowest pH in winter for exactly this reason.

The fixes that work address gas exchange. Run an air line from a window to the skimmer intake, which costs nothing. Open a window. Fit a CO₂ scrubber on the skimmer, which is the reliable option when opening windows is not. Run the refugium light at night, so photosynthesis in the sump offsets the tank respiring.

Kalkwasser raises pH genuinely, because calcium hydroxide consumes CO₂ as it dissolves. That is a real chemical effect rather than a buffering trick, and it is why kalk is a standard answer to a low pH tank.

Some caution on the target. Corals grow well across 7.9 to 8.4, and stability matters more than the number. Chasing 8.3 by pushing alkalinity to 12 dKH does more harm than a steady 8.0 ever did.

A daily swing of 0.1 to 0.3 pH is normal and healthy. A tank with no swing at all usually has very little photosynthesis happening.

Sources: Holmes-Farley, Low pH causes and cures · Hamza's Reef, Equilibrium pH · Dieck, Reef Chemistry Calculator

PreviousSALINITY CONVERTERNextKALKWASSER