Guide
CO2 systems in fish tanks: what you need to know
CO2 injection can transform a planted tank - but it adds complexity and risk. Here's when you need it, how it works, and how to keep fish safe.
- CO2 is not mandatory: java fern, anubias, hornwort, and most stem plants grow fine without it. Low-tech tanks are a legitimate long-term choice, not a stepping stone.
- You need it for: carpeting plants (Hemianthus callitrichoides, Eleocharis spp.), high-demand reds, and any tank running high light where algae will otherwise win.
- Pressurized beats DIY: a cylinder and regulator with a solenoid gives you consistent, controllable CO2. Yeast/sugar rigs are cheap but unreliable and carry real fish-safety risks.
- Target 20-30 mg/L dissolved CO2 during the photoperiod. Use a drop checker as a running visual guide; crosscheck with pH if you want numbers.
- Run CO2 only when lights are on. At night, plants produce no photosynthesis and CO2 accumulates - fish suffocate.
- Fish gasping at the surface means turn it off now. Reduce the rate, increase surface agitation, and work back up slowly.
Do you actually need CO2?
Most aquarium content pushes CO2 injection as an inevitable upgrade. It isn't. The honest answer depends entirely on what you're growing and how much light you're running.
Low-light plants - Microsorum pteropus (java fern), Anubias barteri, Ceratophyllum demersum (hornwort), Vallisneria spp., most Cryptocoryne - will grow steadily in a low-tech tank with no CO2 injection at all. They're slower, but they're healthy. Plenty of experienced aquarists run beautiful low-tech tanks for years without touching a gas cylinder.
CO2 injection becomes genuinely necessary when you do two things: push the light above roughly 50 PAR at the substrate, and try to grow species with high carbon demand. That includes foreground carpets like Hemianthus callitrichoides 'Cuba' or Glossostigma elatinoides, most red stem plants that need strong photosynthesis to produce pigment, and fast-growing layouts where you want visibly lush growth within weeks rather than months.
Here's the dynamic most beginners miss: high light without CO2 doesn't give you fast-growing plants. It gives you algae. CO2 injection lets your plants outcompete algae for nutrients. Run strong light without enough CO2 and you'll lose that race quickly.
If you're new to planted tanks, start low-tech. A low-light setup with easy plants is genuinely rewarding and far simpler to maintain. Jump straight to CO2 injection and high light and you're managing three variables simultaneously - light, carbon, and nutrients - before you understand any of them.
How CO2 injection actually works
Plants fix carbon dioxide during photosynthesis. In a sealed aquarium, the water's natural CO2 supply - from fish respiration and bacterial activity - is almost always lower than what high-demand plants want. Injection supplements that supply directly into the water column.
CO2 is dissolved into the water either by a diffuser (a ceramic or glass disc that produces fine bubbles which dissolve as they rise) or a reactor (a pressurised chamber where water is forced through a CO2-filled space, giving near-100% dissolution efficiency). Reactors waste less gas and work better on larger tanks. Diffusers are simpler and fine for tanks under 200 litres.
The dissolved CO2 level you're targeting is 20-30 mg/L during the photoperiod. Below 10 mg/L and high-demand plants start to struggle. Above 40 mg/L and you're putting fish at risk. The challenge is that you can't test dissolved CO2 directly with a standard kit - you infer it.
Monitoring dissolved CO2
The two practical methods are a drop checker and pH-based calculation.
A drop checker is a small glass vessel that hangs inside the tank, filled with a 4 dKH reference solution and pH-sensitive indicator fluid. Green means you're in the right zone (roughly 20-30 mg/L). Blue means too little CO2. Yellow means too much. It lags by about an hour, so it's a trend indicator, not a real-time alarm.
The pH method uses the relationship between pH, KH, and dissolved CO2. If you know your tank's KH in degrees (1 dKH = 17.9 mg/L CaCO3), you can use a CO2 chart to read approximate dissolved CO2 from your pH. The problem: this only works in tanks without pH buffers or organic acids muddying the water. Driftwood, peat, and leaf litter all affect pH independently of CO2, making the calculation unreliable. Use a drop checker instead.
Position your drop checker in the middle of the tank, not near the diffuser outlet. You want it reading the average CO2 in the water column, not the concentrated area right next to the diffuser.
Pressurized CO2 systems
A pressurized system has four core components: a CO2 cylinder, a regulator, a solenoid valve, and a diffuser or reactor. The cylinder holds compressed CO2 (most hobbyists use 500g-2kg cylinders). The regulator steps the pressure down to a manageable working pressure, typically 1-2 bar. The solenoid is an electrically operated valve that opens and closes on a timer - this is what lets you link CO2 to your lighting schedule automatically. The diffuser puts CO2 into the water.
Better regulators include a bubble counter - a water-filled chamber that lets you count individual bubbles per second and set a consistent rate. A starting point for a 100-litre tank is roughly 1-2 bubbles per second, but your actual target is what your drop checker tells you, not a fixed number. Tank volume, plant mass, surface agitation, and water temperature all affect how much CO2 the water holds and how fast plants consume it.
Pressurized systems have one notorious quirk: the end-of-cylinder dump. As the cylinder empties, pressure regulation becomes erratic and some rigs dump CO2 at high rate in the final hours. Check your cylinder pressure regularly. When the working pressure on the regulator starts dropping unexpectedly, the cylinder is nearly empty - swap it before it kills your fish.
Regulator quality matters most - cheap no-name regulators can fail and cause CO2 dumps. Spend more here than on the diffuser.
DIY CO2: cheap but risky
Yeast-and-sugar DIY rigs work by fermenting a sugar solution in a bottle to generate CO2. Cost is nearly zero. The problems are real though.
Output is inconsistent. It spikes when the yeast is active and drops as the batch ages. You can't dial it in the way you can a pressurized regulator. For a fish-free shrimp tank or a low-risk experiment, that's manageable. For a community tank with fish, you're gambling on the yeast behaving.
You also can't put a DIY rig on a solenoid timer - the fermentation continues whether the lights are on or not. That means CO2 enters the water 24 hours a day, including overnight when fish are most vulnerable. If you do use DIY CO2, strong surface agitation is non-negotiable to help excess CO2 off-gas at night.
Running DIY CO2 into a heavily stocked tank overnight with minimal surface movement. This is how people wake up to dead fish. If you're keeping more than a handful of small fish, use pressurized with a solenoid, or don't use CO2 at all.
Liquid carbon supplements
Products like glutaraldehyde-based liquid carbon (sold under various brand names) are often marketed alongside CO2 systems. They're not CO2. They work primarily as algaecides rather than true carbon sources for photosynthesis, and they're toxic to mosses, liverworts, and vallisneria at higher doses.
They have a place - small doses help control algae in low-tech tanks and can complement a pressurized system. But they don't substitute for CO2 injection if you're growing high-demand plants. Don't be misled by the name.
Fish safety: what you must get right
CO2 toxicity in fish is a real and underestimated risk. Dissolved CO2 competes with oxygen at the gill surface, reducing the fish's ability to extract O2 from the water even when O2 levels appear adequate. The symptoms are gasping at the surface, erratic swimming, and in severe cases, rapid death.
Run CO2 on a timer with your lights
CO2 injection should start 30-60 minutes before lights on (to build up a good concentration before photosynthesis kicks in) and stop when lights go off. During darkness, plants switch from photosynthesis to respiration - they consume oxygen and release CO2, just like your fish. Injecting more CO2 overnight compounds that problem fast.
A solenoid valve plugged into the same timer as your lights handles this automatically. If you're building a pressurized system, the solenoid isn't optional - it's fundamental.
Surface agitation
There's a real tension here. CO2 dissolves more efficiently in still water, but still water also accumulates CO2 and depletes oxygen overnight. The practical balance: enough surface movement to ensure adequate gas exchange, but not a full surface chop that strips all your CO2 during the day.
A gentle ripple is right. Point your filter outlet just below the surface at a slight angle. If your fish are gasping at lights-on in the morning, you have insufficient surface movement overnight.
If fish are gasping at the surface during the photoperiod with CO2 running, turn the CO2 off immediately and increase surface agitation. Wait until fish behaviour normalises, then reintroduce CO2 at a lower bubble rate. Don't just turn it down slightly and hope - a fish showing CO2 stress is already in serious trouble.
How CO2 interacts with the rest of your water chemistry
CO2 dissolves in water to form carbonic acid, which lowers pH. In a well-buffered tank (KH above 4 dKH), this pH swing is minor. In a low-KH tank, you can see pH drop by a full point or more when CO2 kicks in at lights-on. That kind of swing stresses fish even if the absolute CO2 level isn't dangerous. Check your KH if you're seeing unexplained fish stress in a CO2-injected tank.
For a broader overview of how pH, KH, and other parameters interact, see our guide to aquarium water parameters.
Setting up and dialling in your CO2
Start low and work up over days, not hours. Begin at 1 bubble per second regardless of tank size. Check your drop checker after 24 hours. If it's reading blue (too little), increase slightly. Give it another 24 hours. Keep nudging up until the checker reads green and your fish show no stress.
This process takes a week or more. Skipping it by setting a high rate from day one is how you gas fish.
Once dialled in, keep a log of your settings. If you change anything - plant mass, lighting duration, temperature, stocking - CO2 demand changes too. App-aquatic's parameter log is useful here; a consistent record of pH and KH readings over time makes it easy to spot when something has shifted.
Make sure your tank is fully cycled before adding CO2 injection. A cycling tank has unstable chemistry; adding CO2-driven pH swings on top of that makes an already difficult period worse.
Do your CO2 dialling-in before stocking heavily. It's much easier to find the right bubble rate in a tank with a few hardy fish than in one packed with sensitive species.
What most guides miss
Temperature affects CO2 solubility significantly. Warmer water holds less dissolved CO2. A tank running at 28°C (82°F) for discus or altum angelfish will need a higher bubble rate to hit the same dissolved concentration as a cooler tank at 22°C (72°F). If you move from a cool-water to a warm-water setup, don't just copy your old settings.
Plant mass changes over time. A newly planted tank with sparse growth needs far less CO2 than the same tank six months later with a dense canopy. As your plants grow in, you'll need to increase the injection rate to match their consumption. A drop checker makes this obvious - if it's running blue after months of running green, your plants have grown into the CO2 supply.
High-tech doesn't automatically mean better fish health. A densely planted, well-managed low-tech tank often has more stable parameters than a poorly managed high-tech one. CO2 injection is a tool that rewards attention. If you can't check the tank daily when starting out, low-tech is genuinely the safer choice for your fish. See our guide to beginner fish for species that suit stable, low-maintenance setups.
Track your parameters and get care reminders with App-aquatic.
Get the free appCan I run CO2 injection in a fish-only tank with no plants?
There's no reason to. CO2 injection exists to support plant photosynthesis. Without plants consuming it, you'd just be acidifying the water and stressing your fish for no benefit.
How long does a CO2 cylinder last?
It depends on tank size, bubble rate, and whether you're using a solenoid. A 500g cylinder running at 2 bubbles per second with an 8-hour photoperiod typically lasts 6-10 weeks on a tank under 150 litres. Larger tanks or higher rates burn through cylinders faster. Track your cylinder weight periodically so you're not caught off guard.
My drop checker is always blue no matter how high I turn the CO2. What's wrong?
More guides · CO2 additive · Beginner plants · Fertilizer · App features
