What RO removes, and what the jug cannot tell you
Reverse osmosis pushes water through a membrane that rejects most dissolved ions, which is why RO water is useful when you want to decide what goes into a tank. GH counts calcium and magnesium; KH counts the carbonate and bicarbonate that buffer pH. Aquarium Co-Op's guide to pH, GH, and KH keeps the three measurements apart, and they are worth keeping apart here too.
How much hardness survives the membrane is not a fixed number. It depends on the minerals in the feedwater, how well the membrane is rejecting them, and the condition of the prefilters and membrane. A unit fed hard municipal water can still leave a reading you can measure, and a tired membrane lets more through than a new one. Treat "RO water" as a description of the process, not a promise about the number.
A GH and KH test on the RO water gives you the hardness you are about to build from. It says nothing about whether the unit has removed other contaminants, and it is not a membrane test. Maintain the unit the way its maker specifies, and measure the hardness of the water you actually mix with.
Why untreated RO is not a complete replacement-water recipe
Freshwater fish and plants use the minerals that RO takes out. Calcium and magnesium from GH go into fish bone and muscle, shrimp molts, snail shells, and plant tissue, while carbonate from KH buffers the water so pH does not drift. Which of those a given tank needs, and how much, follows from the species and the setup rather than from one recipe that fits every aquarium. Some keepers deliberately run soft-water systems at very low KH; others need buffering. The target comes from your fish.
So the question before a water change is not how to remineralize RO water in some general sense, but which of the two routes below produces the replacement water the tank is set up for.
Route one: add a GH remineralizer, and KH only when the target calls for it
Seachem Equilibrium is one product built for this job. Seachem describes it as suited to RO, DI, or other mineral-deficient water and says it restores general hardness; the same page says KH is maintained with a separate buffer. It is a GH product, and it does not supply carbonate buffering.
That distinction decides whether a second product is needed. If the tank's target includes buffering the GH product cannot provide, add a separate carbonate buffer and dose it by its own label. If the setup is meant to run at very low KH, a GH-only remineralizer is not incomplete just because it leaves KH alone. Measure GH in the new water before dosing so the amount rests on a real number, mix it in, then measure again on the batch.
Seachem's label also says not to use Equilibrium when replacing evaporated water. That instruction points at a distinction worth understanding rather than following by rote, and the section further down covers it.

Route two: blend RO water with a measured share of tap water
A tap blend uses the minerals already in your tap water. The estimate holds under two stated assumptions: the RO portion contributes negligible GH and KH, and nothing in the mixture reacts. Under those conditions
mixed GH ≈ tap fraction × tap GH
and KH moves in the same proportion. Both hardness numbers have to be in the same unit, and both have to come from your own water. Your utility's current water report describes the source and the treatment, but the tap in your home is what you mix with.
If the RO water turns out to carry appreciable hardness, the same arithmetic still works with both measured portions: mixed GH ≈ (tap fraction × tap GH) + (RO fraction × RO GH). No extra formula is involved. What arithmetic cannot do is predict pH, which depends on the carbonate system and the starting water, so measure pH on the finished mix.
A worked example, with numbers chosen only to show the arithmetic. Take tap water at 10 dGH and a 50% tap share:
- GH: 0.5 × 10 dGH = 5 dGH
- KH: 0.5 × 4 dKH = 2 dKH, since the same tap reads 4 dKH
Those two figures are what that tap produces at that ratio, not targets to aim at. That is the part to plan around: a two-water blend moves GH and KH in whatever ratio your tap already has, so if the tank needs a different KH at that GH, changing the ratio will not separate the two. You would add a separate KH buffer or start from different source water.
A small table shows how the same tap water behaves at different fractions:
Tap share | Estimated GH | Estimated KH |
|---|---|---|
25% | 2.5 dGH | 1 dKH |
50% | 5 dGH | 2 dKH |
75% | 7.5 dGH | 3 dKH |
These are estimates from the formula, not measurements of your batch. To mix a 5-gallon replacement batch at the 50/50 ratio, measure 2.5 gallons of RO water and 2.5 gallons of tap water. Dechlorinate the tap portion as its conditioner label directs, mix in a container you can measure, and bring the batch to tank temperature before it goes in. Keep the size of the change within what the fish and plants tolerate; a large abrupt shift is its own problem.

Top-off and water changes are different jobs
Evaporation removes water and leaves the minerals behind, so top-off water only has to replace the volume that left. A water change removes water that still contains minerals, so the replacement batch has to carry them back.
That difference matters as soon as you remineralize. Remineralized top-off adds minerals the tank did not lose, and with a GH product GH accumulates over repeated top-offs. KH climbs only if what you add carries carbonate, and a GH-only remineralizer does not necessarily raise it. Whether top-off should be pure RO water or treated water depends on the tank and its target; if you use treated top-off, count the minerals it adds against the same target you test.
Verify the batch before it goes in the tank
The test after mixing is the step that turns an estimate into water you can use.

- Measure GH and KH on the tap water you plan to use, and on the RO water you are mixing from, so both portions carry real numbers.
- Pick the route and the starting amount: the label's dose for the GH you want, or the tap fraction the arithmetic suggests.
- Mix the batch in a measured container, dechlorinating the tap portion as its conditioner label directs.
- Measure GH and KH on the mixed batch, and measure pH rather than calculating it.
- Compare the result with the tank's current readings and with what the species in it need. Adjust the next batch from the measured result, and add a separate KH source only when the target calls for it.
- Bring the batch to tank temperature, make the change, and test the tank after the new water has circulated.
A batch that measured as intended is still only evidence about that batch. Write down the mix and the measured result, retest the tap water when the season or your utility's treatment changes, and check the ratio again after servicing the RO unit.


