Pool Salt System Calculator
ANA›Life Services Authority›National Calculator Authority›Pool Salt System Calculator
.calc-container { max-width: 640px; margin: 2rem 0; padding: 1.5rem; background: #fff; border: 1px solid #ddd; border-radius: 8px; box-shadow: 0 1px 3px rgba(0,0,0,0.06); font-family: system-ui, -apple-system, sans-serif; } .calc-container h3 { font-family: Georgia, serif; font-size: 1.15rem; color: #1a1a1a; margin-bottom: 1rem; padding-bottom: 0.5rem; border-bottom: 2px solid var(--ac, #3d5a80); } .calc-row { display: flex; align-items: center; gap: 0.75rem; margin-bottom: 0.75rem; flex-wrap: wrap; } .calc-row label { min-width: 160px; font-size: 0.9rem; color: #333; font-weight: 500; } .calc-row input[type="number"], .calc-row select { flex: 1; min-width: 120px; max-width: 200px; padding: 0.5rem 0.6rem; border: 1px solid #ccc; border-radius: 4px; font-size: 0.9rem; font-family: system-ui, sans-serif; color: #1a1a1a; background: #fafaf8; } .calc-row input:focus, .calc-row select:focus { outline: none; border-color: var(--ac, #3d5a80); box-shadow: 0 0 0 2px rgba(26,74,138,0.12); } .calc-row .unit { font-size: 0.82rem; color: #888; min-width: 30px; } .calc-btn { display: inline-block; margin-top: 0.5rem; padding: 0.55rem 1.5rem; background: var(--ac, #3d5a80); color: #fff; border: none; border-radius: 4px; font-size: 0.9rem; font-weight: 600; cursor: pointer; font-family: system-ui, sans-serif; } .calc-btn:hover { opacity: 0.9; } .calc-result { margin-top: 1.25rem; padding: 1rem 1.25rem; background: #f0f6fc; border-left: 3px solid var(--ac, #3d5a80); border-radius: 0 6px 6px 0; display: none; } .calc-result.visible { display: block; } .calc-result-label { font-size: 0.78rem; text-transform: uppercase; letter-spacing: 0.06em; color: #666; margin-bottom: 0.25rem; } .calc-result-value { font-size: 1.6rem; font-weight: 700; color: var(--ac, #3d5a80); } .calc-result-detail { font-size: 0.85rem; color: #555; margin-top: 0.5rem; line-height: 1.5; } .calc-note { margin-top: 1rem; font-size: 0.8rem; color: #888; font-style: italic; } .calc-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0.75rem; margin-top: 0.75rem; } .calc-grid-item { padding: 0.6rem 0.8rem; background: #f8f9fa; border-radius: 4px; border: 1px solid #eee; } .calc-grid-item .label { font-size: 0.75rem; color: #888; text-transform: uppercase; letter-spacing: 0.04em; } .calc-grid-item .value { font-size: 1.1rem; font-weight: 600; color: #1a1a1a; } @media (max-width: 720px) { .calc-row { flex-direction: column; align-items: flex-start; gap: 0.3rem; } .calc-row label { min-width: auto; } .calc-row input[type="number"], .calc-row select { max-width: 100%; width: 100%; } .calc-grid { grid-template-columns: 1fr; } } .calc-chart { margin: 1rem 0; text-align: center; } .calc-chart svg { max-width: 100%; height: auto; } .calc-chart-legend { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.6rem 1.2rem; margin-top: 0.6rem; font-size: 0.8rem; color: #555; } .calc-chart-legend span { display: inline-flex; align-items: center; gap: 0.3rem; } .calc-chart-legend i { display: inline-block; width: 10px; height: 10px; border-radius: 2px; font-style: normal; } .calc-related { max-width: 640px; margin: 2rem 0 1rem; padding: 1.25rem 1.5rem; background: #f8f9fa; border: 1px solid #e8e8e8; border-radius: 8px; } .calc-related h3 { font-family: Georgia, serif; font-size: 1rem; color: #1a1a1a; margin: 0 0 0.75rem; padding-bottom: 0.4rem; border-bottom: 2px solid var(--ac, #3d5a80); } .calc-related-list { list-style: none; padding: 0; margin: 0 0 0.75rem; display: grid; grid-template-columns: 1fr 1fr; gap: 0.4rem 1.5rem; } .calc-related-list li a { font-size: 0.88rem; color: var(--ac, #3d5a80); text-decoration: none; } .calc-related-list li a:hover { text-decoration: underline; } .calc-browse-all { margin: 0.5rem 0 0; font-size: 0.9rem; font-weight: 600; } .calc-browse-all a { color: var(--ac, #3d5a80); text-decoration: none; } .calc-browse-all a:hover { text-decoration: underline; } @media (max-width: 720px) { .calc-related-list { grid-template-columns: 1fr; } }
# Pool Salt System Calculator
Use this calculator to determine how much pool-grade salt to add when converting your pool to a saltwater system or adjusting existing salt levels. The ideal salt concentration for most saltwater chlorine generators is between 2,700 and 3,400 ppm, with 3,200 ppm being the typical target.
Pool Volume (gallons)
Current Salt Level (ppm)
Target Salt Level (ppm)
Salt Purity (%)
Calculate Salt Needed Enter your pool details above and click Calculate.
function pssCalculate() { var resultDiv = document.getElementById('pss-result');
var volume = parseFloat(document.getElementById('pss-volume').value); var currentSalt = parseFloat(document.getElementById('pss-current-salt').value); var targetSalt = parseFloat(document.getElementById('pss-target-salt').value); var purity = parseFloat(document.getElementById('pss-salt-purity').value);
// --- Validation --- if (isNaN(volume) || volume Please enter a valid pool volume (gallons).'; return; } if (isNaN(currentSalt) || currentSalt Please enter a valid current salt level (0 or higher).'; return; } if (isNaN(targetSalt) || targetSalt Please enter a valid target salt level.'; return; } if (isNaN(purity) || purity 100) { resultDiv.innerHTML = 'Salt purity must be between 95% and 100%.'; return; } if (targetSalt 3400) { resultDiv.innerHTML = 'Warning: Target salt level is outside the recommended range of 2,700–3,400 ppm. Please verify your target before proceeding.'; return; } if (currentSalt >= targetSalt) { resultDiv.innerHTML = 'No salt addition needed. Your current salt level (' + currentSalt.toLocaleString() + ' ppm) is already at or above your target (' + targetSalt.toLocaleString() + ' ppm).To lower salt levels, partially drain and refill the pool with fresh water.'; return; }
// --- Core Formula --- // ppm = mg/L = mg per 1,000 mL = mg per ~3.785 L per gallon // 1 gallon of water = 8.34 lbs = 3,785 grams // Salt needed (lbs) = (ppm increase × gallons × 8.34) / (1,000,000 × purity_fraction) // Simplified: lbs = (delta_ppm × gallons) / (120,048.19 × purity_fraction) // Industry shortcut: 1 lb of salt per 1,000 gallons raises ppm by ~120 ppm (at 100% purity)
var deltaPpm = targetSalt - currentSalt; var purityFraction = purity / 100;
// Weight of water: 8.34 lbs/gallon // lbs of pure salt = (deltaPpm / 1,000,000) * volume * 8.34 * (1000/1) ... // Correct derivation: // mass_water_lbs = volume_gal * 8.34 // mass_water_mg = mass_water_lbs * 453,592 // salt_mg_needed = deltaPpm * (mass_water_mg / 1,000,000) [since ppm = mg salt / kg water, and 1 kg water ≈ 1 L] // More precise: use 1 gallon = 3785.41 grams of water // salt_grams = deltaPpm * volume * 3.78541 [ppm = mg/kg, 1 gallon water = 3785.41 g = 3.78541 kg] // salt_lbs = salt_grams / 453.592 // Adjusted for purity: // bag_salt_lbs = salt_lbs / purityFraction
var saltGrams = deltaPpm * volume * 3.78541; // grams of pure NaCl needed var saltLbsPure = saltGrams / 453.592; // convert to pounds of pure NaCl var saltLbsBag = saltLbsPure / purityFraction; // account for salt purity var saltOz = saltLbsBag * 16; var saltKg = saltLbsBag * 0.453592;
// Common bag sizes var bags40 = Math.ceil(saltLbsBag / 40); var bags50 = Math.ceil(saltLbsBag / 50);
// Cost estimate (average pool salt ~$6–$8 per 40 lb bag) var costLow = (bags40 * 6).toFixed(2); var costHigh = (bags40 * 8).toFixed(2);
resultDiv.innerHTML = 'Salt Addition Required' + '' + 'Pool Volume:' + volume.toLocaleString() + ' gallons' + 'Salt Increase Needed:' + deltaPpm.toLocaleString() + ' ppm (' + currentSalt.toLocaleString() + ' → ' + targetSalt.toLocaleString() + ' ppm)' + 'Salt to Add:' + saltLbsBag.toFixed(1) + ' lbs (' + saltKg.toFixed(1) + ' kg)' + 'Approximate Bags Needed:' + bags40 + ' × 40 lb bags | ' + bags50 + ' × 50 lb bags' + 'Estimated Cost:$' + costLow + ' – $' + costHigh + ' (40 lb bags at $6–$8 each)' + 'Salt Purity Used:' + purity + '%' + '' + 'Add salt gradually with the pump running. Brush to dissolve and retest after 24 hours of circulation before adding more.'; }
#### Formula
Step 1 – Pure salt needed (grams): Salt (g) = ΔSalt (ppm) × Pool Volume (gal) × 3.78541 Derivation: ppm = mg of salt per kg of water; 1 gallon of water ≈ 3.78541 kg; therefore mg of salt = ppm × gallons × 3.78541, and dividing by 1,000 converts mg → g. Step 2 – Convert to pounds: Salt (lbs, pure) = Salt (g) ÷ 453.592 Step 3 – Adjust for salt purity: Salt (lbs, product) = Salt (lbs, pure) ÷ (Purity % ÷ 100) Industry Rule of Thumb (verification): ~1 lb of 100% pure NaCl per 1,000 gallons raises salt level by approximately 120 ppm.
#### Assumptions
More Calculators
- Personal Injury Compensation Estimator
- Auto Claim Settlement Value Estimator
- Total Loss vs Repair Cost Calculator
- Property Damage Loss Assessment Calculator
- Adjuster Liability Exposure Calculator
- Bad Faith Claim Penalty Estimator
Read Next
Study Time Planner Authority Network America › Life Services Authority › National Calculator Authority .calc-container { max-width: 640px;...