The math: dilution with a non-zero source
Standard tank dilution assumes tap water is at zero. For nitrate that's often false — agricultural areas commonly hit 20-40 ppm tap nitrate. The general dilution formula:
change_fraction = (current − target) / (current − source)
Example: tank 80 ppm, target 40 ppm, source 0 ppm → fraction = 0.5, a 50% change. Same tank with source 30 ppm → fraction = (80−40) / (80−30) = 0.8, an 80% change. The same target costs you a much bigger change when source water is already partway up.
When source ≥ target, the formula breaks (division by zero or negative fraction) — that's the unreachable case. The calculator flags it and points you at RO/DI or nitrate-binding media.
Targets by tank context
- Community tank — 40 ppm. The long-standing hobby ceiling. Most community fish (tetras, rasboras, livebearers, common gouramis) tolerate this without visible chronic stress.
- Shrimp / invertebrates — 20 ppm. Neocaridina, caridina, mystery snails, nerites. Above 20 ppm you start seeing molt failures, reduced breeding, and shrimp clustering in higher-flow areas.
- Breeding / sensitive — 10 ppm. Discus, German blue ram, apistogramma, pleco breeding setups, wild-type bettas. Chronic nitrate exposure suppresses spawning behavior and tanks fry survival.
Phased vs single change
When the required single change exceeds 50%, the calculator phases it: 50% now, retest in 24 hours, repeat. The reasoning is the same as the ammonia-emergency case — a 70%+ single swap shifts pH, temperature, and trace minerals too hard. For nitrate the urgency is lower (it's a chronic stressor, not acute), so phased changes spread over 2-3 days are usually the right call.
What this calculator does NOT model
- Plant uptake.A heavily planted tank consumes nitrate continuously. The calculator gives you point-in-time change math; if your tank stays at target on its own between changes, you're net-positive on plant uptake and can extend change cadence.
- Substrate-bound nitrate.Old substrate in heavily stocked tanks holds nitrate that re-releases on substrate disturbance. A water change that includes a gravel vac will spike measured nitrate post-change — that's normal, not a calculation error.
- Nitrate-binding media performance. Seachem Purigen, Matrix, etc., reduce nitrate but at rates that depend on bioload and flow. Use them as a multiplier on cadence, not as a way to skip changes.
- Veterinary diagnosis. If fish are showing chronic symptoms (lost color, fin erosion, behavioral changes), nitrate may be one factor of several. Talk to an aquatic veterinarian.
FAQ
Why does the target change by tank context?
Different stocking has different tolerance. Most community fish handle nitrate up to ~40 ppm without obvious distress (the long-standing hobby ceiling). Shrimp and most invertebrates struggle past ~20 ppm — they show poor breeding success and increased molt failures. Breeding setups for sensitive species (discus, apistogramma, German rams, plecos) target ~10 ppm because chronic exposure to elevated nitrate suppresses spawning behavior and depresses fry survival. The calculator uses 40 / 20 / 10 ppm as the three context defaults; if your specific species needs something different, override via the slider.
Why does the math sometimes say 'unreachable'?
Water changes can only dilute the tank toward whatever's in your tap. If your tap nitrate is 30 ppm and you're targeting 20 ppm for shrimp, no number of changes will get you there — the math is hard-bounded by source water. The fix is either source-water treatment (reverse osmosis is the standard hobby option) or in-tank nitrate reduction (Seachem Purigen and similar nitrate-binding media, heavily planted refugium, or denitrator setups). The calculator flags this case explicitly so you don't burn time on changes that can't reach the target.
Why staged changes instead of one big change?
Same reasoning as the ammonia-emergency calculator. A 70%+ single change shifts pH, temperature, and trace mineral levels too aggressively — often more harmful to fish than the elevated nitrate they're recovering from. Above 50% the calculator stages it: 50% now, retest in 24 hours, repeat. The math gets you to target in 2-3 changes spread over a few days instead of one shock. The 50% threshold is conservative; experienced keepers with stable parameters sometimes go higher in a single shot, but for high-nitrate scenarios where stress is already present, staying conservative is the right call.
What's actually wrong with high nitrate? Fish look fine.
Acute nitrate toxicity is rare in freshwater — most fish tolerate 50-100 ppm without obvious symptoms. The damage is chronic: long-term exposure suppresses growth, weakens immune response, reduces breeding success, and (per multiple aquaculture studies) shortens lifespan. The visible symptoms (fin rot, lethargy, lost color) usually present after months of elevated nitrate, by which point organ damage is already done. Treat nitrate as a slow-acting stressor — it's why the standard hobby ceiling (40 ppm community, lower for sensitive setups) is conservative relative to acute LD50 numbers.
Can I just add more plants instead of doing water changes?
Yes — to a point. Heavy plant stocking, especially fast-growing stem plants and floating plants (water lettuce, frogbit, pothos roots into the tank), measurably consumes nitrate. A heavily planted tank with light bioload often holds nitrate near zero indefinitely. But plants alone don't replace water changes for trace mineral replenishment, and a planted tank without changes accumulates organic compounds that don't show on a nitrate test. Plants are a force multiplier on water-change cadence, not a substitute. Most planted-tank keepers still do a 25-30% weekly change.
I just got an RO system. Do I still test tap nitrate?
RO/DI water is essentially nitrate-free at the source — that's the entire point. But you remineralize before adding it to the tank (using something like Seachem Equilibrium or SaltyShrimp GH+), and the remineralizer doesn't add nitrate. So set source nitrate to 0 in the calculator if you're doing 100% RO changes. If you're cutting RO with tap water (a common cost-saving move), use the cut ratio: a 50/50 mix with 30 ppm tap nitrate gives 15 ppm source nitrate.
Related
- Water change calculator →
- Ammonia / nitrite emergency calculator →
- Stocking density calculator →
- How to cycle a new aquarium →
Targets sourced from established hobby practice and aquaculture chronic-toxicity literature (40 ppm community ceiling, lower for inverts and breeding). Source-water dilution math is standard aquarium chemistry. See methodology for the full sourcing tier list.