Pool chemistry calculator
A free pool chemical calculator that gives you an amount, not a lecture. Enter your water test numbers and pool volume below and get the exact quantity of each chemical to add: chlorine, pH, alkalinity, stabilizer, calcium, and salt.
Chlorine (free chlorine)
Shock dose
pH
Total alkalinity
Cyanuric acid (CYA)
Calcium hardness
Salt
How much chemical should I add to my pool?
It depends on three things: how far your reading is from the target, your pool’s volume in gallons, and the strength of the product you’re using. Each calculator below does that math from first principles, so the amount is specific to your pool, not a generic “add a cup” rule of thumb.
Which chemical fixes which reading
Half of pool chemistry is knowing what to reach for. Free chlorine is raised with liquid chlorine, cal-hypo, or a tablet; pH is lowered with muriatic acid or dry acid and raised with soda ash or plain aeration; total alkalinity is raised with baking soda and lowered with acid; cyanuric acid is raised with stabilizer and can only be lowered by draining; calcium hardness is raised with calcium chloride and also only comes down by dilution; salt is raised with pool salt and lowered by dilution. Pick the calculator that matches your out-of-range reading and it will name the product and the amount.
Get your pool volume right first
Every dose scales directly with volume, so an accurate gallon count matters most. For a rectangle: length × width × average depth × 7.48. Round and oval pools use 5.9 and 6.7 instead of 7.48. If you’re unsure, measure carefully, because a 20% error in volume is a 20% error in every dose.
Add chemicals in the right order
Balance alkalinity first, then pH, then calcium, then stabilizer and salt, and chlorine last. Add one chemical at a time with the pump running, wait and circulate, and re-test before adding more. Never mix chemicals, and never add acid and chlorine together, concentrated, they produce toxic chlorine gas.
Why the same reading needs a different dose in every pool
Two pools reading pH 8.0 can need very different amounts of acid, because alkalinity is what resists the change. A pool at TA 70 moves easily; the same pool at TA 150 needs roughly twice the acid for the same drop. That is why the pH calculator asks for your alkalinity, and why dose charts that ignore it overshoot. The same logic applies to chlorine: your free-chlorine target is not fixed, it scales with your cyanuric acid.
Worked examples
Five complete calculations with real numbers, so you can check the method before you trust it with your pool. Every figure here comes from the same engine that powers the calculators above.
How much chlorine to raise a 15,000-gallon pool from 1 to 3 ppm
Given: Volume 15,000 gal · free chlorine 1.0 ppm · target 3.0 ppm · CYA 40
- The gap is 3.0 − 1.0 = 2.0 ppm of free chlorine.
- Pure chlorine needed: 0.00378541 g × 2.0 ppm × 15,000 gal = 113.6 g.
- Liquid chlorine at 12.5% carries 125 g per litre, so 113.6 ÷ 125 = 0.91 L.
Answer: 31 fl oz (about 3.8 cups) of 12.5% liquid chlorine
Prefer granular? The same 2 ppm takes 5 oz of 73% cal-hypo, but that also adds calcium hardness every time you use it.
How much muriatic acid to lower pH from 8.0 to 7.5
Given: Volume 15,000 gal · pH 8.0 · target pH 7.5 · total alkalinity 120 ppm
- Alkalinity is the buffer, so the dose is driven by TA, not by the pH gap alone.
- The carbonate model solves for the acid needed to move a 120 ppm buffer from pH 8.0 to 7.5.
- At 31.45% strength (10.0 equivalents per litre), that works out to 0.65 L.
Answer: 22 fl oz (about 2.8 cups) of 31.45% muriatic acid
Side effect: this also drops total alkalinity by about 6 ppm. If your TA was already low, aerate afterwards instead of adding more acid.
How much baking soda to raise alkalinity from 60 to 90 ppm
Given: Volume 15,000 gal · total alkalinity 60 ppm · target 90 ppm
- The gap is 30 ppm of total alkalinity.
- Sodium bicarbonate: 0.0063589 g × 30 ppm × 15,000 gal = 2,861 g.
Answer: 6 lb 5 oz of baking soda
Baking soda nudges pH up only slightly, which is exactly why it is the right tool when TA is the low reading rather than pH.
How much shock for a green pool at CYA 40
Given: Volume 15,000 gal · free chlorine 0 ppm · CYA 40 ppm
- Shock level is roughly 40% of your CYA: 0.40 × 40 = 16 ppm free chlorine.
- That is a 16 ppm gap, so: 0.00378541 g × 16 × 15,000 = 908 g of pure chlorine.
- Cal-hypo at 73%: 908 ÷ 0.73 = 1,244 g.
Answer: 2 lb 12 oz of 73% cal-hypo
Or 1.92 gallons of 12.5% liquid chlorine, which adds no calcium and is usually the better choice for a multi-day algae fight.
How much salt to go from 2,000 to 3,200 ppm
Given: Volume 15,000 gal · salt 2,000 ppm · generator target 3,200 ppm
- The gap is 1,200 ppm of salt.
- Pool salt is about 99% pure NaCl, so: (0.00378541 ÷ 0.99) × 1,200 × 15,000 = 68,824 g.
Answer: 151 lb 12 oz of pool salt, about four 40 lb bags
Broadcast it across the pool with the pump running, brush to dissolve, and wait 24 hours before trusting the cell’s salt reading.
Pool chemical dosage chart
The quick reference, scaled to 10,000 gallons. Multiply by your own volume: a 15,000-gallon pool needs 1.5× these amounts. The calculators above do that scaling for you and account for product strength.
| Goal | Chemical | Amount per 10,000 gal | Also does this |
|---|---|---|---|
| Raise free chlorine +1 ppm | Liquid chlorine 12.5% | 10 fl oz | Adds nothing but chlorine and a trace of salt |
| Raise free chlorine +1 ppm | Household bleach 8.25% | 14 fl oz | Weaker per bottle; same chemistry |
| Raise free chlorine +1 ppm | Cal-hypo 73% | 1.8 oz | Adds calcium hardness |
| Raise free chlorine +1 ppm | Dichlor 56% | 2 oz | Adds about 1 ppm CYA every time |
| Lower pH 7.8 → 7.6 (at TA 100) | Muriatic acid 31.45% | 5 fl oz | Lowers TA about 2 ppm |
| Lower pH 7.8 → 7.6 (at TA 100) | Dry acid (sodium bisulfate) | 7 oz | Lowers TA about 2 ppm; adds sulfates |
| Raise pH 7.2 → 7.4 (at TA 80) | Soda ash | 10 oz | Raises TA about 7 ppm |
| Raise total alkalinity +10 ppm | Baking soda | 1 lb 6 oz | Nudges pH up slightly |
| Lower total alkalinity 120 → 100 | Muriatic acid 31.45% | 51 fl oz | Lowers pH too, aerate to bring it back |
| Raise cyanuric acid +10 ppm | Stabilizer (CYA) | 13 oz | Dissolves over about a week |
| Raise calcium hardness +10 ppm | Calcium chloride 77% | 1 lb 4 oz | Pre-dissolve. It gets hot |
| Raise salt +1,000 ppm | Pool salt (99% NaCl) | 84 lb | Run the pump 24 h before reading the cell |
The math behind every number
No lookup tables and no rounded rules of thumb. Every dose here is derived from stoichiometry, and pH is solved against a real carbonate-equilibrium model. Here is the whole method, so you can check it.
Parts per million to grams
grams of active ingredient = 0.00378541 × ppm change × gallons
One US gallon is 3.785 litres, and 1 ppm is 1 mg per litre. So raising one gallon by 1 ppm takes 3.785 mg, or 0.00378541 g. This single constant drives chlorine, cyanuric acid, and salt.
Adjusting for product strength
product amount = grams of active ÷ strength
A litre of 12.5% liquid chlorine carries 125 g of available chlorine, so divide by 125. Cal-hypo at 73% is 0.73 g of active per gram of product, so divide by 0.73. This is why the same ppm target needs wildly different amounts of different products, and why the calculator asks which one you have.
Chemicals with their own constants
baking soda 0.0063589 · calcium chloride 77% 0.0055663 · salt 0.00378541 ÷ 0.99
Compounds that are not pure active ingredient get their own gram-per-ppm-per-gallon factor, derived from molar mass. Baking soda delivers alkalinity as calcium-carbonate equivalent; pool salt is about 99% sodium chloride, so the pure-NaCl figure is divided by 0.99.
pH and alkalinity: a real equilibrium model
Ka₁ = 10⁻⁶·³⁵ · Ka₂ = 10⁻¹⁰·³³ · Kw = 10⁻¹⁴
pH cannot be done with a constant, because water resists the change in proportion to its alkalinity. The calculator solves the carbonate system for total carbonate at your current pH, then finds the acid or soda ash needed to reach your target, which is why it asks for total alkalinity, and why it can tell you how much TA the dose will also move. Cyanuric acid contributes its own share of measured alkalinity, so it is subtracted first when you enter it.
Ideal ranges
| Level | Target | Notes |
|---|---|---|
| Free chlorine | 1-3 ppm (scale with CYA) | Higher CYA needs higher FC |
| pH | 7.2-7.8 (ideal 7.4-7.6) | Comfort + chlorine efficiency |
| Total alkalinity | 60-120 ppm | Lower end for salt pools |
| Cyanuric acid (CYA) | 30-50 ppm | 60-80 for saltwater |
| Calcium hardness | 200-400 ppm | Higher for plaster |
| Salt | 2,700-3,400 ppm | Check your generator’s manual |
Frequently asked questions
Is this pool chemical calculator free?
Yes, completely free, with no sign-up and no limit on how many times you use it. For saved history, reminders, trend insights, and the exact order to add things, the DoseMyPool iOS app is free too.
How much chlorine do I add to a 10,000 gallon pool?
To raise free chlorine by 1 ppm in 10,000 gallons takes about 10 fl oz of 12.5% liquid chlorine, or roughly 1.8 oz of 73% cal-hypo. Multiply by however many ppm you need, and remember your target scales with CYA, so it is not always “1–3 ppm”.
Does it work for saltwater pools?
Yes. Use the salt calculator for your generator’s target, and the others for chlorine, pH, alkalinity, CYA, and calcium exactly as you would on a chlorine pool. Salt pools typically run higher CYA (60–80 ppm), which raises the free-chlorine target with it.
Does it work in litres and kilograms?
Yes. Switch the units selector on any calculator to metric and enter your volume in litres; results come back in millilitres, grams, and kilograms.
What order should I add pool chemicals in?
Alkalinity first, then pH, then calcium hardness, then stabilizer and salt, and chlorine last. Add one at a time with the pump running and re-test before the next. Never mix products in a bucket, and never combine acid and chlorine.
How accurate is it?
The math is derived from first principles, stoichiometry, plus a carbonate-equilibrium model for pH and alkalinity, and matches the DoseMyPool app. The worked examples above are generated by that same engine. Results are estimates: your test kit, product age, and pool volume all carry error, so always follow product labels and re-test before dosing again.
Why does the calculator ask for my cyanuric acid?
Because CYA sets your chlorine target. Free chlorine should run at roughly 7.5% of your CYA reading, so a pool at CYA 80 needs about 6 ppm where a pool at CYA 30 needs about 2–3 ppm. CYA also contributes to a measured alkalinity reading, which matters when calculating acid.
Related calculators & guides
Get exact doses, saved and on schedule
DoseMyPool remembers your pool, gives the safe order to add things, and reminds you to test. Free on the App Store.
Coming soon to the App Store