.salt-calc-container {
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
max-width: 600px;
margin: 20px auto;
padding: 25px;
border: 1px solid #e1e1e1;
border-radius: 12px;
background-color: #ffffff;
box-shadow: 0 4px 15px rgba(0,0,0,0.05);
}
.salt-calc-container h2 {
color: #0056b3;
margin-top: 0;
text-align: center;
font-size: 24px;
}
.salt-input-group {
margin-bottom: 18px;
}
.salt-input-group label {
display: block;
margin-bottom: 8px;
font-weight: 600;
color: #333;
}
.salt-input-group input, .salt-input-group select {
width: 100%;
padding: 12px;
border: 2px solid #ddd;
border-radius: 6px;
box-sizing: border-box;
font-size: 16px;
}
.salt-input-group input:focus {
border-color: #0056b3;
outline: none;
}
.salt-calc-btn {
width: 100%;
background-color: #0056b3;
color: white;
padding: 15px;
border: none;
border-radius: 6px;
font-size: 18px;
font-weight: bold;
cursor: pointer;
transition: background-color 0.3s;
}
.salt-calc-btn:hover {
background-color: #004494;
}
#salt-result-area {
margin-top: 25px;
padding: 20px;
background-color: #f8f9fa;
border-radius: 8px;
display: none;
}
.salt-result-title {
font-weight: bold;
color: #2c3e50;
margin-bottom: 10px;
text-align: center;
font-size: 18px;
}
.salt-result-value {
font-size: 22px;
color: #28a745;
text-align: center;
font-weight: 800;
}
.salt-error {
color: #dc3545;
text-align: center;
font-weight: bold;
display: none;
}
.salt-article {
max-width: 800px;
margin: 40px auto;
line-height: 1.6;
color: #333;
}
.salt-article h2 { color: #2c3e50; }
.salt-article h3 { color: #0056b3; }
.salt-article table { width: 100%; border-collapse: collapse; margin: 20px 0; }
.salt-article th, .salt-article td { border: 1px solid #ddd; padding: 12px; text-align: left; }
.salt-article th { background-color: #f2f2f2; }
How to Use the Salt Pool Calculator
Maintaining the correct salinity is crucial for your Salt Water Chlorine Generator (SWCG) to function efficiently. If the salt level is too low, the system won't produce enough chlorine, leading to cloudy water or algae. If it's too high, it can damage equipment and cause discomfort for swimmers.
The Calculation Formula
To determine how much salt to add, we use the following physical chemistry formula based on water weight:
Salt Needed (lbs) = (Target ppm – Current ppm) × (Pool Volume / 1,000,000) × 8.34
- 8.34: This is the weight of one gallon of water in pounds.
- ppm: Stands for parts per million.
Ideal Salt Levels for Pools
While specific salt chlorinators vary by brand (like Hayward, Pentair, or Jandy), most residential systems operate within these ranges:
| Condition |
Salt Level (ppm) |
Action |
| Low |
Below 2,700 |
Add Salt Immediately |
| Ideal |
3,000 – 3,400 |
Optimal Production |
| High |
Above 4,500 |
Partial Drain and Refill |
Steps to Adding Salt
- Test First: Never add salt without testing your current levels with a reliable digital tester or salt strips.
- Calculate: Use the calculator above to find the exact number of 40lb bags required.
- Turn Off Generator: It is often recommended to turn the SWCG off while adding salt to avoid surge readings.
- Broadcast: Pour the salt around the perimeter of the deep end.
- Brush: Use a pool brush to circulate the salt until it is completely dissolved. Do not let salt sit on the pool floor, especially in vinyl liner or plaster pools, as it can cause staining or etching.
- Wait: Let the pump run for 24 hours before retesting and turning the chlorinator back on.
Example Calculation
Suppose you have a 20,000-gallon pool. Your current salt test shows 1,000 ppm, and your chlorinator manual recommends a target of 3,200 ppm.
The difference is 2,200 ppm (3,200 – 1,000). Using our formula:
2,200 × (20,000 / 1,000,000) × 8.34 = 366.96 lbs of salt.
If you buy 40 lb bags, you would need approximately 9.2 bags. In this scenario, adding 9 bags would be the safest approach, as it is easier to add more salt later than to remove it.
function calculateSaltNeeded() {
var poolVolume = document.getElementById("poolVolume").value;
var currentSalt = document.getElementById("currentSalt").value;
var targetSalt = document.getElementById("targetSalt").value;
var bagWeight = document.getElementById("bagWeight").value;
var errorMsg = document.getElementById("salt-error-msg");
var resultArea = document.getElementById("salt-result-area");
var resultLbs = document.getElementById("salt-result-lbs");
var resultBags = document.getElementById("salt-result-bags");
// Reset display
errorMsg.style.display = "none";
resultArea.style.display = "none";
// Validate inputs
if (poolVolume <= 0 || targetSalt <= 0 || bagWeight <= 0 || currentSalt = tarNum) {
resultArea.style.display = "block";
resultLbs.innerHTML = "0 lbs";
resultBags.innerHTML = "Your salt level is already at or above the target.";
return;
}
// Formula: (Target – Current) * (Volume / 1,000,000) * 8.34
var ppmDiff = tarNum – curNum;
var totalLbs = ppmDiff * (volNum / 1000000) * 8.34;
var totalBags = totalLbs / bagNum;
resultArea.style.display = "block";
resultLbs.innerHTML = totalLbs.toFixed(2) + " lbs of Salt";
resultBags.innerHTML = "Approximately " + totalBags.toFixed(1) + " bags (" + bagNum + " lbs each)";
}