Well Pump Flow Rate & GPM Calculator
ANA›Life Services Authority›National Calculator Authority›Well Pump Flow Rate & GPM 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; } }
Well Pump Flow Rate & GPM Calculator
Calculate your well pump's flow rate in gallons per minute (GPM) using either a bucket/container timed test or a drawdown recovery test.
Calculation Method:
Volume / Time Test
Drawdown Recovery Test
Volume Collected (gallons)
Total gallons collected in the container during the test.
Time to Fill (seconds)
Number of seconds it took to fill the container.
Static Water Level (feet below surface)
Water level in the well before pumping begins.
Pumping Water Level (feet below surface)
Water level in the well while pump is running at steady state.
Well Casing Inner Diameter (inches)
Inner diameter of the well casing (commonly 4, 5, or 6 inches).
Recovery Time (minutes)
Time for water level to recover from pumping level back to static level after pump stops.
Calculate GPM
function welToggleMethod() { var method = document.querySelector('input[name="wel_method"]:checked').value; document.getElementById('wel_volume_section').style.display = (method === 'volume') ? '' : 'none'; document.getElementById('wel_drawdown_section').style.display = (method === 'drawdown') ? '' : 'none'; document.getElementById('wel_result').style.display = 'none'; }
function welCalc() { var resultDiv = document.getElementById('wel_result'); var method = document.querySelector('input[name="wel_method"]:checked').value; var html = '';
if (method === 'volume') { var volume = parseFloat(document.getElementById('wel_volume').value); var timeSec = parseFloat(document.getElementById('wel_time_sec').value);
if (isNaN(volume) || volume Please enter a valid volume greater than 0 gallons.'; resultDiv.style.display = ''; return; } if (isNaN(timeSec) || timeSec Please enter a valid time greater than 0 seconds.'; resultDiv.style.display = ''; return; }
// GPM = (Volume in gallons) / (Time in seconds) * 60 var gpm = (volume / timeSec) * 60; var gph = gpm * 60; var gpd = gph * 24; var lpm = gpm * 3.78541;
html += '### Flow Rate Results '; html += ''; html += 'ParameterValue'; html += 'Volume Collected' + volume.toFixed(3) + ' gal'; html += 'Fill Time' + timeSec.toFixed(1) + ' sec (' + (timeSec/60).toFixed(2) + ' min)'; html += 'Flow Rate (GPM)' + gpm.toFixed(2) + ' GPM'; html += 'Flow Rate (GPH)' + gph.toFixed(1) + ' GPH'; html += 'Flow Rate (GPD)' + gpd.toFixed(0) + ' GPD'; html += 'Flow Rate (L/min)' + lpm.toFixed(2) + ' L/min'; html += '';
// Adequacy guidance (IRC / general plumbing standards) html += ''; html += 'Adequacy Guide (typical residential standards):'; if (gpm ⚠ Below 1 GPM — Very low yield; storage tank system likely required.'; } else if (gpm ⚠ 1–3 GPM — Marginal; may need a storage/holding tank for peak demand.'; } else if (gpm ⚠ 3–5 GPM — Acceptable for 1–2 person household with conservation.'; } else if (gpm ✓ 5–10 GPM — Good; meets most single-family residential needs.'; } else { html += '✓ >10 GPM — Excellent yield for residential or light commercial use.'; } html += '';
} else { // Drawdown Recovery Method var staticLevel = parseFloat(document.getElementById('wel_static_level').value); var pumpingLevel = parseFloat(document.getElementById('wel_pumping_level').value); var casingDia = parseFloat(document.getElementById('wel_casing_diameter').value); var recoveryTime = parseFloat(document.getElementById('wel_recovery_time').value);
if (isNaN(staticLevel) || staticLevel Please enter a valid static water level (≥ 0 ft).'; resultDiv.style.display = ''; return; } if (isNaN(pumpingLevel) || pumpingLevel Please enter a valid pumping water level (> 0 ft).'; resultDiv.style.display = ''; return; } if (pumpingLevel Pumping water level must be deeper (greater value) than static water level.'; resultDiv.style.display = ''; return; } if (isNaN(casingDia) || casingDia Please enter a valid casing diameter > 0 inches.'; resultDiv.style.display = ''; return; } if (isNaN(recoveryTime) || recoveryTime Please enter a valid recovery time > 0 minutes.'; resultDiv.style.display = ''; return; }
// Drawdown = pumping level - static level (feet) var drawdown = pumpingLevel - staticLevel;
// Volume of water in casing per foot: // V (gal/ft) = π × (r_ft)^2 × 1 ft × 7.48052 gal/ft³ // r_ft = (casingDia / 2) / 12 var radiusFt = (casingDia / 2) / 12; var galPerFt = Math.PI * radiusFt * radiusFt * 7.48052;
// Total volume recovered = drawdown (ft) × gal/ft var volumeRecovered = drawdown * galPerFt;
// GPM = volume recovered (gal) / recovery time (min) var gpm = volumeRecovered / recoveryTime; var gph = gpm * 60; var gpd = gph * 24; var lpm = gpm * 3.78541;
html += '### Drawdown Recovery Results '; html += ''; html += 'ParameterValue'; html += 'Static Water Level' + staticLevel.toFixed(1) + ' ft below surface'; html += 'Pumping Water Level' + pumpingLevel.toFixed(1) + ' ft below surface'; html += 'Drawdown' + drawdown.toFixed(2) + ' ft'; html += 'Casing Inner Diameter' + casingDia.toFixed(2) + ' in'; html += 'Casing Storage (gal/ft)' + galPerFt.toFixed(4) + ' gal/ft'; html += 'Volume Recovered' + volumeRecovered.toFixed(3) + ' gal'; html += 'Recovery Time' + recoveryTime.toFixed(1) + ' min'; html += 'Flow Rate (GPM)' + gpm.toFixed(2) + ' GPM'; html += 'Flow Rate (GPH)' + gph.toFixed(1) + ' GPH'; html += 'Flow Rate (GPD)' + gpd.toFixed(0) + ' GPD'; html += 'Flow Rate (L/min)' + lpm.toFixed(2) + ' L/min'; html += '';
html += ''; html += 'Adequacy Guide (typical residential standards):'; if (gpm ⚠ Below 1 GPM — Very low yield; storage tank system likely required.'; } else if (gpm ⚠ 1–3 GPM — Marginal; may need a storage/holding tank for peak demand.'; } else if (gpm ⚠ 3–5 GPM — Acceptable for 1–2 person household with conservation.'; } else if (gpm ✓ 5–10 GPM — Good; meets most single-family residential needs.'; } else { html += '✓ >10 GPM — Excellent yield for residential or light commercial use.'; } html += ''; }
resultDiv.innerHTML = html; resultDiv.style.display = ''; }
#### Formulas Used
Method 1 — Volume / Time Test:
GPM = (Volume collected, gal) ÷ (Time, sec) × 60
Method 2 — Drawdown Recovery Test:
Drawdown (ft) = Pumping Level − Static Level Casing Storage (gal/ft) = π × (D/2 ÷ 12)² × 7.48052 Volume Recovered (gal) = Drawdown × Casing Storage GPM = Volume Recovered ÷ Recovery Time (min)
Where D = casing inner diameter in inches, and 7.48052 = gallons per cubic foot.
#### Assumptions & References
- Residential minimum yield guidance based on the International Residential Code (IRC) and USDA Rural Development well standards (≥ 4 GPM preferred; ≥ 1 GPM with storage acceptable).
- Reference: Driscoll, F.G. (1986). Groundwater and Wells, 2nd ed. Johnson Filtration Systems.
More Calculators
- Attic Air Sealing Heat Loss Calculator
- Attic Storage Load Capacity Calculator
- Days Away Restricted or Transferred (DART) Rate Calculator
- Network Bandwidth & Throughput Calculator
- Debt-to-Income Ratio Calculator
- VLSM (Variable Length Subnet Masking) Calculator
- Population Growth Rate Calculator
- Insurance Coverage Needs Estimator
- Loss Ratio Calculator
- Claims Settlement Value Estimator
- Depreciation Calculator for Property Claims
- Actual Cash Value vs Replacement Cost Calculator
Read Next
Study Time Planner ANA › Life Services Authority › National Calculator Authority › Study Time Planner .calc-container { max-width: 640px; margin:...