Water change
How much water to swap to bring nitrate, TDS, or any dilutable parameter down to a target value.
The math
Replacing fraction f of your water with source water gives:
C_after = C_before * (1 - f) + C_source * f
Rearranged for f:
f = (C_before - C_target) / (C_before - C_source)
That's the whole calculator. Plug in current, target, and source values to find the swap fraction.
When the math lies
The dilution math assumes the parameter you're targeting can't be created inside the tank. For nitrate that's almost true, it's the end product of the cycle and only goes up between changes. For TDS, also close. For pH, false: pH is buffered by KH, and a 50% water change won't necessarily move pH halfway to your source water's pH. Use this for things that dilute linearly. Don't use it for pH or buffered chemistry.
Don't change too much at once
Anything past 50% in one go risks shocking fish via osmotic shift, temperature swing, or pH movement. Split it instead, but don't just divide the percentage by the number of changes: each change works on water that's already partly diluted, so three 25% changes only remove 58% in total. To hit a fraction f in n changes, each one has to be 1 - (1 - f)^(1/n). For 70% in three goes that's 33% each. The calculator prints the two-change and three-change figures whenever the single-change number gets big. The fish don't care that it's slower, but they do care if everything moves at once.
Related tools
- Stocking - Check if your stocking level needs more frequent changes.