Indoor Humidity & Mold Risk Calculator
ANA›Life Services Authority›National Calculator Authority›Indoor Humidity & Mold Risk 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; } }
Indoor Humidity & Mold Risk Calculator
Assess your indoor relative humidity, estimate dew point, and evaluate mold growth risk based on temperature and humidity conditions.
Indoor Temperature
°F °C
Relative Humidity (%)
Surface / Wall Temperature (optional)
°F °C
Leave blank to skip surface condensation check
Calculate
function indCalc() { // Clear errors ['ind-temp-err','ind-rh-err','ind-surface-err'].forEach(function(id){ document.getElementById(id).textContent = ''; }); document.getElementById('ind-result').style.display = 'none';
var tempRaw = parseFloat(document.getElementById('ind-temp').value); var tempUnit = document.getElementById('ind-temp-unit').value; var rh = parseFloat(document.getElementById('ind-rh').value); var surfaceRaw = document.getElementById('ind-surface-temp').value.trim(); var surfaceUnit = document.getElementById('ind-surface-unit').value;
var valid = true;
if (isNaN(tempRaw)) { document.getElementById('ind-temp-err').textContent = 'Please enter a valid indoor temperature.'; valid = false; } else { var tempC = (tempUnit === 'F') ? (tempRaw - 32) * 5/9 : tempRaw; if (tempC 60) { document.getElementById('ind-temp-err').textContent = 'Temperature must be between -10°C (14°F) and 60°C (140°F).'; valid = false; } }
if (isNaN(rh) || rh 100) { document.getElementById('ind-rh-err').textContent = 'Relative humidity must be between 1% and 100%.'; valid = false; }
var hasSurface = surfaceRaw !== ''; var surfaceC = null; if (hasSurface) { var surfaceVal = parseFloat(surfaceRaw); if (isNaN(surfaceVal)) { document.getElementById('ind-surface-err').textContent = 'Please enter a valid surface temperature or leave blank.'; valid = false; } else { surfaceC = (surfaceUnit === 'F') ? (surfaceVal - 32) * 5/9 : surfaceVal; if (surfaceC 60) { document.getElementById('ind-surface-err').textContent = 'Surface temperature must be between -20°C and 60°C.'; valid = false; } } }
if (!valid) return;
// Convert to Celsius var T = (tempUnit === 'F') ? (tempRaw - 32) * 5/9 : tempRaw;
// Magnus formula constants (Alduchov & Eskridge 1996) var a = 17.625; var b = 243.04; // °C
// Dew point using Magnus formula: // Td = b * [ln(RH/100) + aT/(b+T)] / [a - ln(RH/100) - aT/(b+T)] var gamma = Math.log(rh / 100) + (a * T) / (b + T); var dewPointC = (b * gamma) / (a - gamma); var dewPointF = dewPointC * 9/5 + 32;
// Absolute humidity (g/m³) // AH = (6.112 * exp(17.67*T/(T+243.5)) * RH * 2.1674) / (273.15 + T) var absHumidity = (6.112 * Math.exp((17.67 * T) / (T + 243.5)) * rh * 2.1674) / (273.15 + T);
// Saturation vapor pressure (hPa) using Magnus var es = 6.1078 * Math.exp((a * T) / (b + T)); // Actual vapor pressure var ea = es * rh / 100;
// Mold Risk Assessment // Based on ASHRAE 160 and building science research: // RH >= 80% at surface = high mold risk // RH 60-79% = moderate risk // RH = 20°C, increases slightly below var criticalRH; if (T >= 20) { criticalRH = 80; } else if (T >= 5) { criticalRH = 80 + (20 - T) * 0.5; // rises ~0.5% per degree below 20°C } else { criticalRH = 90; // mold growth very slow below 5°C }
if (condensationRisk) { moldRisk = 'Critical – Condensation Occurring'; riskColor = '#c0392b'; riskIcon = '🚨'; riskDetail = 'Surface temperature is at or below the dew point. Liquid water is condensing on surfaces, creating ideal conditions for mold growth within 24–48 hours.'; } else if (rh >= criticalRH || rh >= 80) { moldRisk = 'High Risk'; riskColor = '#e74c3c'; riskIcon = '⚠️'; riskDetail = 'Relative humidity exceeds the critical threshold for mold growth. Mold can begin colonizing within 24–48 hours under sustained conditions.'; } else if (rh >= 70) { moldRisk = 'Elevated Risk'; riskColor = '#e67e22'; riskIcon = '🔶'; riskDetail = 'Humidity is elevated. Prolonged exposure (days to weeks) can support mold growth, especially on organic materials like wood, drywall, and fabric.'; } else if (rh >= 60) { moldRisk = 'Moderate Risk'; riskColor = '#f39c12'; riskIcon = '🟡'; riskDetail = 'Humidity is above the recommended comfort range. While immediate mold growth is unlikely, sustained levels can gradually increase risk.'; } else if (rh >= 30) { moldRisk = 'Low Risk'; riskColor = '#27ae60'; riskIcon = '✅'; riskDetail = 'Humidity is within the ASHRAE-recommended comfort range of 30–60%. Mold growth risk is minimal under these conditions.'; } else { moldRisk = 'Very Low Risk (Too Dry)'; riskColor = '#2980b9'; riskIcon = '💧'; riskDetail = 'Humidity is below 30%. Mold risk is very low, but air may be uncomfortably dry, potentially causing respiratory irritation and static electricity.'; }
// Comfort assessment var comfort; if (rh Surface Temperature' + surfaceC.toFixed(1) + ' °C / ' + surfaceTempF.toFixed(1) + ' °F' + 'Surface Condensation' + (condensationRisk ? 'YES – Water condensing on surface' : 'No condensation') + ''; if (!condensationRisk && surfaceCondensationRH !== null) { surfaceRow += 'RH Needed for Surface Condensation' + surfaceCondensationRH.toFixed(1) + '%'; } }
var html = '### Results ' + '' + '' + riskIcon + ' Mold Risk: ' + moldRisk + '' + '' + riskDetail + '' + 'ParameterValue' + 'Indoor Temperature' + T.toFixed(1) + ' °C / ' + TF.toFixed(1) + ' °F' + 'Relative Humidity' + rh.toFixed(1) + '%' + 'Dew Point' + dewPointC.toFixed(1) + ' °C / ' + dewPointF.toFixed(1) + ' °F' + 'Absolute Humidity' + absHumidity.toFixed(2) + ' g/m³' + 'Actual Vapor Pressure' + ea.toFixed(2) + ' hPa' + 'Saturation Vapor Pressure' + es.toFixed(2) + ' hPa' + surfaceRow + 'Comfort Assessment' + comfort + '' + '' + '' + 'Recommendation: ' + (rh > 60 ? 'Use a dehumidifier, improve ventilation, or run air conditioning to reduce humidity below 60%.' : rh ';
var resultDiv = document.getElementById('ind-result'); resultDiv.innerHTML = html; resultDiv.style.display = 'block'; }
#### Formulas Used
Dew Point (Magnus Formula – Alduchov & Eskridge 1996):
γ(T, RH) = ln(RH/100) + (a·T)/(b+T)
Td = b·γ / (a − γ)
where a = 17.625, b = 243.04 °C, T in °C
Absolute Humidity:
AH = [6.112 · exp(17.67·T/(T+243.5)) · RH · 2.1674] / (273.15 + T) [g/m³]
Saturation Vapor Pressure:
es = 6.1078 · exp(a·T/(b+T)) [hPa]
Mold Risk Threshold:
Critical RH ≥ 80% at T ≥ 20°C (rises ~0.5%/°C below 20°C, per Viitanen model). Surface condensation occurs when Tsurface ≤ Tdew point.
#### Assumptions & References
More Calculators
- BATNA (Best Alternative to Negotiated Agreement) Value Estimator
- Stress Reduction Progress Estimator
- Lost Wages and Future Earnings Calculator
- EV Charging Cost Calculator
- Charging Time Calculator by Charger Level and Battery Size
- Target Heart Rate Zone Calculator
- Workout Recovery Time Calculator
- Body Fat Percentage Calculator
- Strength Training Volume & Load Calculator
- Anxiety & Stress Level Screener (GAD-7 Based)
Read Next
Anxiety Stress Level Screener Gad 7 Based ANA › Life Services Authority › National Calculator Authority › Anxiety & Stress Level Screener (GAD-7 Based) .calc-container...
Study Time Planner Authority Network America › Life Services Authority › National Calculator Authority .calc-container { max-width: 640px;...