Macronutrient Balance Calculator

ANALife Services AuthorityNational Calculator Authority›Macronutrient Balance 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; } }

Macronutrient Balance Calculator

Calculate your ideal daily protein, carbohydrate, and fat intake based on your total daily energy expenditure (TDEE) and fitness goals.

Body Weight (kg)

Height (cm)

Age (years)

Biological Sex

Male Female

Activity Level

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 (physical job or 2x/day training)

Goal

Cut (Fat Loss, −500 kcal) Maintain (Maintenance) Bulk (Muscle Gain, +300 kcal)

Macro Split Preference

Balanced (30/40/30 P/C/F) High Protein (40/35/25 P/C/F) Low Carb (35/25/40 P/C/F) High Carb (25/50/25 P/C/F)

Calculate

function macCalc() { var weight = parseFloat(document.getElementById('mac-weight').value); var height = parseFloat(document.getElementById('mac-height').value); var age = parseFloat(document.getElementById('mac-age').value); var sex = document.getElementById('mac-sex').value; var activity = parseFloat(document.getElementById('mac-activity').value); var goal = document.getElementById('mac-goal').value; var split = document.getElementById('mac-split').value; var resultDiv = document.getElementById('mac-result');

// --- Input Validation --- if (isNaN(weight) || weight 300) { resultDiv.innerHTML = 'Please enter a valid weight between 30 and 300 kg.'; return; } if (isNaN(height) || height 250) { resultDiv.innerHTML = 'Please enter a valid height between 100 and 250 cm.'; return; } if (isNaN(age) || age 100) { resultDiv.innerHTML = 'Please enter a valid age between 15 and 100 years.'; return; }

// --- Step 1: 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; }

// --- Step 2: TDEE --- var tdee = bmr * activity;

// --- Step 3: Adjust for Goal --- var targetCalories; var goalLabel; if (goal === 'cut') { targetCalories = tdee - 500; goalLabel = 'Cut (Fat Loss)'; } else if (goal === 'bulk') { targetCalories = tdee + 300; goalLabel = 'Bulk (Muscle Gain)'; } else { targetCalories = tdee; goalLabel = 'Maintain'; } if (targetCalories ' + '' + 'Metric' + 'Value' + '' + '' + 'BMR' + bmr.toFixed(0) + ' kcal/day' + 'TDEE' + tdee.toFixed(0) + ' kcal/day' + 'Goal' + goalLabel + '' + 'Target Calories' + targetCalories.toFixed(0) + ' kcal/day' + 'Split' + splitLabel + '' + 'Protein' + proteinG.toFixed(1) + ' g  (' + proteinKcal.toFixed(0) + ' kcal)' + 'Carbohydrates' + carbG.toFixed(1) + ' g  (' + carbKcal.toFixed(0) + ' kcal)' + 'Fat' + fatG.toFixed(1) + ' g  (' + fatKcal.toFixed(0) + ' kcal)' + 'Protein per kg BW' + proteinPerKg.toFixed(2) + ' g/kg' + '' + '' + 'These are daily targets. Adjust based on hunger, performance, and weekly weight trends.

'; }

#### Formulas Used

1. Basal Metabolic Rate (Mifflin-St Jeor): Male: BMR = 10 × weight(kg) + 6.25 × height(cm) − 5 × age + 5 Female: BMR = 10 × weight(kg) + 6.25 × height(cm) − 5 × age − 161

2. Total Daily Energy Expenditure (TDEE): TDEE = BMR × Activity Multiplier

3. Target Calories by Goal: Cut: TDEE − 500 kcal  |  Maintain: TDEE  |  Bulk: TDEE + 300 kcal

4. Macronutrient Grams: Protein (g) = (Target kcal × P%) ÷ 4  |  Carbs (g) = (Target kcal × C%) ÷ 4  |  Fat (g) = (Target kcal × F%) ÷ 9

#### Assumptions & References

More Calculators

Read Next

Study Time Planner Authority Network America › Life Services Authority › National Calculator Authority .calc-container { max-width: 640px;...

References