{
  "id": "macro",
  "version": "82794d893b34",
  "status": "published",
  "name": "Macro Calculator",
  "question": "What should my macros be?",
  "summary": "Splits daily calories into grams of protein, carbohydrate and fat (4, 4 and 9 calories per gram) by the chosen percentages, and checks them against the adult AMDR ranges.",
  "category": "health",
  "subcategory": "nutrition",
  "url": "https://www.acalculator.org/health/macro-calculator",
  "markdown": "https://www.acalculator.org/health/macro-calculator.md",
  "kind": "function",
  "method": "Protein and carbs in grams = calories × share ÷ 4; fat in grams = calories × (100% − carbs − protein) ÷ 9. Calories are typed, or TDEE (BMR × activity factor) ± the goal.",
  "assumptions": [
    "Protein and carbohydrate give 4 calories per gram and fat gives 9 (Atwater factors).",
    "Fat gets whatever share carbs and protein leave.",
    "The ranges are the adult Acceptable Macronutrient Distribution Ranges (IOM 2005): protein 10–35%, carbs 45–65%, fat 20–35%.",
    "Worked-out calories use Mifflin-St Jeor or the revised Harris-Benedict, the activity factors 1.2 to 1.9, and 500 calories a day per pound a week.",
    "This is an estimate for planning, not medical advice."
  ],
  "inputs": {
    "$schema": "https://json-schema.org/draft/2020-12/schema",
    "type": "object",
    "properties": {
      "known": {
        "title": "Daily calories",
        "description": "Whether to work out your daily calories from your body and goal, or type them in.",
        "type": "string",
        "enum": [
          "body",
          "calories"
        ]
      },
      "calories": {
        "title": "Calories a day",
        "description": "The calories you plan to eat each day.",
        "type": "number",
        "minimum": 500,
        "maximum": 10000
      },
      "sex": {
        "title": "Sex",
        "description": "Sex at birth, which the body formulas use.",
        "type": "string",
        "enum": [
          "male",
          "female"
        ]
      },
      "age": {
        "title": "Age",
        "description": "Your age in whole years.",
        "type": "integer",
        "minimum": 18,
        "maximum": 100
      },
      "height": {
        "title": "Height",
        "description": "Your height without shoes.",
        "type": [
          "number",
          "string"
        ],
        "x-quantity": "length",
        "minimum": 0.9,
        "maximum": 3
      },
      "weight": {
        "title": "Weight",
        "description": "Your body weight.",
        "type": [
          "number",
          "string"
        ],
        "x-quantity": "mass",
        "minimum": 25,
        "maximum": 700
      },
      "activity": {
        "title": "Activity",
        "description": "How active you are in a usual week, which sets the multiplier on your BMR.",
        "type": "string",
        "enum": [
          "sedentary",
          "light",
          "moderate",
          "very",
          "extra"
        ]
      },
      "goal": {
        "title": "Goal",
        "description": "Keep, lose or gain weight, which adds to or takes from your daily calories.",
        "type": "string",
        "enum": [
          "maintain",
          "lose05",
          "lose1",
          "lose2",
          "gain05",
          "gain1"
        ]
      },
      "carbs": {
        "title": "Carbs",
        "description": "The share of calories from carbohydrate.",
        "type": "number",
        "x-unit": "percent",
        "minimum": 0,
        "maximum": 100
      },
      "protein": {
        "title": "Protein",
        "description": "The share of calories from protein.",
        "type": "number",
        "x-unit": "percent",
        "minimum": 0,
        "maximum": 100
      },
      "formula": {
        "title": "BMR formula",
        "description": "The equation for basal metabolic rate: Mifflin-St Jeor (1990) or the revised Harris-Benedict (1984).",
        "type": "string",
        "enum": [
          "mifflin",
          "harris"
        ]
      }
    }
  },
  "outputs": {
    "protein": {
      "label": "Protein a day",
      "description": "Grams of protein a day: calories × protein share ÷ 4.",
      "format": "quantity",
      "unit": "g"
    },
    "carbs": {
      "label": "Carbs a day",
      "description": "Grams of carbohydrate a day: calories × carb share ÷ 4.",
      "format": "quantity",
      "unit": "g"
    },
    "fat": {
      "label": "Fat a day",
      "description": "Grams of fat a day: calories × fat share ÷ 9.",
      "format": "quantity",
      "unit": "g"
    },
    "calories": {
      "label": "Calories a day",
      "description": "The daily calories the grams are worked out from.",
      "format": "number"
    },
    "fatShare": {
      "label": "Fat share",
      "description": "The share of calories from fat: 100% − carbs − protein.",
      "format": "percent"
    },
    "proteinKcal": {
      "label": "Calories from protein",
      "description": "Calories a day from protein.",
      "format": "number"
    },
    "carbsKcal": {
      "label": "Calories from carbs",
      "description": "Calories a day from carbohydrate.",
      "format": "number"
    },
    "fatKcal": {
      "label": "Calories from fat",
      "description": "Calories a day from fat.",
      "format": "number"
    },
    "ranges": {
      "label": "Against the adult ranges",
      "description": "Whether each share is inside the adult AMDR: protein 10–35%, carbs 45–65%, fat 20–35%.",
      "format": "text"
    },
    "limit": {
      "label": "Note",
      "description": "A warning when a loss goal, or typed calories, fall below the lowest intake the weight-loss guideline suggests.",
      "format": "text"
    }
  },
  "defaultAnswer": {
    "inputs": {
      "known": "body",
      "calories": 2000,
      "sex": "female",
      "age": 30,
      "height": 1.651,
      "weight": 68.0388555,
      "activity": "light",
      "goal": "maintain",
      "carbs": 50,
      "protein": 20,
      "formula": "mifflin"
    },
    "outputs": {
      "protein": 0.09633686940625,
      "carbs": 0.240842173515625,
      "fat": 0.06422457960416667,
      "calories": 1926.737388125,
      "fatShare": 30,
      "proteinKcal": 385.347477625,
      "carbsKcal": 963.3686940625,
      "fatKcal": 578.0212164375,
      "ranges": "All three are inside the adult ranges."
    },
    "text": "At 1,927 calories a day, eat about 96 g of protein, 241 g of carbs and 64 g of fat."
  },
  "examples": [
    {
      "given": {
        "known": "body",
        "sex": "female",
        "age": 30,
        "height": 1.651,
        "weight": 68.0388555,
        "activity": "light",
        "goal": "maintain",
        "carbs": 50,
        "protein": 20,
        "formula": "mifflin"
      },
      "expect": {
        "calories": 1926.737388125,
        "protein": 0.09633686940625,
        "carbs": 0.240842173515625,
        "fat": 0.06422457960416667,
        "fatShare": 30,
        "ranges": "All three are inside the adult ranges."
      },
      "source": "Mifflin et al. 1990; 4, 4 and 9 calories per gram (USDA); hand calculation in content.mdx"
    },
    {
      "given": {
        "known": "calories",
        "calories": 2400,
        "carbs": 45,
        "protein": 30
      },
      "expect": {
        "protein": 0.18,
        "carbs": 0.27,
        "fat": 0.06666666666666667,
        "fatShare": 25,
        "fatKcal": 600
      },
      "source": "4, 4 and 9 calories per gram (USDA); hand calculation in content.mdx"
    },
    {
      "given": {
        "known": "calories",
        "calories": 1800,
        "carbs": 20,
        "protein": 35
      },
      "expect": {
        "protein": 0.1575,
        "carbs": 0.09,
        "fat": 0.09,
        "fatShare": 45,
        "ranges": "Carbs 20% is under the 45% to 65% range. Fat 45% is over the 20% to 35% range."
      },
      "source": "IOM 2005 AMDR (carbs 45–65%, fat 20–35%); hand calculation in content.mdx"
    },
    {
      "given": {
        "known": "body",
        "sex": "male",
        "age": 35,
        "height": 1.778,
        "weight": 81.6466266,
        "activity": "moderate",
        "goal": "lose1",
        "carbs": 40,
        "protein": 30,
        "formula": "mifflin"
      },
      "expect": {
        "calories": 2224.4602123,
        "protein": 0.1668345159225,
        "carbs": 0.22244602123,
        "fat": 0.07414867374333334
      },
      "source": "Mifflin et al. 1990; 500 calories a day for 1 lb a week; hand calculation in content.mdx"
    }
  ],
  "sources": [
    "Institute of Medicine. Dietary Reference Intakes for Energy, Carbohydrate, Fiber, Fat, Fatty Acids, Cholesterol, Protein, and Amino Acids. Washington, DC: The National Academies Press; 2005 (Acceptable Macronutrient Distribution Ranges). https://www.nationalacademies.org/publications/10490",
    "U.S. Department of Agriculture and U.S. Department of Health and Human Services. Dietary Guidelines for Americans, 2020-2025, Appendix 1 (macronutrient ranges for adults). https://www.dietaryguidelines.gov/sites/default/files/2021-03/Dietary_Guidelines_for_Americans-2020-2025.pdf",
    "U.S. Code of Federal Regulations, 21 CFR 101.9(c)(1)(i)(C): general factors of 4, 4 and 9 calories per gram for protein, total carbohydrate and total fat. https://www.ecfr.gov/current/title-21/chapter-I/subchapter-B/part-101/subpart-A/section-101.9",
    "Mifflin MD, St Jeor ST, Hill LA, Scott BJ, Daugherty SA, Koh YO. A new predictive equation for resting energy expenditure in healthy individuals. Am J Clin Nutr. 1990;51(2):241-247. https://doi.org/10.1093/ajcn/51.2.241",
    "Roza AM, Shizgal HM. The Harris Benedict equation reevaluated: resting energy requirements and the body cell mass. Am J Clin Nutr. 1984;40(1):168-182. https://doi.org/10.1093/ajcn/40.1.168",
    "Wishnofsky M. Caloric equivalents of gained or lost weight. Am J Clin Nutr. 1958;6(5):542-546. https://doi.org/10.1093/ajcn/6.5.542",
    "Jäger R, Kerksick CM, Campbell BI, et al. International Society of Sports Nutrition Position Stand: protein and exercise. J Int Soc Sports Nutr. 2017;14:20. https://doi.org/10.1186/s12970-017-0177-8",
    "Jensen MD, Ryan DH, Apovian CM, et al. 2013 AHA/ACC/TOS Guideline for the Management of Overweight and Obesity in Adults. Circulation. 2014;129(25 Suppl 2):S102-S138. https://pmc.ncbi.nlm.nih.gov/articles/PMC5819889/"
  ],
  "related": [
    "calorie",
    "tdee",
    "protein",
    "calorie-deficit"
  ],
  "changelog": [
    {
      "date": "2026-09-28",
      "note": "Shorter activity labels so they fit the select at 375 px."
    },
    {
      "date": "2026-09-28",
      "note": "The range check compares each share as shown, to one decimal (44.95% counts as 45%)."
    }
  ]
}
