Enter your test results. Every field is required; use 0 for cyanuric acid if the pool has none.
The calculator uses the pool form of the Langelier Saturation Index given in ANSI/APSP/ICC-11 and the Pool & Spa Operator Handbook. Each reading is turned into a factor, the factors are added, and a constant for dissolved solids is subtracted:
The same sum can be written as a saturation pH: pHs = TDS factor − (TF + CF + AF), and LSI = pH − pHs. The result box above shows both forms.
Factors marked derived are interpolated, or calculated from the acid strength of cyanuric acid (pKa 6.88); they match the published values to within 0.01. No factor can exceed 0.39, the share of cyanuric acid mass that can ever count as alkalinity.
The band is read from the LSI after rounding to two decimals, so the number shown and the band always agree. Below 50°F, when every reading is inside its target range, the calculator shows a cold water note instead of the red warning, because a pool that cold is usually being closed for the winter.
Yes. These worked examples are calculated by the same code as the calculator, and the automatic tests check each one against the published answer or against hand arithmetic before every update.
Handbook Example 6.1: a pool
Pool & Spa Operator Handbook (Pool & Hot Tub Alliance, 2021), Chapter 6, Example 6.1
pH 7.2, 84°F (28.9°C), total alkalinity 100 ppm, calcium hardness 200 ppm, cyanuric acid 0 ppm, TDS 2,250 ppm.
Result: −0.50, Corrosive Water: Action Required. Published answer: −0.5.
Matches the published answer.
Handbook Example 6.2: a spa
Pool & Spa Operator Handbook (Pool & Hot Tub Alliance, 2021), Chapter 6, Example 6.2
pH 7.7, 104°F (40.0°C), total alkalinity 100 ppm, calcium hardness 400 ppm, cyanuric acid 0 ppm, TDS 3,500 ppm.
Result: +0.39, Scale-Forming Water. Published answer: +0.4.
The book reads the temperature factor for 104°F as 0.9 (the next table row up). This calculator interpolates between 94°F (0.8) and 105°F (0.9), which gives 0.891, so it shows +0.39. Under the ±0.30 bands used on this site, this spa reads as scale forming.
Textbook water at 80°F
Hand calculation
pH 7.5, 80°F (26.7°C), total alkalinity 100 ppm, calcium hardness 250 ppm, cyanuric acid 0 ppm, TDS 1,000 ppm.
Result: −0.05, Slightly Aggressive: Acceptable Range.
Readings in the middle of their ranges give a balanced or very slightly negative LSI in warm water.
The same water at 40°F
Hand calculation
pH 7.5, 40°F (4.4°C), total alkalinity 100 ppm, calcium hardness 250 ppm, cyanuric acid 0 ppm, TDS 1,000 ppm.
Result: −0.57, Cold Water: Typical of a Pool Being Closed.
Nothing changed except temperature, and the LSI drops by about 0.5. Because every reading is inside its target range, the calculator shows the cold water note instead of the red warning.
A stabilized pool: the cyanuric acid correction
Correction factor from the Pool & Hot Tub Alliance tech note "Total Alkalinity in Pool and Spa Water" (110 − 100 × 0.31 = 79 ppm)
pH 7.4, 84°F (28.9°C), total alkalinity 110 ppm, calcium hardness 300 ppm, cyanuric acid 100 ppm, TDS 1,000 ppm.
Result: −0.13, Slightly Aggressive: Acceptable Range. Published answer: 79 ppm carbonate alkalinity.
Without the correction, the same water would read about 0.14 higher than it really is.
A salt pool at its alkalinity target
Hand calculation
pH 7.5, 80°F (26.7°C), total alkalinity 70 ppm, calcium hardness 250 ppm, cyanuric acid 0 ppm, TDS 4,000 ppm, salt chlorine generator.
Result: −0.41, Corrosive Water: Action Required.
Salt raises TDS into the 12.4 band, so a salt pool at TA 70 reads lower than the same water without salt. Reaching −0.30 needs calcium near 320 ppm, or a pH just above 7.6.
The pH of a pool tends to rise between doses as carbon dioxide leaves the water; Episode 6: The pH Ceiling explains why, and why alkalinity sets how high it climbs.
The result is a calculated value from standard factors, and field conditions vary. Three things limit its precision:
- Temperature. Newer chemistry data (Wojtowicz, 2001) indicate a smaller temperature effect than this industry chart, so in cold water the LSI shown here may read more negative than the underlying carbonate chemistry alone would suggest. At 40°F the difference is up to about 0.24; from 80 to 104°F the methods agree within about 0.06.
- TDS band edges. Each band step moves the result by 0.1. An older convention uses 12.1 for anything under 1,000 ppm, so a reading near 1,000 ppm can differ by 0.1 from an older chart.
- Test precision. A pH reading that is 0.1 off moves the LSI by 0.1, and a calcium or alkalinity reading that is 25 percent off moves it by about 0.1.
The calculator applies no ion pairing correction. For a professional diagnosis, have the water tested by a certified pool operator.
What LSI should a pool have?
This calculator treats 0.00 to +0.30 as balanced and −0.30 to −0.01 as slightly aggressive but acceptable. Below −0.30 the water is corrosive, and above +0.30 it tends to deposit scale. Zero means the water is exactly saturated with calcium carbonate.
Why does the calculator subtract cyanuric acid from total alkalinity?
A total alkalinity test counts cyanurate as well as carbonate, but only carbonate alkalinity takes part in the calcium carbonate balance. At pH 7.5 about a third of the cyanuric acid reading shows up in the alkalinity test, so a stabilized pool looks better balanced than it really is unless that share is removed first.
Why does temperature change the result so much?
Calcium carbonate is less soluble in warm water. The standard temperature factor runs from 0.0 at 32°F to 0.9 at 105°F, so the same water can move from corrosive in early spring to balanced in midsummer, and a hot spa reads higher than a pool with the same water.
Does a salt pool need a different LSI?
The target is the same, but salt raises total dissolved solids, and higher TDS lowers the LSI. A salt pool near 4,000 ppm TDS uses a TDS factor of 12.4 instead of 12.2, which reads 0.2 lower than the same water without salt.
Why is my answer different from another calculator or a paper chart?
Paper charts round each factor to the next table value, while this calculator interpolates between rows, so results can differ by up to about 0.15. Some tools also skip the cyanuric acid correction, use only two TDS bands, or use a newer temperature equation that changes cold water results. The method used here is written out below so the result can be checked by hand.
Is a low LSI in cold water a problem?
Water below 50°F is typical of a pool being closed for the winter, and a low LSI at that temperature is expected. Follow the pool closing guidance and recheck the LSI when the water warms at opening. Any reading that is below its own target range still needs correcting.