Health⏱ 5 min read
How to Calculate a Macro Split for Any Diet Goal
Keto, low-carb, high-protein, balanced -- each diet has a different macro ratio. Here is how to translate percentage splits into grams, and which ratios are evidence-supported for specific goals.
A macro split expresses how much of your daily calories comes from protein, carbohydrates, and fat. Getting the ratio right for your goal matters more than hitting any single macro in isolation.
The Three Macros and Their Calorie Density
Protein: 4 kcal per gram
Carbohydrate: 4 kcal per gram
Fat: 9 kcal per gram
(Alcohol: 7 kcal per gram -- tracked separately)
Converting percentage to grams:
Grams = (% x Total daily calories) / Calories per gram
Example: 2,000 kcal/day, 30% protein
Protein grams = (0.30 x 2,000) / 4 = 600 / 4 = 150g protein
Common Macro Splits by Goal
GoalProteinCarbsFat
General health (balanced)20-25%45-55%25-35%
Fat loss (muscle-sparing)30-40%20-35%25-35%
Muscle gain (bulk)25-30%40-50%20-30%
Endurance performance15-20%55-65%20-25%
Low-carb (moderate)30%20%50%
Ketogenic (strict)20-25%5-10%65-75%
Converting a Split to Gram Targets
Person: 1,800 kcal/day target, fat-loss goal
Macro split: 35% protein / 30% carbs / 35% fat
Protein: (0.35 x 1,800) / 4 = 630 / 4 = 157.5g -- round to 158g
Carbs: (0.30 x 1,800) / 4 = 540 / 4 = 135g
Fat: (0.35 x 1,800) / 9 = 630 / 9 = 70g
Check: (158 x 4) + (135 x 4) + (70 x 9)
= 632 + 540 + 630 = 1,802 kcal (rounding difference -- fine)
Practical targets for tracking apps:
Protein: 158g | Carbs: 135g | Fat: 70g | Calories: 1,800
Why Protein Should Be Set First (in Grams, Not Percentage)
Protein need scales with body weight, not calories.
Setting protein as a percentage causes problems when calories change.
At 2,000 kcal, 25% protein = 125g protein
At 1,500 kcal, 25% protein = 93.75g protein
But protein need doesn't decrease just because you're eating less.
Better approach:
1. Set protein in grams: 1.6-2.2g per kg body weight
2. Set fat minimum: 0.8-1.0g per kg body weight
3. Fill remaining calories with carbohydrates (or more fat)
For 75kg person at 1,800 kcal:
Protein (2.0g/kg): 150g = 600 kcal
Fat (0.9g/kg): 67.5g = 607.5 kcal
Remaining for carbs: 1,800 - 600 - 607.5 = 592.5 kcal = 148g carbs