Skip to content
CalculatorGeek

Macro Calculator

Updated Oct 2026
Enter a separately selected or estimated daily calorie target.
Adult AMDR context is 45% to 65% of energy.
Adult AMDR context is 10% to 35% of energy.
Adult AMDR context is 20% to 35% of energy.
Used only for an even per-meal arithmetic split.

Guest calculations stay on this device. Signed-in results sync privately.

Your result

Daily macronutrient plan

Enter your values, then calculate to see a verified result.

Inputs usedReview the information used for this result.
Full calculation and sourcesReview the equation, normalized inputs, assumptions, and version.

Versioned calculationFormula v1.0.0

Formula definitionUnit-normalized calculationFormula v1.0.0

What is calculated

Daily grams and per-meal grams for carbohydrate, protein, and fat from a calorie target and a complete percentage split.

Method

The entered percentages must total approximately 100%; calories are converted at 4 kcal/g carbohydrate, 4 kcal/g protein, and 9 kcal/g fat.

Important boundary

A mathematically complete split is not automatically nutritionally appropriate. The calculator does not assign a diagnosis-specific or sport-specific plan.

Result actions
1
Set total energyEnter the daily calorie target chosen elsewhere.2,000 kcal/day
2
Complete the splitEnter carbohydrate, protein, and fat percentages totaling about 100%.45 + 25 + 30 = 100
3
Convert and distributeApply 4/4/9 and optionally divide evenly by meals.Fat grams use 9 kcal/g.

Interpretation

g/day is the carbohydrate portion of the entered full macro split.

The percentage total verifies that all planned calories were allocated.

AMDR context is population guidance, not a personalized clinical plan.

Use this result

Method and test recordFormula v1.0.0
Recorded scope
health-nutrition-foundations
Publisher
CalculatorGeek
Recorded review date
2026-10-04
Next source review
2027-10-04
Definition fixtures
3 configured scenarios
Published examples
3 shown below

Recorded method

Independently test percentage totals, 4/4/9 conversion, meal division, boundary tolerance, and invalid allocations.

These records describe the published model and reference tests. A test-case count is not a certification of every possible input or an independent specialist review. Editorial policy

Known limitations

  • AMDRs are broad population reference ranges, not individualized targets.
  • Alcohol, fiber fermentation, sugar alcohols, and label rounding can make food-label energy totals differ from simple 4/4/9 arithmetic.
  • An even per-meal split is optional math, not a timing recommendation.
  • Clinical conditions, pregnancy, growth, allergies, and sport demands may require a different plan.

Method sources

Latest model update

2026-10-04 - Initial CalculatorGeek shared-system nutrition implementation with source-backed method, fixtures, content, and result journey.

Reference inputs and expected results

Up to 12 examples from the configured definition fixtures are shown. Expected values use the stated output units; invalid inputs are intended to be rejected.

CaseInputsExpected result
balanced referenceDaily calorie target: 2000 kcal; Carbohydrate share: 45 percent; Protein share: 25 percent; Fat share: 30 percent; Planned meals or eating occasions: 4 countEntered percentage total: 100 %; Daily carbohydrate: 225 g/day; Daily protein: 125 g/day; Daily fat: 66.6666667 g/day; Carbohydrate per eating occasion: 56.25 g (allowed numeric tolerance: 0.0001)
AMDR upper carbohydrate boundaryDaily calorie target: 1000 kcal; Carbohydrate share: 65 percent; Protein share: 10 percent; Fat share: 25 percent; Planned meals or eating occasions: 1 countDaily carbohydrate: 162.5 g/day; Daily protein: 25 g/day; Daily fat: 27.7777778 g/day (allowed numeric tolerance: 0.0001)
invalid low percentage totalDaily calorie target: 2000 kcal; Carbohydrate share: 40 percent; Protein share: 20 percent; Fat share: 30 percent; Planned meals or eating occasions: 4 countReject invalid input: carbohydrate_percent

