If you have PPM (mg/L), divide by 17.1 to get GPG.
Enter 0 if no iron is present. Iron requires extra softening capacity.
Average is 75-80 gallons per person.
Every 3 Days (High Usage)
Every 4 Days
Every 6 Days
Every 7 Days (Standard Efficiency)
Every 10 Days
Compensated Hardness:0 GPG
Daily Grain Requirement:0 Grains
Total Capacity Required:0 Grains
Recommended Size: 32,000 Grain System
How to Size a Water Softener Correctly
Choosing the right size water softener is critical for efficiency, longevity, and water quality. A system that is too small will regenerate too frequently, wasting salt and water, and wearing out the internal components prematurely. Conversely, a system that is too large costs more upfront and may lead to "channeling," where water creates a path through the resin bed without being properly treated.
Understanding the Key Metrics
To use the Water Softener Calculator effectively, it is important to understand the inputs required:
Household Size: The total number of people living in the home. This determines the base volume of water used daily.
Water Hardness (GPG): Hardness is typically measured in Grains Per Gallon (GPG). If your water test report uses Parts Per Million (PPM) or mg/L, divide that number by 17.1 to convert it to GPG.
Iron Content: Clear water iron (ferrous iron) effectively increases the hardness load on the softener resin. For every 1 PPM of iron, we generally add 4 to 5 grains of compensated hardness to ensure the iron is removed completely.
Regeneration Frequency: This is how often the system cleans itself. A cycle of 7 days is considered the gold standard for efficiency. Regenerating more often (e.g., every 3 days) uses more salt and water over time.
The Calculation Formula
The logic used in this calculator follows industry standards for sizing ion exchange systems:
Calculate Daily Water Usage: Multiply the number of people by the daily average usage (typically 75 gallons per person).
Determine Compensated Hardness: Add the actual hardness (GPG) to the Iron Factor (Iron PPM × 4).
Calculate Daily Grain Load: Multiply Daily Water Usage by Compensated Hardness.
Determine Total Capacity: Multiply the Daily Grain Load by the number of days between regenerations (e.g., 7 days).
Standard Water Softener Sizes
Water softeners are sold in cubic foot capacities, often referred to by their maximum grain capacity. Here are the most common sizes:
24,000 Grains (0.75 cu. ft.): Best for apartments or couples with low water hardness.
32,000 Grains (1.0 cu. ft.): The most common size for average families (3-4 people) with moderate hardness.
48,000 Grains (1.5 cu. ft.): Suitable for larger families or homes with very hard water.
64,000 Grains (2.0 cu. ft.): Required for large estates or water with extremely high hardness and iron levels.
Why Efficiency Matters
When you select a softener, you don't want to run it at its absolute maximum capacity. Doing so requires a massive amount of salt to regenerate the resin fully. Instead, it is better to size the unit so it operates at a "high efficiency" setting, using less salt to remove the same amount of hardness. Our calculator rounds up to the next standard size to ensure you have a buffer for efficiency.
function calculateSoftenerSize() {
// 1. Get input values
var people = document.getElementById('ws-people').value;
var hardness = document.getElementById('ws-hardness').value;
var iron = document.getElementById('ws-iron').value;
var usage = document.getElementById('ws-usage').value;
var days = document.getElementById('ws-regen').value;
// 2. Validate inputs
if (people === "" || hardness === "" || usage === "" || days === "") {
alert("Please fill in all required fields (People, Hardness, Usage, Frequency).");
return;
}
// Convert to numbers
var numPeople = parseFloat(people);
var numHardness = parseFloat(hardness);
var numIron = parseFloat(iron);
if (isNaN(numIron)) numIron = 0; // Default to 0 if empty or invalid
var numUsage = parseFloat(usage);
var numDays = parseFloat(days);
// 3. Calculation Logic
// Calculate Compensated Hardness: Hardness + (Iron * 4)
// Note: 1 ppm iron is roughly equivalent to 4-5 grains of hardness for sizing purposes.
var compensatedHardness = numHardness + (numIron * 4);
// Calculate Daily Water Usage
var dailyGallons = numPeople * numUsage;
// Calculate Daily Grains Required
var dailyGrains = dailyGallons * compensatedHardness;
// Calculate Total Capacity Required for the duration between regenerations
var requiredCapacity = dailyGrains * numDays;
// 4. Determine Recommended Standard Size
// Common resin sizes: 24k, 32k, 40k, 48k, 64k, 80k, 96k
var standardSizes = [24000, 32000, 40000, 48000, 64000, 80000, 96000];
var recommendedSize = 0;
var sizeLabel = "";
// Find the smallest standard size that fits the required capacity
// We generally want a slight buffer, but strictly speaking, we need at least the requiredCapacity.
var found = false;
for (var i = 0; i = requiredCapacity) {
recommendedSize = standardSizes[i];
found = true;
break;
}
}
if (!found) {
// If it exceeds common residential sizes
recommendedSize = 120000;
sizeLabel = "120,000+ (Twin Tank or Commercial Recommended)";
} else {
sizeLabel = recommendedSize.toLocaleString() + " Grain System";
}
// 5. Update HTML Output
document.getElementById('res-comp-hardness').innerHTML = compensatedHardness.toFixed(1) + " GPG";
document.getElementById('res-daily-grains').innerHTML = Math.ceil(dailyGrains).toLocaleString() + " Grains";
document.getElementById('res-total-capacity').innerHTML = Math.ceil(requiredCapacity).toLocaleString() + " Grains";
document.getElementById('res-recommendation').innerHTML = "Recommended Size: " + sizeLabel;
// Show results div
document.getElementById('ws-results').style.display = "block";
}