The relationship of CO2, pH and dKH levels is called the “Bermuda Triangle” of aquarium chemistry with good reason. It is very complex and making simplistic assumptions about it can easily lead one astray and kill fish.
If one is a real nerd, like the author, read on, just be prepared to get very confused (and very bored!).
CO2/pH/dKH Charts
The following chart is can be used to determine the CO2 level in aquariums:
This table relates CO2 content to the pH and dKH levels in the water. This relationship is more complex than the table lets on but it is a good starting point. Note there is no row for zero dKH. When there is no dKH the relationship of pH and CO2 gets very murky and impossible to predict.
The dKH (also know as KH [dKH x 18], alkalinity and carbonate hardness) represents the pH buffering capacity of the water. Harder water will have a higher buffering capacity and vice versa.
If you measure pH/dKH when tank is at equilibrium when CO2 injection is off and before the lights have come on in the morning, CO2 levels in the tank will TYPICALLY (but not always) match equilibrium levels with atmosphere – which will be around 2-3 ppm.
Put more clearly, while atmospheric CO2 has a concentration upwards of 400 ppm, the average amount in an open container of pure water stabilizes at around 2-3 ppm, which is called “atmospheric equilibrium”. A tank without CO2 injection will not have elevated levels of CO2, UNLESS there is a lot of rotting organic matter in the aquarium OR UNLESS there are a decent number of fish. Rotting organic matter and fish both put carbon dioxide into the water.
Myth: A Low KH results in a larger pH swing when adding CO2.
Many people are under the mistaken impression that a low dKH results in large pH swings when adding CO2, while raising the dKH will result in smaller pH swings. This is not the case for any dKH over 1. The dKH will move the start and end pH values, but the pH swing will be the same for a given level of CO2. You can see this in the charts:
- Example 1: Assume a dKH of 15 degrees and a starting CO2 level of 4.5 ppm, you would have a pH of 8.0. If we then add CO2 to achieve 28 ppm the pH would drop to 7.2, a change of 0.8.
- Example 2: Assume a dKH of 1.5 degrees and a starting CO2 level of 4.5 ppm, you would have a pH of 7.0. If we then add CO2 to 28 ppm your pH would drop to 6.2, a change of 0.8.
This relationship will break down at extremely low dKH levels (below 1 degree), when there isn’t enough carbonate to completely buffer the acids present. In that case, the pH can drop quickly and dramatically. But if the dKH is 1 degree or higher, then the size of the pH swing when injecting CO2 will be determined only by the amount of CO2 dissolved in the water.
Myth: CO2 level can be adjusted simply by adding chemicals to alter the KH or pH.
This is a common misconception when using the CO2/pH/dKH table. It appears that by altering CO2 or dKH values, the other values should ALL move. But this is not true. Treat the pH value you see as a result. If you alter the dKH, then the pH will move. If you alter the CO2 level, then the pH will move. The pH will always react to changes in either of the other two parameters.
Example: The water has a dKH of 3 degrees and a pH of 7.6. If we look at the chart this indicates a CO2 level of 2.3 ppm. One might assume, per the chart, that raising the dKH to 10 degrees the CO2 level would rise to 7.5 ppm. Seems simple enough but it is not correct. If you raise the dKH the pH will rise along with it and the CO2 level will stay at 2.3 ppm.
You cannot alter the dKH levels other than by adding or removing carbonate. You cannot alter the CO2 levels other than by adding or removing CO2.
There is one case I’ve seen where the addition of CO2 resulted in an increase in dKH. This can happen when you have something in the tank that dissolves carbonate into the water. Seashells, crushed coral, and many gravels and rocks will do this. With the addition of CO2, the water turns more acidic, which will increase the dissolving of the minerals. It appears that increasing CO2 raises the dKH, which isn’t really the case. The dissolving minerals raise the KH, and the increase in dKH results in an increase in pH.
In a system using a pH probe and controller to regulate CO2 levels, this can have fatal consequences, since the pH controller will keep trying to lower the pH, but as more CO2 is dissolved, it lowers the pH, which raises the dKH, which raises the pH. So you now have more CO2, but the same pH. So the controller adds even MORE CO2. And it will keep going. So it’s important to know your dKH whenever using pH to judge CO2 levels, especially if you have a form of calcium carbonate in the aquarium.
The pH-KH-CO2 Relationship and Phosphates
CO2, dKH, and pH have a fixed relationship only if phosphates are not present in significant quantities. Phosphates “buffer” in the range of 5.0 to 7.0 pH. This “buffering” will throw off the CO2/pH/dKH relationship.
There are several sources for phosphates in an aquarium:
- There are some parts of the country that have high levels of phosphates in their water supply
- Fish food is typically 1% phosphates
- Plant fertilizers typically contain significant phosphates
- Commercial “pH Buffers” which buffer in the 5.0 to 7.0 range typically contain significant phosphates.
For aquariums which have sources of phosphate, determining CO2 levels will be difficult, as the phosphate will throw off the CO2/pH/dKH relationship, which means charts won’t work. Note that the commercially available CO2 test kits which test the water directly (expensive buggers!) will also be invalidated by the phosphates.
Tap Water Carbon Dioxide
In some case, water coming right from the tap can contain very high levels of CO2. This can result in tap water with a low pH. But, in just a few hours, that excess CO2 will dissipate from the water, leaving the normal 3-4 ppm, and the pH will rise. Sometimes, the water might come from the tap with extremely little CO2, which can result in tap water with a high pH. Again, after a few hours, the CO2 level will equalize, and the water will end up with 3-4 ppm CO2 and the pH will drop.
CO2 “Target” for a Planted Aquarium
Per the above chart a desirable CO2 level is 10-25 ppm (which is indicated in green on the chart). Levels below that don’t provide optimum CO2 concentrations for high plant growth. CO2 concentrations over 30 ppm can be harmful to the fish inhabitants of your tank.
I typically shoot for 15 to 20 ppm CO2. But many run their high tech tanks at 30 to 35 ppm. While small schools of tetras or rasboras will typically be fine at this CO2 level, a larger fish such as a discus would be in trouble.
Pulsing Carbon Dioxide
One interesting technique to add CO2 is to maintain a dKH of 2 to 3. Measure the pH first thing in the morning before the lights turn on in a planted tank. Let’s say one measures 7.4 pH. Add a solenoid to a high pressure CO2 system which is operated off a pH probe and a timer. Add the CO2 with a reactor that adds the CO2 very rapidly, in a span of less than half an hour. Set the solenoid to open when the lights come on and to turn off at a one point drop in pH. In this case 6.4 pH.
This adds a single pulse of CO2 to the tank. A single pulse is very safe. A pulse of CO2 to even a level of 40 typically doesn’t kill any fish. My problem is with the electronics. If the solenoid fails to shut off or the pH meter goes bad, one is simply screwed.
Further Information on CO2 Systems
Further information on carbon dioxide in the planted aquarium can be found at these links:
15.6 Carbon Dioxide in a Planted Aquarium
15.6.3. High Tech CO2 System
15.6.6. Measuring CO2
15.6.1 Low Tech CO2 Aquarium System
4.4.3. Carbon Dioxide and pH
.
Return to Planted Aquarium Men
.
Aquarium Science Website
The chapters shown below or on the right side in maroon lead to close to 400 articles on all aspects of keeping a freshwater aquarium. These articles have NO links to profit making sites and are thus unbiased in their recommendations, unlike all the for-profit sites you will find with Google. Bookmark and browse!
.
Dave says
In reply to Daniel …… Don’t go there. Do not try to measure CO2. It is just too complex to have any meaning. I’m a chemist and I won’t tackle it.
Daniel says
Hi Dave
I came back to this page looking for your table to calculate my CO2 level. I have a newly started low tech 75g tank with supposedly easy plants (dwarf sag, java fern, vall, swords, crypts). The crypts look good, and the java fern is putting out little plantlets (not sure whether that’s a sign of health or stress), but the rest are static, not growing super well and infested with staghorn (mostly on the dying leaves, as you would expect). Lights are moderate with little blue/red in the spectrum, only ferts in the substrate, flow and filtration is high. So I thought maybe I should start injecting CO2, I have a spare space on the manifold, although I hadn’t anticipated these plants needing it. Then I checked the table to work out where I was already …
But my pH is 6.0 and my kH is undetectable (as in the API kit is yellow after the first drop). I suspect my substrate (fluval stratum plant and shrimp) is partially responsible for my low pH. It did something similar in my first planted tank. So what to do? My tap water has pH 7.4 with kH 8 but I’m not sure that water changes will be enough. Should add some bicarb too? How much? I feel like I should at least to get into the kH 1-3 range, so that avoid wild pH swings, and keep my biofilter going, while the soil calms down a bit. Hoping not to be needing to do this once everything finds its own equilibrium
Dave says
In reply to Sarah … You do not need to do anything with your water. Yes it is hard but it will not kill fish. I suspect something else is going on with the tank. If the fish all started doing poorly and two dying all happened within days I would suspect either a chlorine pulse or a bacterial infection. If it happened over a span of weeks you may never know what it is. If it continues a “shotgun” approach with multiple medications in the food is called for.
Sarah T says
Thanks for the details! Absolutely love the information you have provided and sincerely appreciate all the effort that has gone in. You are unfortunately completely correct that when searching on Google 99.9% of the answers result in links to items being sold and answers “support” those items even if widely differing and lacking facts! Again, thank you for your efforts!
I have an established, 20 gallon, planted tank with just Plecos, Tetras, and Rasboras. Nothing fancy. I stopped checking parameters years ago. (Supports your methods!!) Unfortunately, I recently had a few “poorly doing” fish and two died. I got my test kits out and my tap water appears to have become very hard with KH reading 80-100. Of course, this means the pH is flirting with dangerous let alone hard for these guys to thrive. I’ve gotten pH 8.2 -8.5. And I assume it is creeping up even higher at times.
I read your section that even if I change out 50% of the tank with distilled or rain water I’m still barely going to change my pH because of the carbonates. How can I get the KH down with fish in the tank? (I don’t have another tank). If I just keep doing 50 % water changes once a week, will the carbonates eventually decrease? Is there no other way to filter some of this hardness out of my tap water, just the fancy RO set ups (not willing to commit to this for my little tank!)? No filter type I can actually install on house my water filter? And those water softener pillow things they sell at the pet store…not helpful? Something about salt binding the carbonates? (I’m sure this was in your article but I started getting dizzy 🙂 It also seems like everyone else has trouble with acidic water and most suggestions are geared toward that.
Thank you! Thank you!