Dietary Reference Intake (DRI) Calculator
ANA›Life Services Authority›National Calculator Authority›Dietary Reference Intake (DRI) 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; } }
Dietary Reference Intake (DRI) Calculator
Calculate your personalized Dietary Reference Intakes (DRI) for key macronutrients and micronutrients based on your age, sex, weight, height, and activity level, using Institute of Medicine (IOM) / National Academies guidelines.
Age (years)
Biological Sex
Male Female
Life Stage
Normal / Non-pregnant Pregnant Lactating
Weight (kg)
Height (cm)
Physical Activity Level (PAL)
Sedentary (little or no exercise) Lightly Active (1–3 days/week) Moderately Active (3–5 days/week) Very Active (6–7 days/week) Extra Active (hard exercise, physical job)
Calculate DRI
function dieCalc() { var age = parseFloat(document.getElementById('die-age').value); var sex = document.getElementById('die-sex').value; var lifeStage = document.getElementById('die-life-stage').value; var weight = parseFloat(document.getElementById('die-weight').value); var height = parseFloat(document.getElementById('die-height').value); var pal = parseFloat(document.getElementById('die-activity').value); var resultDiv = document.getElementById('die-result');
// --- Validation --- if (isNaN(age) || age 100) { resultDiv.innerHTML = 'Please enter a valid age between 1 and 100.'; return; } if (isNaN(weight) || weight 300) { resultDiv.innerHTML = 'Please enter a valid weight between 1 and 300 kg.'; return; } if (isNaN(height) || height 250) { resultDiv.innerHTML = 'Please enter a valid height between 50 and 250 cm.'; return; } if (sex === 'male' && (lifeStage === 'pregnant' || lifeStage === 'lactating')) { resultDiv.innerHTML = 'Pregnant/Lactating life stage is only applicable to females.'; return; } if (age Pregnant/Lactating life stage requires age ≥ 14.'; return; }
// --- BMR via Mifflin-St Jeor --- var bmr; if (sex === 'male') { bmr = 10 * weight + 6.25 * height - 5 * age + 5; } else { bmr = 10 * weight + 6.25 * height - 5 * age - 161; } var tdee = bmr * pal;
// Pregnancy / lactation energy additions (IOM) if (lifeStage === 'pregnant') tdee += 340; // 2nd trimester average if (lifeStage === 'lactating') tdee += 500;
// --- Macronutrients (IOM AMDR & RDA) --- // Protein RDA: 0.8 g/kg body weight (adults); adjustments for pregnancy/lactation var proteinRDA = 0.8 * weight; if (lifeStage === 'pregnant') proteinRDA = 1.1 * weight; if (lifeStage === 'lactating') proteinRDA = 1.3 * weight;
// Carbohydrate RDA: 130 g/day (adults); 175 g pregnant; 210 g lactating var carbRDA = 130; if (lifeStage === 'pregnant') carbRDA = 175; if (lifeStage === 'lactating') carbRDA = 210;
// Fat: no RDA, AMDR 20–35% of TDEE var fatMin = (0.20 * tdee) / 9; var fatMax = (0.35 * tdee) / 9;
// Fiber AI (g/day) — IOM: 14 g per 1000 kcal var fiberAI = Math.round(14 * tdee / 1000);
// --- Micronutrients (IOM RDA/AI by age/sex group) --- // Helper: get age-sex group index // Groups: 1-3, 4-8, 9-13, 14-18, 19-30, 31-50, 51-70, 71+ function getGroup(a) { if (a = 51) ? 2000 : 2500; var ulIron = 45; var ulVitD = 4000; var ulVitC = 2000; var ulFolate = (age '; html += '' + 'Nutrient' + 'RDA / AI' + 'UL' + 'Unit' + '';
function row(name, rda, ul, unit, note) { var ulStr = ul !== null ? ul : '—'; var noteStr = note ? ' (' + note + ')' : ''; return '' + '' + name + noteStr + '' + '' + rda + '' + '' + ulStr + '' + '' + unit + '' + ''; }
html += '⚡ Energy & Macronutrients'; html += row('Total Energy (TDEE)', Math.round(tdee), null, 'kcal/day', 'BMR × PAL'); html += row('Carbohydrates (RDA)', carbRDA, null, 'g/day', 'AMDR ' + carbMin + '–' + carbMax + ' g'); html += row('Protein (RDA)', proteinRDA.toFixed(1), null, 'g/day', 'AMDR ' + protMin + '–' + protMax + ' g'); html += row('Total Fat (AMDR)', fatMin.toFixed(0) + '–' + fatMax.toFixed(0), null, 'g/day', '20–35% kcal'); html += row('Dietary Fiber (AI)', fiberAI, null, 'g/day', '14 g/1000 kcal');
html += '🦴 Minerals'; html += row('Calcium', calcium, ulCalcium, 'mg/day'); html += row('Iron', iron, ulIron, 'mg/day'); html += row('Magnesium', magnesium, ulMagnesium, 'mg/day', 'UL = supplemental'); html += row('Zinc', zinc, ulZinc, 'mg/day'); html += row('Potassium (AI)', potassium, null, 'mg/day'); html += row('Sodium (AI)', sodium, ulSodium, 'mg/day');
html += '💊 Vitamins'; html += row('Vitamin D', vitD, ulVitD, 'IU/day'); html += row('Vitamin C', vitC, ulVitC, 'mg/day'); html += row('Folate (DFE)', folate, ulFolate, 'mcg/day'); html += row('Vitamin B12', b12, null, 'mcg/day');
html += ''; html += 'RDA = Recommended Dietary Allowance | AI = Adequate Intake | UL = Tolerable Upper Intake Level | AMDR = Acceptable Macronutrient Distribution Range. These are general population estimates; consult a registered dietitian for personalized advice.
';
resultDiv.innerHTML = html; }
#### Formulas Used
BMR (Mifflin-St Jeor): Male: BMR = 10×W + 6.25×H − 5×A + 5 Female: BMR = 10×W + 6.25×H − 5×A − 161 (W = weight kg, H = height cm, A = age years)
TDEE: TDEE = BMR × Physical Activity Level (PAL) Pregnancy adds +340 kcal/day (2nd trimester avg); Lactation adds +500 kcal/day.
Protein RDA: 0.8 g/kg/day (normal); 1.1 g/kg/day (pregnant); 1.3 g/kg/day (lactating)
Fiber AI: 14 g per 1,000 kcal of TDEE
AMDR: Carbohydrates 45–65%, Protein 10–35%, Fat 20–35% of total energy
#### Assumptions & References
- Macronutrient RDAs and AMDRs from Dietary Reference Intakes for Energy, Carbohydrate, Fiber, Fat, Fatty Acids, Cholesterol, Protein, and Amino Acids — National Academies (2005).
More Calculators
- Molarity Calculator
- Kinetic Energy Calculator
- DNA Base Pair Calculator
- Light-Year Distance Calculator
- Vulnerability Risk Score Calculator (CVSS-based)
- Penetration Testing Cost Estimator
Read Next
Study Time Planner Authority Network America › Life Services Authority › National Calculator Authority .calc-container { max-width: 640px;...