0

Your Cart is Empty

How to measure CO2 levels in an aquarium

August 27, 2024 14 min read

How to measure CO2 levels in an aquarium

Introduction

Having optimum levels of carbon dioxide through carbon dioxide injection allows aquatic plants to grow at 7X to 10X the rate compared to non CO2 injected aquariums. In an aquarium without CO2 injection, the average CO2 levels will be 1-3 parts per million (ppm). For an aquarium injecting CO2, you would start seeing benefits even at lower levels of CO2 saturation - 10 to 15ppm will grow most common aquarium carpets and most easier plants, while pickier species and higher demand tanks see benefits hitting 30+ppm of CO2. However, lower saturation levels face higher fluctuations and some more difficult plant species have higher success rates when CO2 saturation is higher. The boost in growth and plant vigor will also make the plants more resistant to algae. With excess carbon availability, plants will be able to fully equip themselves with defensive chemicals necessary for deterring algae attachment to leaves.

35ppm of CO2 is our recommended target level for folks aspiring to grow more challenging species.

This level is also well tolerated by the majority of livestock as long as there is sufficient gaseous exchange over the water surface to off-gas excess CO2 buildup. To read more on why gaseous exchange is important in CO2 injected tanks head here.

The red Eriocaulon quinguangular and 'Blood vomit' are examples of species that prefer high CO2 levels. To grow them well long term and propagate them successfully require high CO2 saturation rates (35ppm+).

The difficult part about gauging CO2 levels in an aquarium is that the current methods that are available for hobbyists to test CO2 levels are either troublesome to implement or easy but inaccurate.

1. Accurate but expensive

The aquatic fish farming industry and laboratory hardware industry has instruments that can measure dissolved CO2 levels very accurately, however, they come at significant cost.

At 2hr Aquarist we use an OxyGuard CO2 analyzer to measure CO2 levels. It measures the free dissolved CO2 directly and is not affected by carbonates or other dissolved substances through the usage of a special membrane probe (accuracy of 1ppm). We use this device to calibrate the other methods described on this page.

This option is open for enthusiasts that are fans of fancier equipment, but costs more than the entirety of most high tech tank setups.

The OxyGuard CO2 analyzer gives highly accurate free dissolved CO2 readings. The probe measures the carbon dioxide content of the water directly by detecting the carbon dioxide partial pressure in the water - its readings are not dependent on pH measurement.

2. Easy but inaccurate: Drop-checkers 

 

The device called a "Drop checker" contains a solution calibrated to 4 dKH coupled with a dye that changes color depending on the pH of the solution. The device sits attached to the side wall of the aquarium, with air isolating the solution from the surrounding aquarium water. In an ideal scenario, CO2 will diffuse out of aquarium water, reaching equilibrium levels with the dye solution, changing its pH and changing the color of the dye. The drop checker solution starts blue, indicating a low level of CO2 dissolved in the tank water. As CO2 saturates the tank water and diffuses into the dye solution, it will gradually turn green, signifying an "optimal" level of CO2. If one injects even more CO2 into the tank, the drop checker will turn yellow, indicating that CO2 levels are "too high".

Many hobbyists like using drop checkers but they are not a reliable method of determining CO2 level, largely due to the problems of color interpretation.

Problems with color interpretation and range of error

4dKH solution with their theoretical values of CO2 saturation using method by ( Millero, 2002).

True 4 dKH solutions in drop checkers using bromothymol blue as the indicator turn green at 10.7ppm of CO2, this is quite far off from the advertised 30ppm that commercial sites claim. Each 0.1pH change downwards is roughly an additional 26% CO2 over the previous pH. There is a huge difference in CO2 levels depending on whether one hits the "green" color at pH 6.7 or the "green" at pH 7.0 with the former having double the CO2 levels of the later. While the drop checker solution turns green at 10+ppm, this low level of CO2 saturation is not optimal for most tanks. Using it to target higher levels, say 30 or 40ppm of CO2 is difficult due to the close color hues of yellow tones associated with those levels.

What is the exact color hue shown in the drop checkers on this tank? As CO2 diffuses into the drop checker, the top most layer of the drop checker liquid reacts first and it takes a long time for the whole drop checker solution to be uniformly colored. While color charts look easy to discern on the computer screen, in real life, determination of the exact color hue is difficult. 

Time lag: Drop checkers were added to this tank with a CO2 saturation level of 30ppm. It took 90+ minutes for the drop checkers to fully change to a stable (yellow) coloration. In the case where CO2 levels are excessively high, the livestock will probably show an indication before the drop checkers do. Drop checkers also react very slowly to dips in the CO2 levels during the window when CO2 is turned on. 

