CO2 Saturation Calculator
Estimate aquarium CO2 saturation from KH, pH, temperature, target ppm, livestock safety range, surface agitation, degassing, and photoperiod.
⚙CO2 saturation presets
💧Water test and target inputs
📊Current CO2 calculation summary
🧪CO2 status comparison grid
📘KH and pH reference table
| KH | pH 7.0 | pH 6.8 | pH 6.6 | pH 6.4 |
|---|---|---|---|---|
| 2 dKH | 6 ppm | 10 ppm | 15 ppm | 24 ppm |
| 3 dKH | 9 ppm | 14 ppm | 23 ppm | 36 ppm |
| 4 dKH | 12 ppm | 19 ppm | 30 ppm | 48 ppm |
| 5 dKH | 15 ppm | 24 ppm | 38 ppm | 60 ppm |
| 6 dKH | 18 ppm | 28 ppm | 45 ppm | 72 ppm |
🐟Livestock safety range table
| Profile | Preferred range | Caution ceiling | Calculator use |
|---|---|---|---|
| Shrimp / sensitive fish | 8-18 ppm | 22 ppm | Conservative planted tanks |
| Gentle community | 10-22 ppm | 26 ppm | Mixed community with moderate light |
| Typical community | 15-30 ppm | 35 ppm | Common high-tech planted target |
| Hardy planted fish | 18-34 ppm | 40 ppm | Robust fish with strong oxygenation |
| Experienced high-tech | 20-35 ppm | 42 ppm | Careful tuning with gas exchange |
| Fishless grow-out | 25-45 ppm | 60 ppm | Plants only, no livestock exposure |
🌊Surface agitation and degassing table
| Surface profile | Typical loss | Oxygen exchange | CO2 planning note |
|---|---|---|---|
| Very still surface | 2%/hr | Low | Retains CO2 but gives little oxygen margin |
| Gentle lily pipe ripple | 6%/hr | Moderate | Balanced default for planted aquariums |
| Moderate ripple | 10%/hr | Good | More stable oxygen, more CO2 demand |
| Strong surface movement | 16%/hr | High | Requires more injection to hold ppm |
| Spray bar across surface | 20%/hr | High | Fast off-gassing during CO2-on |
| Airstone during CO2-on | 28%/hr | Very high | Often fights CO2 injection directly |
| Overflow / sump weir | 34%/hr | Very high | Plan for heavy degassing and pH rebound |
📏Common tank scenarios table
| Scenario | Volume | Typical KH / pH | Target and photoperiod |
|---|---|---|---|
| Shrimp nano | 5 gal / 19 L | 3 dKH, pH 6.95 | 16 ppm, 6.5 hr |
| Low-tech assist | 10 gal / 38 L | 4 dKH, pH 7.05 | 12 ppm, 7 hr |
| Community planted | 20 gal / 76 L | 4 dKH, pH 6.75 | 25 ppm, 8 hr |
| Dutch / carpet tank | 20 gal / 76 L | 5 dKH, pH 6.55 | 32 ppm, 8.5 hr |
| 75g reactor | 75 gal / 284 L | 5 dKH, pH 6.70 | 28 ppm, 8 hr |
Remember how it goes. You’ve got that planted tank looking lush, so then you look at your fish hanging out near the surface of the water? No bueno. Everything seems to be right. The lights is on and the plants are growing, yet there is still something not quite right about it. It’s that moment when biology meets chemistry in a strange way. More often than not, this isn’t due to bad equipment or even malice; rather it’s a mismatch between your livestocks tolerance levels (i.e., being able to breathe) and the requirements of your plant (i.e., CO2) in order to photosynthesize effectivey.
Carbon dioxide can be a double agent inside your aquarium. Yes, it feeds the plants but it also displaces oxygen when allowed to run wild. Water chemistry isn’t static. It changes based off many factors such as agitation, temperature, and even the type of rock you selected for hardscape. Because the balance is so delicate, many hobbyist will simply look at a pH test strip and think they know what’s going on in the tank. They don’t. A pH reading alone mean nothing without context.
How to Balance CO2, Fish, and Plants
You also need to understand what carbonate hardness is. That’s because KH is actualy the buffer that stabilizes the system. If you fail to consider this relationship between these two variables, you’re essentially just guessing about whether your water is sour or safe. That’s where this page comes in. It takes all those variables and combines them into an estimate. What does that mean? It means you enter your pH (which you measure) along with your KH at some point during the period when you’re injecting CO2. Then it considers temperature and surface agitation.
Warmer water has less ability to hold dissolved gas then cool water, and active ripple strips remove CO2 from the column as quickly as it is injected. You know how a strong spray bar create a lot of water motion? That means you’re degassing constantly, you’re fighting yourself. The calculator adjust for this lost amount so you can determine whether you’re maintaining the desired level or blowing it away entirely.
One popular misconception is that more CO2 is better. True…to an extent. For most species there’s less benefit after about 30 parts per million and above the fish risk skyrockets. In fact the shrimp and dainty tetra begins suffering long before it becomes deadly. This is where the safety profiles for various animals comes into play with the tool. It makes you think “who am I keeping” before pursuing maximum plant growth. Want to go all out with your grow-out tank? Go for it. However, running that in a community tank will kill them in their sleep. That’s where the distinction matters. Never sacrifice plant health at the cost of animal welfare.
Another silent factor that’s as important as the others involves temperature. Gas solubility in water vary according to temperature. What was a perfectly safe read at 75 degrees can be deadly if your heaters run hot, or if your ambient air temperatures climbs several degrees during summertime. By adjusting for that temperature variance, you’re not using data from a different time of year and suddenly crashing because it warmed up or cooled down outside. It’s a little thing but it saves those terrible moments.
Another trip-up variable is surface agitation. Turning off all flow to save CO2 isn’t the best move either because it produces areas with no oxygen, dead zones, and buildups of waste products. You still need some flow to maintain fresher water but not so much as to strip out carbon dioxide you’ve just introduced into the tank. That’s the middle ground that takes some time to find and one of the charms of the hobby. You have to watch what happens, not set it and forget about it. How do your fish looks while breathing? Are there plants growing that end up covered in algae even though you have plenty of nutrients? Often those signs are more important than a numerical reading on a dial.
To conclude. Numbers don’t make decisions; people do. Numbers can guide us toward decisions, but ultimately, they serve as a baseline that we use to start our journey forward. Numbers are how we know where we sit on the spectrum of “good” to “bad”. Numbers help us calibrate by telling us whether the biological elements, fish and plants, is doing their thing, or not. Use the fish and plants as your calibrators. Follow their lead. What does it mean when you look in the tank and everything seems good? The fish are lively. The plants are growing well. It doesn’t matter what the math say. You’re dialed-in.
