Why this number
Dissolved CO₂ in freshwater is tied to the equilibrium between pH and carbonate hardness (KH). This calculator helps you see a target ppm band and relate it to tank volume so injection rate is not pure guesswork.
Typical planted targets: about 15 mg/L low plant mass, ~25 mg/L moderate, ~35 mg/L high-tech carpets — always watch livestock for stress.
How to use it
- Measure KH with a reliable kit (not a guess).
- Measure pH at the same time of day you care about (lights-on CO₂ peak).
- Enter tank volume so bubble-rate context scales correctly.
- Confirm with a drop checker — charts lie if KH reading is wrong.
Safety notes
- Never chase ppm while fish gasp at the surface — reduce injection and increase surface agitation.
- Unstable on/off CO₂ often feeds algae more than a slightly lower steady level.
- Read the full system guide: Planted tank CO₂ system.
Next steps
- Budget CO₂ kits: Beginner CO₂ under $200.
- Algae after starting CO₂: start at BBA troubleshoot or green spot guides.
FAQ
Can I skip the drop checker?
You can start without one, but a checker is the cheapest continuous sanity check for injection.
Is 30+ ppm always better?
No. More CO₂ without light/nutrient balance just stresses fish.
Does KH = alkalinity on every kit?
Most hobby KH kits measure carbonate hardness used by the chart — follow your kit’s dKH units carefully.
My pH crashes at night
Turn CO₂ off with a solenoid on a timer aligned to lights; keep some surface gas exchange.
Liquid carbon instead?
Different tool. Liquid carbon is not a ppm substitute for pressurized CO₂ on demanding carpets.
Field notes from our tanks
We treat calculator output as a starting hypothesis. After you change light, CO₂, or stocking, give the tank several days and retest before stacking another change. Most algae and melt episodes come from two changes at once, not from a single “wrong” number on day one.
Keep a small notebook (or phone note) with tank dimensions, KH, photoperiod, and the date you changed livestock. That record makes the next calculator run faster and keeps Budget Setup / Troubleshoot links honest for your exact system.