Many guides position the drop checker near the tank's surface, which is the worse possible position for a drop checker as it gives a false positive by capturing CO2 bubbles which would normally escape to the tank's surface water.

If used at all, drop checkers should be placed near the mid or substrate zone. They can give a rough indication that CO2 is present at some minimal level if the coloration hits at least green (indicating that there is at least 10+ppm of CO2). However, targeting a higher, precise number such as 30ppm is difficult. For many aquarists growing lower demand tanks, having some indicator may be better than none at all. It may be also useful as a relative indicator for folks with good color vision - if the tank is running well at a particular color tone, aquarists can use it as a daily visual check point to see if remains at the same color tone.

3. Testing for the change in pH as CO2 is injected

As gaseous CO2 is dissolved in water, a small portion of it turns into carbonic acid, lowering the acidity of the water (which will cause the pH level to drop). CO2 levels can thus be gauged by comparing the pH of the tank's water before injection starts and during CO2 injection, during which the pH will drop steadily as CO2 levels build up in the water till it reaches equilibrium - when your injection rate of CO2 equals to the rate of off gassing of CO2.

The pH-CO2 relationship is linear, but exponential, a 1.0 pH shift downwards means that CO2 levels have increased 10X from the start value. I.e. If your pH is 7.0 when at the start, and the pH drops to 6.0 with the only change being CO2 is added to the water, the water at pH 6.0 will have 10x the amount of CO2 compared to the start sample at pH 7.0. This relationship plays out regardless of the base KH. Using arithmetic,  0.1 pH shift downwards indicates roughly a 26% increase of CO2 from the previous reading. I.e. If your pH is 7.0 at the start, and the pH drops to 6.9 due to CO2 being added to the water, then the water at 6.9 pH will contain roughly 26% more CO2 than the water at 7.0 pH. 

What is the base level of CO2 in standing water?

The base level of CO2 in standing water is just 0.6ppm given the amount of CO2 in the atmosphere and Henry's law. However, most non CO2 injected planted fish tanks measure higher levels than that due to respiration (fish, plant, microbes) and other environmental variables - non CO2 injected tanks averagely measure around 2-3ppm of CO2. This level is used as the baseline level of CO2 in most CO2 pH drop tests. A 1pH drop from the baseline level will thus give levels of between 20-30ppm of CO2.

CO2-pH-KH chart

Enthusiasts with access to accurate measuring instruments constructed the CO2-pH/KH table as a guide but the table is often utilized wrongly by hobbyists.

pH KH chart

Problems with the pH/KH/CO2 table

The underlying assumption of the table is that the only factors affecting pH are CO2 and alkalinity. However, in reality, most tanks have a large variety of other substances affecting the pH besides the base KH. This include humic acids from buffering substrates such as aquasoil/peat or organic acids from organic matter. Additives such as liquid fertilizer also alters the pH. Therefore, in most planted tanks, the table does not give an accurate reading the majority of the time. The worse thing is that hobbyists have no way of knowing whether the table will work for their tank or not, because they have no way of accounting for the various factors that can influence pH in their tank.

Many hobbyists measure the KH and pH of their aquarium, match up the values on the table and conclude that the number value indicates the level of CO2 in their aquarium. This leads to some absurd conclusions, such as non CO2 injected tanks having extremely elevated levels of CO2, or in the case of CO2 injected tanks, having 100+ ppm of CO2 due to having a low pH reading. All these false readings occur due to the tank's pH dropping naturally due to non CO2 factors. 

Thus, while the table is useful as a reference of how the pH/KH relationship works. In reality, no hobbyist will have enough accurate chemistry data on what is in their water column to utilize it in a meaningful way. In almost every scenario where the table is used, it is used as a source of confirmation bias in the incident scenario where hobbyist's readings happen to match up to the values on the table.

Using the pH drop method

The pH drop method has decent reliability when we tested it against the readings taken by the CO2 analyzer. Relative to the drop checker method or spurious hobbyists extrapolations using the CO2-pH-KH chart, it produces much more reliable results.

You need two values - the pH before CO2 injection and the pH value when CO2 has reached saturation point. To reach this point may take from 1 to more than 4 hours of CO2 injection depending on the injection rate and gaseous exchange mechanism of the individual tank.

One can also do the reverse, by comparing the pH reading in the tank when CO2 is saturated, then taking a sample and degassing it of CO2 by stirring/shaking the sample while exposed to air. This is the method we recommend folks use.

Complications with the pH drop method

