Well Pump Flow Rate & GPM Calculator

ANALife Services AuthorityNational 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

More Calculators

Read Next

Study Time Planner ANA › Life Services Authority › National Calculator Authority › Study Time Planner .calc-container { max-width: 640px; margin:...

References