What one part per million actually weighs
Parts per million is a weight ratio, and that is the key to every pool chemical calculation. One ppm means one pound of substance in a million pounds of water. A US gallon of water weighs 8.345 lb, so 10,000 gallons weighs 83,450 lb, and one millionth of that is 0.08345 lb of available chlorine per ppm - about 1.34 ounces.
That figure is the whole calculation. Scale it by your pool volume, scale it by how many ppm you want to gain, and you have the pounds of chlorine that must go into the water. Everything after that is dividing by how concentrated your product is.
Chlorine products are rated by available chlorine, which is the amount of oxidising power they carry expressed as an equivalent weight of chlorine gas. Cal hypo at 73% carries 0.73 lb of available chlorine in every pound of granules. Trichlor at 90% carries 0.90. Liquid chlorine is quoted differently - by trade percent, which is available chlorine per unit of volume - so 12.5% trade liquid holds 12.5 g of available chlorine per 100 mL, which works out at 1.043 lb per US gallon.
The whole calculation depends on knowing the volume, and volume is where most dosing errors originate rather than in the chemistry. A pool assumed to be 20,000 gallons that is really 16,000 will be over-dosed by 25% on every chemical, every week. Work the volume out properly with the pool volume calculator once and write it on the equipment pad.
What each product leaves behind
No chlorine product delivers only chlorine. Each one carries a companion ion that stays in the water, and the companion is usually what decides which product suits your pool.
Liquid chlorine (sodium hypochlorite) leaves sodium chloride - salt - which is harmless at these levels and does not accumulate meaningfully. It is the cleanest product chemically and the most awkward physically: it is heavy, it degrades on the shelf, and it is strongly alkaline at a pH near 13, so it pushes pool pH up and needs acid to balance.
Cal hypo leaves calcium. Every 1 ppm of free chlorine delivered as cal hypo adds about 0.71 ppm of calcium hardness expressed as calcium carbonate, which follows directly from its formula: calcium is 40.08 of the 142.98 g/mol of Ca(OCl)₂, and pure cal hypo is 99.2% available chlorine. In soft-water areas that is a benefit; in hard water it is the reason cal hypo eventually has to be replaced by something else.
Dichlor and trichlor leave cyanuric acid, and this is the one that catches people out because it is invisible on a normal test strip. Cyanurate is the stabiliser that protects chlorine from ultraviolet light, but it also binds chlorine and reduces how much of it is available to kill anything at a given free chlorine reading. The amounts are fixed by the molecules: trichlor releases 129.07 g of cyanuric acid per 232.41 g of product against 91.5% available chlorine, which is 0.607 ppm CYA per ppm FC; dichlor dihydrate gives 129.07 per 255.98 against 55.4%, or 0.910 ppm CYA per ppm FC. Run a pool on trichlor tablets all season and the stabiliser climbs steadily, and the only way to bring it down is to dilute the water.
Both stabilised products are also acidic - trichlor strongly so - while both hypochlorites are alkaline. That is why a pool on tablets needs soda ash and a pool on liquid needs acid, and why switching products changes your whole balancing routine.
Worked example: raising 20,000 gallons from 1.0 to 3.0 ppm
A 20,000 gallon pool tests at 1.0 ppm free chlorine and you want 3.0 ppm. The product is pool-grade liquid chlorine at 12.5% trade strength.
- Rise wanted. 3.0 − 1.0 = 2.0 ppm.
- Available chlorine needed. 2.0 × 20,000 × 8.345 ÷ 1,000,000 = 0.3338 lb.
- Strength of the product. 12.5% trade means 125 g of available chlorine per litre; one US gallon is 3.7854 L, so a gallon holds 473.2 g = 1.0432 lb of available chlorine.
- Product to pour. 0.3338 ÷ 1.0432 = 0.320 gallons, which is 0.320 × 128 = 41.0 fluid ounces - just over a quart and a quarter.
Now the same job with 73% cal hypo. The available chlorine required is unchanged at 0.3338 lb, so the product needed is 0.3338 ÷ 0.73 = 0.4573 lb, which is 7.3 ounces by weight. It also adds 2.0 × 0.706 = 1.41 ppm of calcium hardness.
And with trichlor tablets at 90%: 0.3338 ÷ 0.90 = 0.3709 lb, or 5.9 ounces, carrying 2.0 × 0.607 = 1.21 ppm of cyanuric acid into the water. Do that twice a week through a 26 week season and you have added 63 ppm of stabiliser without ever buying a bag of it.
Choosing a target, and what breakpoint chlorination is for
For a residential pool with stabiliser in the water, 2 to 4 ppm free chlorine is the usual working band, and the CDC Model Aquatic Health Code sets a minimum of 1 ppm in pools without cyanuric acid and 2 ppm where cyanurate is present, with a maximum of 10 ppm while bathers are in the water. Hot tubs run higher because the heat consumes chlorine faster.
Where cyanuric acid is high, the free chlorine reading understates how much sanitising you are getting, because a large share of the chlorine is bound to the cyanurate at any moment. Pool operators handle this by holding free chlorine at a percentage of the cyanuric acid level rather than at a fixed number - a widely used working rule is around 7.5% of the CYA reading as the minimum, so a pool at 60 ppm CYA is held above roughly 4.5 ppm free chlorine. Treat that as an operating rule of thumb rather than a code requirement, and test the cyanuric acid level at least monthly if you dose with tablets.
Combined chlorine is chlorine that has already reacted with ammonia and nitrogen compounds from sweat, urine and skin. It sanitises poorly, it is what produces the eye-stinging chemical smell people mistakenly call a chlorine smell, and the Model Aquatic Health Code sets 0.4 ppm as the action level. It does not go away with a normal dose.
Breakpoint chlorination is the fix: adding enough free chlorine at once to oxidise the chloramines completely rather than adding to them. The conventional target is to raise free chlorine to ten times the combined chlorine reading, which is what the breakpoint output here calculates. A half dose is worse than none, because it converts monochloramine into dichloramine and nitrogen trichloride, which smell far worse. Close the pool, dose it in one go, run the pump, and retest before anyone swims.
Whatever the dose, add it with the pump running and give the water at least one full turnover before you test again - the pool turnover rate calculator tells you how long that takes. Testing five minutes after pouring measures the water beside the return, not the pool.
What the CYA and hardness outputs feed later
The cyanuric acid and calcium hardness figures are not just trivia about the product you chose - they are inputs to decisions you make weeks after the dose, on a different test kit reading entirely.
Calcium hardness is one of the four terms in the Langelier Saturation Index, the balance test that decides whether water is corrosive to plaster, grout and metal fittings or scale-forming on tile and heater elements. A pool run all season on cal hypo accumulates hardness at 0.706 ppm for every ppm of free chlorine delivered, and unlike chlorine itself, that calcium does not get consumed - it only leaves the water if some of the water leaves. There is no chemical correction for hardness that is too high; the LSI calculation is what tells you whether it is worth doing anything about, and a partial drain and refill is the only fix once it is.
Cyanuric acid feeds a narrower but stricter decision: whether the free chlorine reading on your test kit can be trusted at face value. The interpreting section above covers the 7.5%-of-CYA rule for setting a minimum free chlorine target - that target moves every time this calculator's CYA output tells you the stabiliser level has climbed. Track the cumulative CYA added across a season of tablet or dichlor dosing, compare it against a fresh test result, and use the gap between the two as your check on how much dilution a partial drain actually needs to achieve, rather than guessing at a volume to remove.
What each chlorine product carries besides chlorine
| Product | Available chlorine | CYA added per ppm FC | Hardness added per ppm FC | Product pH |
|---|---|---|---|---|
| Sodium hypochlorite, pool grade | 10 - 12.5% by volume | 0 | 0 | about 13, strongly alkaline |
| Household bleach | 6 - 8.25% by volume | 0 | 0 | about 13, strongly alkaline |
| Calcium hypochlorite | 65% or 73% by weight | 0 | 0.71 ppm | about 11.8, alkaline |
| Dichlor (sodium dichloroisocyanurate) | about 56% by weight | 0.91 ppm | 0 | about 6.5, near neutral |
| Trichlor (trichloroisocyanuric acid) | about 90% by weight | 0.61 ppm | 0 | about 2.9, strongly acidic |
| Lithium hypochlorite | about 35% by weight | 0 | 0 | alkaline |
Cyanuric acid and calcium hardness both accumulate and are removed only by draining and replacing water. Chlorine itself is consumed and leaves nothing behind, so the companion ion is the long-run constraint on any product.
Dosing mistakes worth avoiding
- Guessing the pool volume. Every dose is directly proportional to it, so a 25% volume error is a 25% chemical error on everything, every week, forever.
- Mixing products in a bucket. Cal hypo and trichlor react violently with one another and can ignite. Never combine products, never use the same scoop for both, and never store them adjacent.
- Adding cal hypo through the skimmer. It can meet trichlor residue in the pump or the chlorinator. Broadcast granular products over the deep end with the pump running, or pre-dissolve in a bucket of pool water and pour that in.
- Half-dosing a shock. Breakpoint chlorination is all or nothing. A partial dose produces dichloramine and nitrogen trichloride, which are more irritating than what you started with.
- Ignoring the stabiliser level. A pool run on tablets gains cyanuric acid every dose. Above roughly 100 ppm the chlorine you are measuring does progressively less work, and the only remedy is dilution.
- Testing too soon. Give the pool a full turnover after dosing before you retest, and take the sample elbow-deep away from the returns.
- Dosing in full sun. Unstabilised chlorine added at midday can lose a large fraction of itself to ultraviolet before it circulates. Dose at dusk where you can.
Handling and safety
Every product here is an oxidiser and several are corrosive. Wear eye protection and gloves; add chemical to water and never water to chemical; keep containers closed, dry and apart from one another; and never let acid meet a hypochlorite, which liberates chlorine gas immediately. Follow the label and the safety data sheet - they are the controlling instructions, not this page. Where a pool is public, commercial or serving more than one household, the operating requirements are set by your state or local health authority, and the CDC Model Aquatic Health Code is the model those rules are usually drawn from.
Key terms
- Free chlorine
- Chlorine still available to sanitise: hypochlorous acid and hypochlorite ion. The number a residential test kit reports as FC.
- Combined chlorine
- Chlorine already bound to nitrogen compounds as chloramines. Total chlorine minus free chlorine. Poor sanitiser, strong smell.
- Available chlorine
- The oxidising capacity of a product expressed as an equivalent weight of chlorine gas. 73% cal hypo carries 0.73 lb per pound.
- Trade percent
- How liquid chlorine strength is quoted: grams of available chlorine per 100 mL of product. 12.5% trade is 1.043 lb per US gallon.
- Breakpoint chlorination
- Adding enough free chlorine in one dose to oxidise chloramines completely, conventionally ten times the combined chlorine reading.
- Cyanuric acid
- Stabiliser that shields chlorine from sunlight. Added deliberately or carried in by dichlor and trichlor. It only leaves by dilution.