The difficulty of applying the pH drop method is in obtaining a properly degassed sample of tank water. 

Many tanks do not off gas CO2 fully during the window where CO2 is turned off. This means that even after CO2 is turned off, tanks will generally still have an elevated level of CO2 (5-8ppm usually) for many hours, often to the next day. To obtain an off-gassed sample, we recommend taking a sample of tank water and stirring/shaking the mixture for a few of minutes.

Some folks try doing the 1pH drop method by simply comparing pH when CO2 is turned off for many hours to the pH when CO2 is turned on and left to saturate for a few hours. However, because most tanks retain quite a bit of CO2 in the water for extended hours, this can lead to very skewed readings. I.e. if the tank retains just 5ppm of CO2 (2ppm above the average baseline), getting a 1pH drop means getting the tank to hit 50ppm of CO2. Remember from the maths above that a 1pH drop requires 10X the amount of CO2 compared to the baseline reading. Folks running these days will find the method failing as no matter how much they inject in their tank, it cannot seem to hit the 1 pH drop point (as excess CO2 is off gassed) or that they find that their fish start gasping for air at the surface even though they haven't hit the full 1 pH drop.

Degassing a sample of CO2 and see the pH rise

Rather than waiting for the pH to drop due to CO2 injection we can also compared the rise in pH when we degas a sample of water. We use a magnetic stirrer in the laboratory to off gas a sample of tank water. The equivalent action that a hobbyist can do is by taking a sample of water from the tank, and stirring/shaking it for a few minutes while allowing the sample to air. Even with vigorous stirring/shaking, most degassed samples we measure still have a residual CO2 level of around 2-3ppm. This is the average result that hobbyists can base their calculations on.

A general good range to target is a 1 full point pH change. So for example, if your tank's pH is 5.5, after degassing it, we would expect the pH to rise 1 full point to 6.5. From a degassed value of 3ppm of CO2, this would give you about 30+ppm of CO2.

Aim for a 1 point pH drop difference between a degassed sample and CO2 injection at saturation point and you will be in a good zone.

For folks targeting a higher range of CO2 - 40ppm and above, a 1.2 to 1.4 pH drop can be targeted. While this method has some room for error, in practical tests against readings taken by the CO2 analyzer, a 1pH drop using the degassing method we describe above puts it very close to 30ppm of CO2 measured. 

A true degassed sample - left to stir for a long time (hours) in a well ventilated place, or perhaps by boiling the sample, will reach the true base level of dissolved CO2 according to atmospheric readings and Henry's law - of 0.6ppm of CO2. At this level, the pH will need to drop by 1.7 points to match a corresponding a rise of CO2 levels from 0.6ppm to 30ppm. Most tanks will not match theoretical calculations due to a variety of confounding variables. For CO2 aficionados, you can read more on the problems of measuring CO2 in papers such as Millero 2002

4. Gauging CO2 levels by using a CO2 test kit

Among the CO2 test kits we tested, the Hanna CO2 test kit HI3818 gives very accurate readings when compared to the Oxyguard CO2 analyzer (+-5ppm). The Hanna CO2 kit is only 40+ USD, which makes it very affordable for what it does. The main downside is that the kit requires titration and some minor math to execute.

At this point we are still testing it to see if other pH buffers in the water column affect its readings significantly.

5. Gauging CO2 levels by observing plant growth form

For planted tanks we should generally aim to inject as much CO2 as the most CO2 sensitive plant that we are currently growing requires. Plant growth form varies very widely for species that require high CO2 levels to grow well. Thus, observing plant growth form actually tells us the most accurate feedback whether our tank is getting enough CO2 or not. The obvious downside of this method is that interpreting plant growth form takes experience that newer aquarists will not be endowed with. Also for most folks, they will not be able to narrow down whether growth changes are due to CO2 or something else.

Nonetheless, being able to read some common plants is a useful skill.

A common plant that is a good test for CO2 levels is HC (dwarf baby tears). It is an undemanding plant as long as it has access to rich CO2 levels - which allows us to easily isolate changes in CO2 levels as the main cause of its growth speed & form. There are comparisons of HC grown under various CO2 levels on the plant page. Other picky plants that require good CO2 levels to grow are Blood vomit and the red Eriocaulon quinquangular. 


CO2 affects general health/growth speed and vigor in aquatic plants as it makes up about 50% of plant dry mass.