Report an issue with this tool. Include the page URL, units, expected answer, and steps to reproduce. Do not include sensitive personal information.

On this page

What the Macro Calculator answers

Convert a complete calorie-percentage plan into daily and per-meal grams of carbohydrate, protein, and fat.

The calculator validates the full percentage total and does not hide an arbitrary “balanced,” “low-carb,” or “muscle-gain” preset behind the result.

How to use the Macro Calculator

  1. Enter the daily calorie target.
  2. Enter the percentage of energy assigned to each macronutrient.
  3. Confirm the total is approximately 100%.
  4. Choose the number of eating occasions only if an even arithmetic split is useful.

Formula, variables and calculation order

macro calories = total calories × macro% / 100.

carbohydrate grams = carbohydrate calories / 4; protein grams = protein calories / 4; fat grams = fat calories / 9.

Adult AMDR context is carbohydrate 45–65%, protein 10–35%, and fat 20–35% of energy.

Worked examples and boundary checks

2,000 kcal at 45/25/30

Carbohydrate is 900 kcal or 225 g; protein is 500 kcal or 125 g; fat is 600 kcal or 66.7 g. Across four eating occasions, the even arithmetic split is 56.3 g, 31.3 g, and 16.7 g.

Boundary check

A split totaling 95% leaves calories unallocated, while 105% allocates more than the entered total; both are rejected.

How to interpret the result

Every gram result belongs to the entered calorie target and percentage split. The tool reports planning arithmetic, not the best diet for a condition or goal.

  • AMDRs are broad population reference ranges, not individualized targets.
  • Alcohol, fiber fermentation, sugar alcohols, and label rounding can make food-label energy totals differ from simple 4/4/9 arithmetic.
  • An even per-meal split is optional math, not a timing recommendation.
  • Clinical conditions, pregnancy, growth, allergies, and sport demands may require a different plan.

Inputs, outputs and result meaning

Validates a custom full split, reports calorie and gram arithmetic, shows AMDR context, and avoids unsupported goal presets.

Inputs

Daily calorie target
Enter a separately selected or estimated daily calorie target.
Carbohydrate share
Adult AMDR context is 45% to 65% of energy.
Protein share
Adult AMDR context is 10% to 35% of energy.
Fat share
Adult AMDR context is 20% to 35% of energy.
Planned meals or eating occasions
Used only for an even per-meal arithmetic split.

Outputs

Daily carbohydrate
Reported in g/day as the primary result.
Daily protein
Reported in g/day.
Daily fat
Reported in g/day.
Entered percentage total
Reported in %.
Carbohydrate per eating occasion
Reported in g.
Protein per eating occasion
Reported in g.
Fat per eating occasion
Reported in g.

Keep the result, selected inputs, unit labels, and stated limitations together when saving or sharing the calculation.

Frequently asked questions

Do macro percentages have to total 100?

Yes. This calculator accepts a small rounding tolerance but otherwise rejects incomplete or over-allocated plans.

Why are fat grams lower?

Fat provides about 9 kcal/g, while carbohydrate and protein use about 4 kcal/g in this planning method.

Is 40/30/30 automatically balanced?

No. That is one possible split, not a universal standard. Enter and evaluate the assumptions that fit the actual context.

Does fiber count inside carbohydrate?

Nutrition labels include dietary fiber within total carbohydrate in the United States; food-label energy may not match simple 4 kcal/g arithmetic exactly.

Is the per-meal output a recommendation?

No. It is an even division for planning convenience.

Primary sources and evidence limits

Sources were checked 2026-10-04. They support the named equation, reference range, label arithmetic, or evidence boundary; they do not convert an estimate into individualized medical nutrition advice.

From the guide library

Latest Health articles

View all articles

Health

What Is a Calorie Deficit?

Learn what a calorie deficit means, how it differs from energy balance, how to calculate it, and why short-term scale change is not pure…