Macro (Macronutrient) Calculator

Calculate your daily protein, carbohydrate and fat targets in grams. Your total calorie need is estimated the same way as our Calorie/TDEE calculator, then split into macronutrients based on the diet style you pick.

yrs
cm
kg
Daily calories
2,633 kcal
Protein
197 g
Carbs
263 g
Fat
88 g

How it works

Total daily calories come from the Mifflin-St Jeor equation scaled by activity level. Each macronutrient style allocates a percentage of those calories to protein, carbs and fat. Protein and carbs each provide 4 kcal per gram; fat provides 9 kcal per gram - so grams are calculated by dividing each macro's calorie share by its per-gram energy value.

Formula
Protein (g) = (calories x protein%) / 4 | Carbs (g) = (calories x carb%) / 4 | Fat (g) = (calories x fat%) / 9

Example. At 2,633 daily calories on a Balanced split: about 197g protein, 263g carbs and 88g fat.

Frequently asked questions

Which diet style should I pick?

Balanced suits most general fitness goals. High-protein helps preserve muscle during a calorie deficit. Low-carb and Keto are more restrictive approaches some people use for specific goals or preferences - none is objectively "best" for everyone.

Why does fat use 9 calories per gram instead of 4?

Fat is more energy-dense than protein or carbohydrate - each gram of fat provides about 9 kcal, more than double the 4 kcal per gram that protein and carbs provide.

Related calculators

Embed this calculator

Free to use on any site. Please keep the credit link.

<iframe
  id="letmecalc-macro-calculator"
  src="https://letmecalc.com/embed/health/macro-calculator"
  title="Macro Calculator"
  width="100%"
  height="620"
  style="border:0;max-width:100%"
  loading="lazy"
></iframe>
<p><a href="https://letmecalc.com/health/macro-calculator" target="_blank" rel="noopener">Macro Calculator</a> by letmecalc</p>
<script>
(function () {
  var f = document.getElementById("letmecalc-macro-calculator");
  window.addEventListener("message", function (e) {
    if (e.origin !== "https://letmecalc.com") return;
    if (!f || e.source !== f.contentWindow) return;
    var d = e.data;
    if (!d || d.source !== "letmecalc-embed" || d.type !== "resize") return;
    if (typeof d.height === "number" && d.height > 0) {
      f.style.height = d.height + "px";
    }
  });
})();
</script>