A lack of it manifests in many ways:

  • Thin stem, leaves, though adequate fertilization/light is given.
  • Bare lower stems, old leaves fading quickly only leaving healthy top leaves; this is often coupled with algae issues.
  • Vertical growth in carpeting plants, rather than horizontal creeping.
  • Exaggerated stem elongation combined with bare lower leaves; often a sign of both poor CO2 & poor O2 together.
  • New growth curled & stunted.
  • Progressively smaller & smaller new leaves- this is one of the strongest signs of CO2 deficiency.

HC Cuba

HC Cuba Comparison

HC is one of the best indicator plants for CO2 levels. At sub-optimal levels the plant grows spindly and vertical with small leaves. With good levels of CO2, it exhibits strong creeping form with good sized leaves. 

Rotala Rotundifolia

Rotala Rotundifolia

Pic on the left shows several signs of classic CO2 issues in Rotala rotundifolia.

Elongated internodes, uneven growth patterns and increasingly smaller leaves in new growth. Elongated internodes often hint at the combination of both poor CO2/O2, more is covered on this under the section gaseous exchange. Picture on the right shows the same species under better conditions.

Ludwigia sp. Red

Ludwigia Red

Note the thinning stem and progressively smaller leaf forms on the left picture of Ludwigia sp. Red. Overall leaf form is also smaller.

On the left pic, older growth looks distinctively redder, more fully formed. This hints that the current conditions that are problematic, while the plant grew better in the past.

Mosses / Riccardia

Riccardia

Most mosses can survive low CO2 levels and are suitable for non CO2 injected tanks. Here Riccardia/Mini-pelia shows fuller, more compact growth form in a high CO2 environment on the right. It also feels stiffer to the touch.

Read this section for detailed plant guides on HC, Monte Carlo, "AR" and more.

Off-gassing / Gaseous Exchange 

Off-gassing / gaseous exchange occurs whenever there is contact time between the water surface and air. It brings tank O2 & CO2 levels closer to atmospheric concentrations. In our planted tanks we need a certain amount of this. This seems counter-intuitive at first, but it makes tuning CO2 levels higher much easier. As your CO2 injection reaches saturation point - because the tank is an enclosed system, your injection rate will eventually equal to the rate of off gassing of CO2. If you want to inject at a higher rate - there needs to be sufficient off gassing mechanism to prevent a lethal build-up. To have a high, but non-lethal saturation rate of CO2 in the tank, ironically we need the combination of good off gassing mechanism and high CO2 injection rates.

To read in-depth about the physics of why this is so, head to this section.

To have good gaseous exchange isn't that difficult. Firstly, have a decent amount of surface agitation and clean water surface. (surface skimmers, sumps). Secondly, have a good turn over of the top layer of water with deeper layer in the tanks. (this usually means having your filter outflow or a pump near the surface of the water).

Water Flow

Apart from learning to tune CO2 levels well, distributing it evenly throughout the tank is the next biggest impact factor in a CO2 injected planted tank.

If using a standard CO2 diffuser, it should be placed in the down wash of flow on the opposite wall from the filter outlet. (red D below). CO2 mist should be carried downwards by the current all the way to hit the yellow X in the picture.

​If this is not achievable, it means that either the filter flow rate is too low for the tank size or that the CO2 diffuser is not producing fine enough mist (this is again, common for cheap/poorly made CO2 diffusers).

water flow in tank

In the tank above, the lily pipe performs two functions well - firstly it creates water exchange between the surface layer and deeper layers in the tank (off gassing mechanism). Secondly, it presses CO2 mist down against the plants where it can be utilized.

Conclusions

CO2 saturation rates are a significant factor in tank outcomes, particularly so for folks growing the more difficult species. For aquarist growing just easy plants where CO2 precision is not important, a drop checker may be useful as an indicator that some minimal level of CO2 saturation has been acheived.

For folks targeting a higher level of CO2 saturation, the 1 pH drop method or using a CO2 test kit are better methods than relying on drop checkers.

Which ever method is chosen, the best defense against overly excessive CO2 levels is good gaseous exchange; aquarists should aim for a clean water surface, and a flow pattern that exchanges surface layer water with water layers deeper in the tank. 

With regards to livestock tolerance to CO2 saturation levels, it varies from species to species. Many species that come from less well oxygenated water bodies have quite high tolerance for CO2 levels - the cardinal tetras I have have normal feeding and behaviors even at 70ppm of CO2 (see below). Other species that are well known to be CO2 sensitive are Discus, that do not like CO2 saturation rates above 40ppm. 

CO2 tuning should be done gradually, while watching livestock for adverse reactions. Having good gaseous exchange and good oxygen levels allow quite a bit of leeway in CO2 injection.

 

Read here about water parameters, pH and KH. 

Read here on more about off-gassing and pushing the limits of CO2 injection.