A free 4-in-1 CO2 lab for planted tanks: a Dennerle-based bubble-rate starter, a pH/KH to CO2 ppm estimator with the classic color chart, a cylinder-duration estimator that tells you when your CO2 bottle runs out, and an interactive drop checker guide — plus liquid carbon dosing and a CO2 schedule planner.
Dennerle's official rule of thumb (CarboNIGHT / Mini-Flipper manuals): start with ~10 bubbles per minute per 100 L of aquarium water, then adjust for light and plant density. This is a starting point — the drop checker is the real measurement.
The classic relationship: CO2 (ppm) = 3 × KH (dKH) × 10(7 − pH). Measure pH and KH with test kits, then read your dissolved CO2. Less reliable if your water contains other acids (aquasoil, peat, pH-down products).
How long will your CO2 bottle last? Enter the fill weight, your bubble rate and daily runtime. Bubble size is the big unknown — compare all three so you get an honest range, not a false promise.
| Bubble size | mg / bubble | g / day | Days | Months |
|---|
A drop checker holds 4 °dKH reference solution plus bromothymol blue — not tank water. CO2 diffuses in and shifts the color. Tap the color you see:
| Pressurized CO₂ | DIY yeast CO₂ | Liquid carbon | |
|---|---|---|---|
| What it is | Refillable cylinder + regulator, solenoid, diffuser | Sugar + yeast fermenting in a bottle | Glutaraldehyde-based liquid (e.g. Seachem Excel) |
| Control | Precise: needle valve + timer, off at night | None — runs 24/7, output fades over 2–4 weeks | Daily manual dose |
| Best for | Tanks ≥ 60 L, high light, carpets | Nano tanks < 60 L, low light, tight budgets | Low-tech tanks, algae spot-treatment |
| Watch out | Upfront cost; end-of-tank dump without dual-stage regulator | Can't shut off at night — keep surface agitation; inconsistent | Not real CO₂. Overdose harms fish/shrimp; melts Vallisneria & Anacharis in some tanks |
Label reference (Seachem Excel): 5 mL per 40 L initially and after water changes, 5 mL per 200 L daily — this is the standard Excel dosing schedule. People often call it "liquid CO2", but it is a supplement, not a CO2 replacement.
Plants only use CO2 with light. Common practice: CO2 on ~2 hours before lights on (so levels are up when photosynthesis starts), off ~1 hour before lights off. Run it on a timer plug with a solenoid — never 24/7 on a pressurized system.
Start with Dennerle’s rule of thumb: about 10 bubbles per minute per 100 liters of water (so ~10 bubbles/min for a 100 L tank), adjusted down for low light or sparse plants. Then start at half of that and raise slowly over days while watching the drop checker — which lags 1–2 hours — and your fish. There is no universal “X bubbles for Y liters” prescription because bubble size, diffuser efficiency and surface agitation differ in every tank.
Dennerle’s manuals (CarboNIGHT, Mini-Flipper) publish the rule as roughly 10 bubbles per minute per 100 liters of aquarium water — i.e. bubbles/min = liters ÷ 10. This calculator uses that manufacturer-published rate, then adjusts for light intensity and plant density. Note: some websites label a (volume × 13) ÷ 100 variant as “bubbles per second”; that is 60× faster than Dennerle’s own per-minute guidance, so this tool does not use it.
Use the classic planted-tank relationship: CO2 (ppm) = 3 × KH (in °dKH) × 10^(7 − pH). For example, pH 6.8 with KH 4 °dKH gives about 19 ppm, and pH 6.6 with KH 4 gives about 30 ppm. Enter your test-kit readings in the pH/KH tab above — it also converts ppm CaCO3 and meq/L to °dKH and draws the full color-coded chart. The math is less reliable if your water contains other acids (aquasoil, peat, pH-down products).
15–30 ppm is the accepted target zone. Dennerle calls 20–25 mg/L ideal and advises against exceeding 30 mg/L when livestock is present. Below 15 ppm most demanding plants stall; above 30 ppm you are in the caution zone; above 40 ppm is dangerous for fish and shrimp. Aim for a light-to-lime green drop checker during the photoperiod.
With 4 °dKH reference solution and bromothymol blue: blue means too little CO2 (below ~20 ppm) — increase slowly; light green (~20–25 ppm) is good; lime green (~30 ppm) is the high-tech target — watch fish closely; yellow means too much (above ~30–40 ppm) — reduce CO2 immediately and add aeration. Tap each color in the Drop Checker tab for the full interpretation.
It depends on fill weight, bubble rate, daily hours and — the big unknown — bubble size. A 2 kg bottle at 2 bubbles/sec for 8 hours a day lasts roughly 10 months with small (~0.11 mg) bubbles but only about 5 months with large (~0.33 mg) bubbles. Use the Cylinder Duration tab: it shows the honest range across bubble sizes plus an estimated refill date.
A 5 lb (2.27 kg) tank at 1.5 bubbles/sec, 8 hours a day, lasts roughly 6–7 months with medium bubbles — try the presets in the Cylinder Duration tab for your exact rate. Heavier bubble rates, 24/7 use instead of a timer, or large counter bubbles shorten it noticeably.
At 2 bubbles/sec for 8 hours a day, a 2 kg fill lasts about 316 days with small bubbles (~0.11 mg, Tropica-style counters) and about half that with large bubbles. Community math from UKAPS lands in the same ballpark (~312 days with their rounding). The Cylinder Duration tab computes it for your setup.
DIY yeast CO2 (sugar + yeast in a bottle) is cheap and fine for nano tanks under ~60 L with low light, but you cannot control or shut it off — it runs 24/7 and fades over 2–4 weeks, so keep surface agitation at night. Pressurized CO2 costs more upfront but gives precise control with a needle valve and timer, which is what tanks over 60 L, high light, or carpeting plants need. See the comparison table in the setup guide above.
Label reference (Seachem Excel): 5 mL per 40 liters initially and after water changes, then 5 mL per 200 liters daily — so a 100 L tank gets 12.5 mL initially and 2.5 mL per day. The Liquid Carbon section above computes it for your tank. Remember it is a supplement, not real CO2: never exceed the label dose, and note it can melt Vallisneria and Anacharis in some tanks.
Common practice: CO2 on about 2 hours before lights on, off about 1 hour before lights off — plants only use CO2 with light, and the head start brings levels up in time. Run it on a timer plug with a solenoid valve, and never inject pressurized CO2 24/7. The schedule planner above converts your light times to timer settings.
Yes. Excess dissolved CO2 suffocates fish and shrimp — gasping at the surface, lethargy, then death. That is why every module on this page tells you to start at half the suggested rate, raise it over days, turn CO2 off at night, and trust fish behavior over any number. A yellow drop checker or gasping fish means: reduce CO2 now and aerate.
The checker lags 1–2 hours behind the tank — judge the color at least 2 hours after any change, not minutes. Also check: is it filled with 4 °dKH reference solution (not tank water) plus bromothymol blue, mounted ~10 cm deep away from the diffuser stream, and is the fluid fresh (replace at each water change)? Big same-day bubble increases are how livestock gets hurt — adjust in small steps, days apart.
The drop checker. A bubble counter measures gas flow, not dissolved CO2 — bubble size varies between counters, and diffuser efficiency, flow and surface agitation decide how much actually dissolves. The drop checker (or pH/KH math) measures what is in the water. Use the bubble rate as your repeatable dial and the checker as the truth.
No — they are companions. Tank volume, fish stocking, glass thickness, water changes and treatment dosing live in our aquarium calculator; CO2 was intentionally deferred from it and lives here. If you need your tank volume in liters first, calculate it there, then bring the number back.
Yes. This aquarium CO2 calculator runs 100% in your browser — your tank size, pH/KH readings and cylinder details never leave your device. There are no accounts, no uploads and no external requests.
Free tool by NRTechStudio
Explore similar math tools and calculators. 100% free, accurate, and runs completely in your browser without sign-up.
2 taps, no typing needed — diagnostics are sent automatically.