At‑home CADR calculator (with ACH presets)
How this calculator works
-
CADR (Clean Air Delivery Rate) is the volume of clean air an air cleaner delivers, measured in cubic feet per minute (cfm). AHAM’s standard publishes separate CADR values for smoke, dust, and pollen; higher numbers mean faster cleaning. See AHAM’s overview and the 2/3 room‑area rule. AHAM Verifide, AHAM blog explainer.
-
ACH (Air Changes per Hour) is how many times a room’s air volume is replaced/cleaned each hour. The core sizing relationship is: CADR (cfm) = (Room Volume in ft³ × ACH) ÷ 60. ASHRAE filtration/disinfection guidance.
-
Conversions: 1 cfm ≈ 1.699 m³/h (multiply cfm by ~1.7 to get m³/h). Reference.
Use either method below to size a purifier:
-
ACH‑based method (more flexible): pick a target ACH and compute CADR from room volume.
-
AHAM rule of thumb (simple area method): Smoke CADR ≥ 2/3 of room area (ft²). For wildfire smoke specifically, AHAM recommends Smoke CADR ≈ room area (1×). AHAM Verifide, AHAM sizing tips.
Interactive CADR calculator
Paste this widget or use the 3‑line embed below on any page. It supports imperial/metric, ACH presets, and shows both ACH‑sized CADR and AHAM’s area rule.
<section id="cadr-tool" style="max-width:860px;padding:16px;border:1px solid #e5e7eb;border-radius:12px;font:16px/1.4 system-ui,Segoe UI,Roboto,Helvetica,Arial,sans-serif">
<h3 style="margin:0 0 12px">Room inputs</h3>
<div style="display:flex;flex-wrap:wrap;gap:12px;margin:8px 0 4px">
<label>Units
<select id="unit" aria-label="Units"><option value="imperial">ft / cfm</option><option value="metric">m / m³/h</option></select>
</label>
<label>Length <input id="len" type="number" step="0.01" min="0" placeholder="e.g., 12"></label>
<label>Width <input id="wid" type="number" step="0.01" min="0" placeholder="e.g., 10"></label>
<label>Height <input id="ht" type="number" step="0.01" min="0" placeholder="e.g., 8"></label>
<label>Target ACH
<select id="ach">
<option value="2">2 (basic comfort)</option>
<option value="4">4 (typical home allergy target)</option>
<option value="5" selected>5 (CDC general clean‑air goal)</option>
<option value="6">6 (higher sensitivity / classrooms)</option>
<option value="8">8 (heavy allergens)</option>
<option value="12">12 (wildfire smoke / rapid turnover)</option>
<option value="custom">Custom…</option>
</select>
</label>
<label id="customWrap" style="display:none">Custom ACH <input id="achCustom" type="number" step="0.1" min="0" placeholder="e.g., 7"></label>
</div>
<button id="calc" style="margin:8px 0 16px;padding:8px 12px">Calculate</button>
<output id="out" style="display:block;white-space:pre-wrap;background:#f9fafb;border:1px solid #eef2f7;border-radius:8px;padding:12px"></output>
<p style="margin:12px 0 4px"><strong>Notes</strong>:
- For AHAM sizing, use <em>smoke CADR</em> for fine particles (wildfire), <em>pollen CADR</em> for seasonal allergens, and <em>dust CADR</em> for household dust.
- Multiple units add linearly in CADR (two identical purifiers ≈ 2× CADR).
</p>
</section>
<script>
(()=>{const $=id=>document.getElementById(id);const u=$("unit"),L=$("len"),W=$("wid"),H=$("ht"),A=$("ach"),Ac=$("achCustom"),Cw=$("customWrap"),O=$("out"),B=$("calc");const m2ft=3.28084, m3hPerCfm=1.699;function area(){let l=parseFloat(L.value)||0,w=parseFloat(W.value)||0;if(u.value==='metric'){l*=m2ft;w*=m2ft;}return l*w;}function vol(){let l=parseFloat(L.value)||0,w=parseFloat(W.value)||0,h=parseFloat(H.value)||0;if(u.value==='metric'){l*=m2ft;w*=m2ft;h*=m2ft;}return l*w*h;}function selACH(){return A.value==='custom'?(parseFloat(Ac.value)||0):parseFloat(A.value);}function fmt(n,d=0){return (Math.round(n*10**d)/10**d).toLocaleString()}function recalc(){const V=vol();const S=area();const ach=selACH();if(V<=0||S<=0||ach<=0){O.textContent='Enter positive length, width, height, and ACH.';return;}const cadr_cfm=V*ach/60;const cadr_m3h=cadr_cfm*m3hPerCfm;const aham_two_thirds=S*(2/3);const aham_wildfire=S*1; let out=`Room volume: ${fmt(V)} ft³`;
out+=`\nTarget ACH: ${fmt(ach,1)} h⁻¹`; out+=`\n\nRequired CADR (ACH method):\n • ${fmt(cadr_cfm)} cfm • ${fmt(cadr_m3h)} m³/h`;
out+=`\n\nAHAM area rule (smoke CADR):\n • ≥ ${fmt(aham_two_thirds)} cfm (2/3 room area)\n • Wildfire: ≈ ${fmt(aham_wildfire)} cfm (≈ room area)`;
O.textContent=out;}A.addEventListener('change',e=>{Cw.style.display=A.value==='custom'?'inline-block':'none';});B.addEventListener('click',recalc);u.addEventListener('change',()=>{[L,W,H].forEach(i=>i.value='');O.textContent='';});})();
</script>
ACH presets you can use (pick the one that fits your scenario)
-
2–3 ACH: basic comfort in typical living spaces.
-
4–5 ACH: common allergy target in homes; CDC/NIOSH suggests aiming for ≥5 total “clean air” ACH when feasible. CDC ventilation guide.
-
6 ACH: higher sensitivity (e.g., classrooms) and faster clearance; see contaminant removal times vs. ACH. CDC Appendix B table.
-
8–12 ACH: heavy allergens or wildfire smoke; aligns with elevated clean‑air targets used for faster turnover. Air Support Project summary of ASHRAE guidance.
These are targets for “clean air” (filtration+ventilation combined). If your HVAC already provides some clean air, size the portable purifier to close the gap.
Alternative: AHAM’s simple area method
-
General: Smoke CADR ≥ 2/3 × room area (ft²).
-
Wildfire smoke: Smoke CADR ≈ 1 × room area (ft²).
This is fast to apply and aligns with AHAM’s consumer guidance and certification program. AHAM Verifide, AHAM directory, AHAM consumer blog.
Example
A 12 ft × 10 ft bedroom with 8 ft ceilings:
-
Volume = 960 ft³; area = 120 ft².
-
Target 5 ACH → CADR = (960 × 5) ÷ 60 = 80 cfm (≈ 136 m³/h).
-
AHAM 2/3 rule → Smoke CADR ≥ 80 cfm; wildfire scenario → ≈ 120 cfm.
Both methods agree on ≈80 cfm for a general case; up‑size for higher ceilings, leakage, or to meet wildfire targets.
What the three CADR numbers mean when shopping
Air purifiers list CADR for: smoke (finest particles; good proxy for wildfire/combustion), dust (0.5–3 μm), and pollen (larger particles). Pick the CADR most relevant to your trigger: smoke for wildfire/cooking smoke, pollen for seasonal allergens, dust for household dust and dander. AHAM standard.
Tip: A DIY Corsi–Rosenthal box (box fan + MERV‑13 filters) can achieve ~600–850 cfm CADR at higher speeds—use the same calculator to check how many you need. UC Davis study summary, Guardian overview.
3‑line embed code (drop‑in)
Paste this anywhere you want the mini‑calculator. It renders a compact version and computes CADR (cfm and m³/h) from Length×Width×Height and a drop‑down of ACH presets.
<div data-cadr-widget></div>
<script>(e=>{function h(t){return document.querySelector(t)}function f(n){return Math.round(n*10)/10}function r(v,a){return `${f(v*a/60)} cfm • ${f(v*a/60*1.699)} m³/h`}let d=h('[data-cadr-widget]');d.innerHTML=`<style>[data-cadr-widget]{font:14px system-ui} [data-cadr-widget] input,[data-cadr-widget] select{margin:2px} [data-cadr-widget].row{display:flex;gap:6px;flex-wrap:wrap}</style><div class=row><label>L<input id=l type=number step=0.01 placeholder=12></label><label>W<input id=w type=number step=0.01 placeholder=10></label><label>H<input id=h type=number step=0.01 placeholder=8></label><label>ACH<select id=a><option>2</option><option>4</option><option selected>5</option><option>6</option><option>8</option><option>12</option></select></label><button id=go>Calc</button></div><pre id=o style="background:#f6f9fc;padding:8px"></pre>`;h('#go').onclick=()=>{let L=+h('#l').value||0,W=+h('#w').value||0,Ht=+h('#h').value||0,A=+h('#a').value||0,V=L*W*Ht;if(V&&A){h('#o').textContent=`Vol: ${f(V)} ft³\nCADR: ${r(V,A)}`}else{h('#o').textContent='Enter L,W,H,ACH'}}})(document);</script>
<style>[data-cadr-widget]{border:1px solid #e5e7eb;border-radius:10px;padding:10px;display:inline-block}</style>
Practical selection tips for allergy sufferers
-
Prefer HEPA (or better) particle filtration and verify CADR sizing with the calculator. HEPA units reduce airborne pollen and dust; for wildfire smoke choose models with higher smoke CADR. AHAM guidance.
-
Air cleaning complements—but does not replace—medical care. For long‑term allergy control, immunotherapy retrains the immune system while filtration reduces exposure. See Wyndly’s physician‑led overview of sublingual immunotherapy and natural measures like HEPA filters. Wyndly SLIT guide, Wyndly natural remedies & HEPA.
References
-
AHAM Verifide: CADR standard and the 2/3 room‑area rule; wildfire recommendation ≈ room area. Overview, Directory, Consumer tips.
-
ASHRAE filtration/disinfection: CADR–ACH relationship and clean‑air concepts. ASHRAE filtration & disinfection.
-
CDC/NIOSH ventilation target: aim for ≥5 clean‑air ACH when feasible. CDC ventilation guide. Clearance time vs ACH. CDC Appendix B.
-
DIY high‑CADR option: Corsi–Rosenthal box results. UC Davis/summary, Consumer overview.
Last updated: November 9, 2025