Health & wellbeing

Macro split calculator

Turn a calorie target and percentage split into grams of protein, carbohydrate and fat.

Macro split calculator
Esc to restore

Your inputs

Arithmetic on the split you choose. It is not dietary advice and does not check whether a split suits you.

Results update as you type. Larger files run when you press Update result.

Your result

Your result will appear here.

More actions

Your inputs stay in this browser. Nothing is uploaded, and nothing is saved unless you choose “Save result”.

A clear answer. Here’s how.

Each macronutrient’s calories are its percentage of the energy target. Grams follow from the Atwater general energy factors: 4 kcal per gram of protein and of carbohydrate and 9 kcal per gram of fat. The three percentages must add up to 100. Per-meal figures divide the daily grams equally. Alcohol, fibre and the finer Atwater specific factors are not modelled, so food labels can differ slightly.

How this is checked

2 reference checks passed These 2 cases were run when this page was built, on 20 October 2026, and all reproduce within the stated tolerance. The same cases are part of the automated tests that run on every change to Toolmoz. Engine version 1.

See the checks and where each expected answer comes from
  1. Case 1

    Inputs
    Daily energy target (kcal) 2000Protein (% of calories) 30Carbohydrate (% of calories) 40Fat (% of calories) 30Meals per day 3
    Expected, and what Toolmoz gave
    Protein (g) expected 150, Toolmoz 150Carbohydrate (g) expected 200, Toolmoz 200Fat (g) expected 66.6667, Toolmoz 66.66666666666667Protein per meal (g) expected 50, Toolmoz 50
    Where the expected answer comes from
    2000 × 0.30 ÷ 4 = 150 g, 2000 × 0.40 ÷ 4 = 200 g, 2000 × 0.30 ÷ 9 = 66.667 g (hand calculation)
    Allowed difference
    ±0.001
  2. Case 2

    Inputs
    Daily energy target (kcal) 2500Protein (% of calories) 25Carbohydrate (% of calories) 50Fat (% of calories) 25Meals per day 5
    Expected, and what Toolmoz gave
    Protein (g) expected 156.25, Toolmoz 156.25Carbohydrate (g) expected 312.5, Toolmoz 312.5Fat (g) expected 69.4444, Toolmoz 69.44444444444444Carbohydrate per meal (g) expected 62.5, Toolmoz 62.5
    Where the expected answer comes from
    2500 × 0.25 ÷ 4 = 156.25, 2500 × 0.50 ÷ 4 = 312.5, 2500 × 0.25 ÷ 9 = 69.444 and 312.5 ÷ 5 = 62.5 (hand calculation)
    Allowed difference
    ±0.001

What this shows: the engine reproduces independently worked values for these cases. It does not prove every possible input is right. To test an answer you were given, see how to check a number; to see what is and is not checked across Toolmoz, see the accuracy ledger.

See a worked example

Worked example

A fixed demonstration, separate from the values you enter above.

Daily energy target (kcal)
2000
Protein (% of calories)
30
Carbohydrate (% of calories)
40
Fat (% of calories)
30
Meals per day
3

Example result

Protein (g)
150.0
Carbohydrate (g)
200.0
Fat (g)
66.7
Protein calories (kcal)
600
Carbohydrate calories (kcal)
800
Fat calories (kcal)
600
Protein per meal (g)
50.0
Carbohydrate per meal (g)
66.7
Fat per meal (g)
22.2

Uses the Atwater general factors: 4 kcal per gram of protein and carbohydrate, 9 kcal per gram of fat. Alcohol (7 kcal per gram) and fibre adjustments are not included, so food labels can differ slightly. Not dietary advice.