Pooldex

Pool LSI calculator

The Langelier Saturation Index (LSI) shows whether your water will dissolve plaster (below −0.3) or deposit scale (above +0.3, more so above +0.5).

By Aliaksandr Rusinski · Published October 4, 2026 · Formulas: methodology (last changed September 30, 2026)

LSI calculator

Inputs
°F
ppm
ppm
ppm
ppmSalt pools: salt level + about 1,000 ppm is a rough estimate.
More options (borates)
ppm B

Result for example values. Enter your own numbers.

−0.07

Balanced

Keep it between −0.3 and +0.3.

Carbonate alkalinity
77.1 ppm
pHs (saturation pH)
7.57

Estimates, not guarantees. Always follow the product label. How we calculate

Always follow your product’s label directions. Pool and spa chlorine, bromine, shock and algaecides are EPA-registered pesticides: use products labeled for pool or spa use, and don’t swim or soak until levels are within the limit on your product’s label. If this page and a label disagree, the label wins.

On this page (7 sections)

Calculator with what-if sliders

Enter pH, water temperature, calcium hardness (CH), total alkalinity (TA), stabilizer (CYA), and if you know them, borates and total dissolved solids (TDS). The calculator subtracts the part of your alkalinity reading that comes from CYA and borates, then works out the saturation pH (pHs) and the index. Change one field at a time to see what moves the number most in your pool.

Here is what each change does to the default water (pH 7.5, 82 °F, CH 300, TA 90, CYA 40, TDS 1,000), calculated with our engine:

What-if: one change at a time from LSI −0.07
ChangeNew LSIShift
pH 7.2−0.36−0.29
pH 7.6+0.03+0.10
pH 7.8+0.22+0.29
CH 150 ppm (halved)−0.37−0.30
CH 600 ppm (doubled)+0.23+0.30
TA 60 ppm−0.29−0.22
TA 120 ppm+0.07+0.14
CYA 80 ppm−0.15−0.08
TDS 4,200 ppm (salt pool)−0.13−0.06
Water 60 °F−0.31−0.24

pH moves the index almost one-for-one. Doubling or halving calcium moves it by 0.30 (log10 of 2). Alkalinity changes matter less than they seem, because part of TA is cyanurate.

In practice, pH is the fastest thing to change, calcium is the slowest and hardest to undo, and temperature is the one you don't control.

Good range: −0.3 to +0.3 (sources)

  • APSP (via PHTA's Water Balance Indexes bulletin): −0.3 to +0.5. PHTA adds that a slightly positive value may be preferred, because a thin scale layer is less harmful than corrosion.
  • Taylor Technologies: −0.3 to +0.5, noting that some recommend −0.3 to +0.3.
  • Hayward (salt cell manual): 0 ± 0.2. Salt cells scale easily, so the tighter range protects them.
  • Our calculator: green from −0.3 to +0.3, yellow from +0.3 to +0.5, red outside.

The index predicts a tendency, not an amount. PHTA's bulletin points out that water can sit at a high LSI without visible scale for a while, and that sequestering agents (scale-control products) can delay scaling. It also says the LSI doesn't reliably predict corrosion of metals, which depends on other factors such as chlorides.

The formula (with CYA and borate correction)

LSI = pH − pHs, where pHs is the pH at which your water would be exactly saturated with calcium carbonate. Our engine uses the continuous (Carrier) form of Langelier's equation:

  • pHs = (9.3 + A + B) − (C + D)
  • A = (log10 TDS − 1) ÷ 10
  • B = −13.12 × log10(°C + 273) + 34.55
  • C = log10(CH as ppm CaCO3) − 0.4
  • D = log10(carbonate alkalinity as ppm CaCO3)

Carbonate alkalinity = TA − cyanurate alkalinity − borate alkalinity. We compute both corrections from acid constants (cyanuric acid pKa 6.88, boric acid 9.24) adjusted for dissolved solids. At pH 7.5, about 0.32 ppm of the TA reading per 1 ppm of CYA is cyanurate, close to the one-third shortcut many charts use. In the default example, TA 90 becomes 77 ppm of carbonate alkalinity.

PHTA lists three common mistakes: using total hardness instead of calcium hardness, using total alkalinity instead of carbonate alkalinity, and treating the old 12.1 constant as fixed. That constant assumes TDS around 500 ppm, which salt pools exceed many times over. Our formula takes TDS as an input, so it handles salt pools without a separate chart.

Checked against a published example (pH 7.6, 84 °F, CH 300, TA 90, CYA 60, TDS 1,000): the table method gives 0.00, our formula +0.01. Table methods round each factor, so expect differences of up to about 0.1 between tools. Full method on methodology.

Why winter water goes negative

Calcium carbonate is less soluble in warm water, which is why kettles and heaters scale. The reverse is also true: cold water can hold more calcium, so the same water becomes aggressive (corrosive) as it cools. Here is how our default water changes:

Same water (pH 7.5, CH 300, TA 90, CYA 40) at different temperatures
Water40 °F50 °F60 °F70 °F82 °F90 °F104 °F
LSI−0.53−0.42−0.31−0.20−0.07+0.01+0.16

That matches PHTA's example that water with ideal numbers can fall below −0.3 when it's colder than about 60 °F. For a plaster pool closed for winter, that means months of mildly aggressive water. Common fixes are closing with pH toward the upper end (at 45 °F our default water reads −0.47 at pH 7.5 but −0.18 at pH 7.8) or with slightly higher calcium. Heat matters too: at 104 °F, a spa can scale with chemistry that is balanced in a pool.

LSI vs CSI

CSI, the Calcite Saturation Index, is the version used by the TroubleFreePool calculator. It is built on the same idea but estimates ionic strength from your salt and calcium levels and applies its own activity corrections. The LSI formula we use accounts for the same effect through the TDS term. For a typical chlorine pool, the two give similar results. For salt pools, they can differ somewhat. We haven't measured how large that gap is across real pools, so don't mix the two: pick one tool, use it consistently, and watch the trend.

Related: what each input should be on calcium hardness, pool alkalinity levels, and pool pH levels. If your water turned cloudy after a scaling event, see cloudy pool.

FAQ

How do I calculate the LSI of my pool?

Test pH, calcium hardness, total alkalinity, and CYA, note the water temperature, and enter them in the calculator above. If you have a salt pool, enter TDS as roughly your salt level plus 1,000 ppm unless you have a TDS meter. The result is your LSI. Aim for between −0.3 and +0.3.

What is a good LSI range for pool water?

APSP and Taylor use −0.3 to +0.5. Hayward recommends 0 ± 0.2 for salt cells. Many owners aim for −0.3 to +0.3. Plaster pools should avoid going below −0.3 for long, and salt pools above +0.3.

What is the formula for LSI?

LSI = pH − pHs, where pHs = (9.3 + A + B) − (C + D): A from dissolved solids, B from temperature, C from calcium hardness, and D from carbonate alkalinity (TA minus the CYA and borate share). Table versions add factors to pH and subtract a constant such as 12.1.

Sources

  • PHTA technical bulletin, Water Balance Indexes (revised 2017): phta.org (PDF)
  • Taylor Technologies, The Watergram: PDF
  • Taylor Technologies, K-1005 instruction manual: PDF
  • Hayward, AquaRite manual (saturation index for salt cells): PDF
  • CPO Class, Wilfred Langelier's formula: cpoclass.com
  • Orenda, pKa and alkalinity buffering systems: blog.orendatech.com