Half-Life Decay Calculator
ANA›Life Services Authority›National Calculator Authority›Half-Life Decay 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; } }
Half-Life Decay Calculator
Calculate the remaining quantity of a radioactive substance after a given time using the half-life decay formula.
Initial Quantity (N₀)
any unit (g, kg, mol, etc.)
Half-Life (t½)
time units
Elapsed Time (t)
same time units as t½
Solve For
Remaining Quantity (N) Initial Quantity (N₀) Elapsed Time (t) Half-Life (t½)
Calculate Results will appear here.
function halToggleInputs() { var solve = document.getElementById('hal-solve').value; var initialEl = document.getElementById('hal-initial'); var halflifeEl = document.getElementById('hal-halflife'); var timeEl = document.getElementById('hal-time');
// Add a "remaining quantity" input if solving for something other than N var remainingRow = document.getElementById('hal-remaining-row'); if (!remainingRow) { remainingRow = document.createElement('div'); remainingRow.className = 'calc-input-group'; remainingRow.id = 'hal-remaining-row'; remainingRow.innerHTML = 'Remaining Quantity (N)' + '' + 'same unit as N₀'; initialEl.parentElement.parentElement.insertBefore(remainingRow, document.querySelector('#hal-solve').parentElement); }
initialEl.parentElement.style.display = (solve === 'initial') ? 'none' : 'flex'; halflifeEl.parentElement.style.display = (solve === 'halflife') ? 'none' : 'flex'; timeEl.parentElement.style.display = (solve === 'time') ? 'none' : 'flex'; remainingRow.style.display = (solve === 'remaining') ? 'none' : 'flex'; }
function halCalc() { var solve = document.getElementById('hal-solve').value; var N0 = parseFloat(document.getElementById('hal-initial').value); var t_half = parseFloat(document.getElementById('hal-halflife').value); var t = parseFloat(document.getElementById('hal-time').value); var remainingEl = document.getElementById('hal-remaining'); var N = remainingEl ? parseFloat(remainingEl.value) : NaN; var resultEl = document.getElementById('hal-result');
var errors = [];
if (solve === 'remaining') { if (isNaN(N0) || N0 N0) errors.push('Remaining Quantity (N) cannot exceed Initial Quantity (N₀).'); } else if (solve === 'halflife') { if (isNaN(N0) || N0 N0) errors.push('Remaining Quantity (N) cannot exceed Initial Quantity (N₀).'); }
if (errors.length > 0) { resultEl.innerHTML = '⚠ ' + errors.join('⚠ ') + ''; return; }
var result, decayConst, numHalflives, percentRemaining, percentDecayed;
if (solve === 'remaining') { // N = N0 * (1/2)^(t / t½) = N0 * e^(-λt) numHalflives = t / t_half; result = N0 * Math.pow(0.5, numHalflives); decayConst = Math.LN2 / t_half; percentRemaining = (result / N0) * 100; percentDecayed = 100 - percentRemaining; resultEl.innerHTML = 'Remaining Quantity (N): ' + result.toExponential(6) + ' units' + 'Number of Half-Lives elapsed: ' + numHalflives.toFixed(4) + '' + 'Decay Constant (λ): ' + decayConst.toExponential(6) + ' per time unit' + 'Percent Remaining: ' + percentRemaining.toFixed(4) + '%' + 'Percent Decayed: ' + percentDecayed.toFixed(4) + '%';
} else if (solve === 'initial') { // N0 = N / (1/2)^(t / t½) numHalflives = t / t_half; result = N / Math.pow(0.5, numHalflives); decayConst = Math.LN2 / t_half; percentRemaining = (N / result) * 100; percentDecayed = 100 - percentRemaining; resultEl.innerHTML = 'Initial Quantity (N₀): ' + result.toExponential(6) + ' units' + 'Number of Half-Lives elapsed: ' + numHalflives.toFixed(4) + '' + 'Decay Constant (λ): ' + decayConst.toExponential(6) + ' per time unit' + 'Percent Remaining: ' + percentRemaining.toFixed(4) + '%' + 'Percent Decayed: ' + percentDecayed.toFixed(4) + '%';
} else if (solve === 'time') { // t = t½ * log2(N0 / N) = t½ * ln(N0/N) / ln(2) result = t_half * Math.log(N0 / N) / Math.LN2; numHalflives = result / t_half; decayConst = Math.LN2 / t_half; percentRemaining = (N / N0) * 100; percentDecayed = 100 - percentRemaining; resultEl.innerHTML = 'Elapsed Time (t): ' + result.toExponential(6) + ' time units' + 'Number of Half-Lives elapsed: ' + numHalflives.toFixed(4) + '' + 'Decay Constant (λ): ' + decayConst.toExponential(6) + ' per time unit' + 'Percent Remaining: ' + percentRemaining.toFixed(4) + '%' + 'Percent Decayed: ' + percentDecayed.toFixed(4) + '%';
} else if (solve === 'halflife') { // t½ = t * ln(2) / ln(N0 / N) result = t * Math.LN2 / Math.log(N0 / N); numHalflives = t / result; decayConst = Math.LN2 / result; percentRemaining = (N / N0) * 100; percentDecayed = 100 - percentRemaining; resultEl.innerHTML = 'Half-Life (t½): ' + result.toExponential(6) + ' time units' + 'Number of Half-Lives elapsed: ' + numHalflives.toFixed(4) + '' + 'Decay Constant (λ): ' + decayConst.toExponential(6) + ' per time unit' + 'Percent Remaining: ' + percentRemaining.toFixed(4) + '%' + 'Percent Decayed: ' + percentDecayed.toFixed(4) + '%'; } }
// Initialize display state halToggleInputs();
#### Formulas Used
Remaining Quantity: N = N₀ × (½)t / t½ = N₀ × e−λt
Initial Quantity: N₀ = N ÷ (½)t / t½
Elapsed Time: t = t½ × log₂(N₀ / N) = t½ × ln(N₀ / N) / ln(2)
Half-Life: t½ = t × ln(2) / ln(N₀ / N)
Decay Constant: λ = ln(2) / t½ ≈ 0.693147 / t½
Number of Half-Lives: n = t / t½
#### Assumptions & References
More Calculators
- Carpet Area Measurement Calculator
- Ascendant (Rising Sign) Calculator
- Cleaning Solution Dilution Ratio Calculator
- Asset Liquidation Value Estimator
- Carpet Drying Time Estimator
- Roof Pitch and Shingle Material Calculator
- Cybersecurity Insurance Premium Estimator
- VPN Encryption Overhead Calculator
- Mobile App Permission Risk Scorer
- Mobile Device Management (MDM) Cost Estimator
- Security Incident Response Time Estimator
Read Next
Mobile App Permission Risk Scorer ANA › Life Services Authority › National Calculator Authority › Mobile App Permission Risk Scorer .calc-container { max-width:...
Study Time Planner Authority Network America › Life Services Authority › National Calculator Authority .calc-container { max-width: 640px;...