FitCalc

Macro Calculator

Protein, carbohydrate and fat targets in grams from a daily calorie target and a chosen split.

Quick answer: Macros split a calorie target into grams: protein and carbohydrate have 4 kcal per gram, fat has 9. On 2,200 kcal with a 30/40/30 split you get 165 g protein, 220 g carbs and 73 g fat.

kcal

Use the TDEE calculator first if you do not have a calorie target.

kg
Protein
165 g
Carbs
220 g
Fat
73 g
Split: Balanced (30/40/30)2,200 kcal
Protein (30%, 660 kcal)165 g
Carbs (40%, 880 kcal)220 g
Fat (30%, 660 kcal)73 g
Protein per kg body weight2.3 g/kg
GoalProteinCarbsFat
lose144 g276 g58 g
maintain115 g297 g61 g
gain130 g291 g58 g
Recomp137 g284 g58 g

Macro targets convert a calorie target into grams of protein, carbohydrate and fat. Protein and fat have established minimum intakes; carbohydrate is the flexible remainder. These are general guidelines — individual needs vary with training, health conditions and medication, so treat this as a starting point and adjust from real results.

Core facts
Calories per gramProtein 4, carbs 4, fat 9
Common split30% P / 40% C / 30% F
OutputGrams per macro, per meal
PresetsBalanced, low carb, keto, high protein

What is Macro Calculator?

Macronutrients are the three energy-providing nutrients: protein, carbohydrate and fat. Counting macros is simply choosing how your daily calories are divided between them, instead of only tracking the total. The reason people do it is that the split affects body composition and satiety — protein preserves muscle in a deficit and keeps you full; carbohydrate fuels training; fat supports hormones and absorption of fat-soluble vitamins. This calculator converts a calorie target into grams using a chosen percentage split, and shows how each macro would look distributed across meals. It also lists grams per kilogram of body weight, which is the more useful check for protein in particular.

Common Uses for Macro Calculator

  • Turn a calorie target into daily gram targets
  • Compare popular macro splits before choosing one
  • Set a protein floor for muscle retention
  • Plan meals with consistent macro proportions
  • Adjust a diet that is working on calories but not on results

Protein first, then fill the rest

Protein has the strongest evidence behind it for body composition: it preserves muscle in a deficit and supports growth in a surplus. Set protein from body weight (1.6–2.2 g/kg), set fat as a minimum for hormonal health (roughly 0.6–1 g/kg), and let carbohydrate take the remaining calories, which conveniently fuels training.

Per-meal distribution

Muscle protein synthesis responds better to protein spread across the day than to one large serving. Three to five servings of 0.3–0.4 g/kg each is a practical approach — for a 75 kg person, roughly 25–30 g per meal.

Macros and food labels

Food labels let you check any meal against your targets. The classic check is protein per 100 kcal: foods above 10 g per 100 kcal are protein-dense, below 5 g are protein-poor. That single ratio makes label reading fast.

Frequently Asked Questions

How do I calculate macros?
Decide your daily calories, choose a percentage split, then divide each macro's calories by its energy density: protein and carbs 4 kcal/g, fat 9 kcal/g. A 30% protein share of 2,200 kcal is 660 kcal ÷ 4 = 165 g.
What is the best macro split?
There is no single best split; adherence matters more than the exact ratio. A common starting point is 30% protein, 40% carbohydrate, 30% fat. Higher protein (35–40%) helps in a deficit; higher carb suits endurance training.
Do I have to hit macros exactly?
No. Prioritise protein — hitting it matters most — then keep calories within about 100 kcal of target. Carb and fat can trade off within the calorie budget without changing results much.
How much protein per kg do I need?
For general health 1.2–1.6 g/kg; for building muscle 1.6–2.2 g/kg; during a fat-loss diet 1.6–2.4 g/kg to protect muscle. The calculator shows grams per kilogram alongside the percentages.

More Macro & Nutrition Calculators

More Health & Fitness Tools