Here's a scenario that confuses people, and it's the reason LSI exists.
Two pools. Identical test results. Free chlorine 4, pH 7.4, alkalinity 90, calcium 250. One is in Phoenix in August at 88°F. One is in Denver in November at 55°F.
The Phoenix pool is fine. The Denver pool is slowly eating its own plaster.
Key takeaways
- Every number can be in range and the water still be aggressive. Temperature is the reason.
- Between -0.3 and +0.3 is balanced. Below that it dissolves surfaces, above it scales them.
- Cold water is naturally more aggressive, which is why winter chemistry matters more than people think.
- You have five levers and pH is by far the fastest to move.
- You don't need to calculate it weekly. You need to know it exists and check it at the extremes.
What it actually measures
LSI tells you whether your water is saturated with calcium carbonate.
Water that's under-saturated is hungry. It wants calcium carbonate and it'll go and get some from whatever's available — your plaster, your grout, the mortar behind your tile, eventually your heat exchanger.
Water that's over-saturated is holding more than it can. It drops the excess onto surfaces. That's scale: the crusty band at your tile line, the coating inside your heater, the buildup on a salt cell that stops it producing.
Water that's balanced does neither, which is what you want.
The formula
LSI = pH + TF + CF + AF − TDS factor
TF is a temperature factor. CF is a calcium hardness factor. AF is an alkalinity factor. All three come from published tables.
Nobody does this by hand. Use a calculator or an app.
What matters is understanding what each input does:
| Input | Effect on LSI | How fast you can change it |
|---|---|---|
| pH | Direct, one-for-one. The strongest lever | Hours |
| Temperature | Warmer = higher LSI (more scaling) | Not really a lever |
| Calcium hardness | Higher = higher LSI | Days up, drain to go down |
| Total alkalinity | Higher = higher LSI | Days |
| TDS | Higher = slightly lower LSI | Drain only |
pH is your fast lever. It moves LSI one-for-one and you can change it in an afternoon. That's usually the answer.
Reading your LSI number
| LSI | What's happening |
|---|---|
| Below −0.5 | Aggressive. Actively dissolving plaster and grout |
| −0.5 to −0.3 | Mildly aggressive. Fine short term, not for a season |
| −0.3 to +0.3 | Balanced. This is the target |
| +0.3 to +0.5 | Mildly scaling. Watch the tile line and the cell |
| Above +0.5 | Scaling. Deposits forming on surfaces and equipment |
Why cold water is the sneaky one
Calcium carbonate is less soluble in warm water. Which means warm water scales more easily, and cold water is more aggressive.
Practical consequences:
Winter is when plaster gets damaged. A pool at 50°F needs higher calcium and higher alkalinity than the same pool at 85°F to stay balanced. Close a pool with everything "in range" for summer and you have closed an aggressive pool. It then spends five months etching.
Heated pools scale. The hottest surface in your system is the inside of the heat exchanger, which is exactly where calcium comes out of solution first. That's why heaters scale before anything else.
Spring and fall are transition points worth checking, because the temperature swing moves LSI without you touching anything.
Fixing it
LSI too low (aggressive):
- Raise pH first. Fastest and easiest.
- Raise alkalinity toward 100–120.
- Raise calcium hardness, especially if you're below 250 on a plaster pool.
The three levers, and what moves them
- Check price
Taylor K-2006C test kit
Drop-count titration rather than color matching, and it tests CYA properly.
- Check price
pH increaser
100% soda ash, so you know exactly what you are adding.
- Check price
calcium hardness increaser
For soft fill water, which is aggressive to plaster, grout and heaters.
Soft-water regions — Pacific Northwest, parts of New England, anywhere on well water with low mineral content — this is the direction you'll be fighting. Calcium chloride will become a regular purchase.
LSI too high (scaling):
- Lower pH. Again, fastest.
- Lower alkalinity toward 70–80.
- Lower calcium hardness, which means partial drain and refill.
Hard-water regions — Arizona, Nevada, inland California, parts of Texas — this is your direction. Many owners there keep pH at the low end year round. They accept a mildly positive LSI as the price of not draining.
The correction most calculators skip
There is a wrinkle in the alkalinity input that changes the answer, and a good many online calculators ignore it.
The alkalinity you measure is not all carbonate. Some of it is cyanurate — the ion your stabilizer puts in the water. Only the carbonate part does the buffering work LSI describes. So feeding your raw alkalinity into the formula overstates it.
The correction is simple: subtract roughly a third of your cyanuric acid reading from total alkalinity and use that figure instead. A pool testing 100 ppm alkalinity with 60 ppm CYA has a carbonate alkalinity nearer 80.
That is not a rounding difference. Twenty points of alkalinity is worth about 0.1 on the index, so a pool sitting at −0.2 by the uncorrected math is really at −0.3 and heading the wrong way. It bites hardest where it hurts most. Salt pools run stabilizer at 60 to 80 ppm by design. So does any pool left on tablets long enough.
So check whether your calculator asks for cyanuric acid. If it does not, the number it hands you is too kind — by roughly the amount of stabilizer you are carrying.
Where it shows up in real life
Rough plaster at year five instead of year twelve. Chronically aggressive water.
A heat exchanger that failed at four years. Aggressive water, or scale, depending which direction you were out.
A salt cell that stopped producing. Scale on the plates, from positive LSI.
Grout washing out of the tile line. Aggressive water.
A white crusty band at the waterline that won't come off. Scale.
A brand new plaster pool with persistent cloudiness and climbing pH. Normal for the first year — new plaster leaches calcium hydroxide — but it means your LSI is moving on its own and needs watching closely.
The short version
Individual ranges are a beginner's approximation. They work most of the time.
LSI is what they're approximating, and it's what to check when your numbers all look right and something is still going wrong.
Go deeperBalancing water, step by stepThe five numbers, the order to set them in, and the doses that work. Go deeperRun your own numbersEnter your readings and see where the water actually sits, CYA correction included.Frequently asked questions
What is a good LSI for a pool?
Between -0.3 and +0.3, with 0.0 being perfectly balanced. Below -0.3 the water is aggressive and will pull calcium out of plaster, grout and heat exchangers. Above +0.3 it's scale-forming and will deposit on tile, inside the heater and on a salt cell.
How do you calculate the Langelier Saturation Index?
LSI = pH + temperature factor + calcium hardness factor + alkalinity factor − TDS factor. The factors come from published lookup tables. In practice almost everyone uses a calculator or an app rather than the tables, and the useful skill is knowing which lever to pull once you have the number.
Why does pool water temperature affect chemistry?
Calcium carbonate is less soluble in warm water, so warm water is more likely to scale and cold water is more likely to be aggressive. That's why a pool that's perfectly balanced at 85°F in August can be dissolving plaster at 55°F in November with exactly the same test readings.
Can water be balanced and still damage my pool?
Yes, and this is exactly why LSI exists. Every individual number can sit inside its published range while the combination is aggressive or scaling. Low-normal pH plus low-normal calcium plus cold water is a common example that reads fine on paper and etches plaster in practice.
Does LSI matter for vinyl and fiberglass pools?
Less than for plaster, since there's no cementitious surface to dissolve. It still matters for scale on the tile line, inside a heater and on a salt cell, and aggressive water still attacks grout and metal fittings. Vinyl and fiberglass owners can run calcium lower, but shouldn't ignore the index entirely.



