Skip to main content

Air Scrubber Runtime Calculator

ANALife Services AuthorityNational Calculator Authority›Air Scrubber Runtime 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; } }

Air Scrubber Runtime Calculator

Determine how long an air scrubber (negative air machine) must run to achieve a desired number of air changes per hour (ACH) in a given space — commonly used in water damage, mold remediation, and construction projects.

Room Length (ft)

Room Width (ft)

Ceiling Height (ft)

Air Scrubber CFM Rating

Cubic feet per minute (see unit label)

Target Air Changes (ACH)

IICRC S500 recommends 4 ACH minimum for water damage

Calculate Runtime

function airCalc() { var resultDiv = document.getElementById('air-result');

var length = parseFloat(document.getElementById('air-length').value); var width = parseFloat(document.getElementById('air-width').value); var height = parseFloat(document.getElementById('air-height').value); var cfm = parseFloat(document.getElementById('air-cfm').value); var ach = parseFloat(document.getElementById('air-ach').value);

// --- Validation --- var errors = []; if (isNaN(length) || length 0) { resultDiv.style.display = 'block'; resultDiv.className = 'calc-result calc-error'; resultDiv.innerHTML = 'Please fix the following:' + errors.map(function(e){ return ''; }).join('') + ''; return; }

// --- Core Formulas --- // Room volume (cubic feet) var roomVolume = length * width * height;

// Air changes per hour delivered by the scrubber // ACH_delivered = (CFM × 60) / Room Volume var achDelivered = (cfm * 60) / roomVolume;

// Time to achieve target ACH (hours) // Runtime (hrs) = Target ACH / ACH_delivered var runtimeHours = ach / achDelivered;

// Convert to minutes var runtimeMinutes = runtimeHours * 60;

// Number of scrubbers needed to achieve 1 ACH per hour continuously // (informational: how many units to hit target ACH in 1 hour) var unitsFor1Hr = Math.ceil(ach / achDelivered);

// --- Format output --- var hrs = Math.floor(runtimeHours); var mins = Math.round((runtimeHours - hrs) * 60); var timeStr = ''; if (hrs > 0 && mins > 0) { timeStr = hrs + ' hr ' + mins + ' min'; } else if (hrs > 0) { timeStr = hrs + ' hr'; } else { timeStr = mins + ' min'; }

resultDiv.style.display = 'block'; resultDiv.className = 'calc-result calc-success'; resultDiv.innerHTML = '### Results ' + '' + 'Room Volume' + roomVolume.toLocaleString() + ' ft³' + 'ACH Delivered by 1 Unit' + achDelivered.toFixed(2) + ' ACH' + 'Required Runtime (1 scrubber)' + timeStr + ' (' + runtimeMinutes.toFixed(1) + ' min)' + 'Scrubbers Needed to Finish in 1 Hour' + unitsFor1Hr + ' unit(s)' + '' + '' + 'With 1 scrubber at ' + cfm + ' CFM, run for ' + timeStr + ' ' + 'to achieve ' + ach + ' air changes in this ' + roomVolume.toLocaleString() + ' ft³ space.' + '

'; }

#### Formulas Used

Room Volume (ft³): V = Length × Width × Height

ACH Delivered by Scrubber: ACHdelivered = (CFM × 60) ÷ V

Required Runtime (hours): Runtime = Target ACH ÷ ACHdelivered

Units Needed to Complete in 1 Hour: Units = ⌈Target ACH ÷ ACHdelivered⌉

#### Assumptions & References

More Calculators

References