Macro Calculator
Last updated: September 30, 2026. Maintained by CalcHive, JAE's Holding Solutions LLC.
Split a calorie target into protein, fat, and carbohydrate grams, or add up the grams on a recipe.
Daily mode uses a calorie number, a body weight, a protein setting, and a fat percent. Recipe mode only multiplies the grams you type. Neither mode is a meal plan.
Estimate only, not medical advice. This does not diagnose or treat any condition or replace a doctor or registered dietitian. If you are pregnant, under 19, managing a medical condition or an eating disorder, or on a prescribed diet, get individual guidance.
How the macro calculator works
Daily mode starts from a calorie target you type, or from the unrounded calories the TDEE calculator put in the link. Protein grams equal kilograms times the grams-per-kilogram setting. Protein calories equal those grams times 4. Fat calories equal the fat percent times the calorie target. Fat grams equal fat calories divided by 9. Carbohydrate calories equal the target minus protein calories minus fat calories. Carbohydrate grams equal that remainder divided by 4. If the remainder is negative, protein and fat already use more energy than the target, and the page says so instead of hiding a negative carbohydrate number.
The 4, 4, and 9 factors are the general factors in 21 CFR 101.9(c)(1)(i)(B): 4 calories per gram of protein, 4 calories per gram of total carbohydrate, and 9 calories per gram of total fat, as described in USDA Handbook No. 74. The same section allows other methods, including specific Atwater factors and a method that removes non-digestible carbohydrate and sugar alcohols before using 4, 4, and 9. This page uses only the plain 4, 4, and 9 path. It does not store a food database.
The protein menu defaults to 0.8 grams per kilogram. That default is the adult basis printed in the National Academies macronutrient DRI table (0.8 g/kg/day for adults), which is the Recommended Dietary Allowance basis set to meet the needs of almost all healthy people in the group. It is the starting value in the form so the page is not blank. It is not a statement that you should eat 0.8 and no more. The 1.2 and 1.6 options are the ends of the protein serving range in the Dietary Guidelines for Americans, 2025–2030. Custom is whatever number you type, labeled as your choice. The fat field defaults to 25 percent of calories. Twenty-five sits inside the adult Acceptable Macronutrient Distribution Range for fat, 20 to 35 percent, on that same DRI table. The default makes the division concrete. It is not a prescribed fat intake. Meals default to 3 so the page can divide the daily grams. Three is not advice about how often to eat.
After the grams are known, the page reports each nutrient as a percent of the calorie target and compares that percent with the adult AMDR bands on the DRI table: protein 10 to 35 percent, carbohydrate 45 to 65 percent, fat 20 to 35 percent. A line that says "outside" means the percent is outside that published band. The page does not say the result is unhealthy. An optional BMR field, filled when you arrive from the TDEE page, uses the same closeness rule as that page: warn when calories are below BMR, and warn when nearest-10 rounding leaves the target no higher than nearest-10 BMR. The grams still appear, under a label that they are arithmetic and not a target to follow.
Recipe mode ignores weight, protein setting, fat percent, meals, and BMR. You type protein, carbohydrate, and fat grams for one serving, and a serving count. Calories per serving equal 4 × protein + 4 × carbohydrate + 9 × fat. Total calories equal that result times servings. This is a calculator for numbers you already have, from a label or from your own tally. It is not a recipe analyzer. The recipe scaler changes ingredient amounts when the yield changes. It does not know protein grams. If you scale a recipe and then type the new per-serving grams here, you are doing two separate jobs.
Worked examples
Example 1: 2,759 kcal, 80 kg, 1.6 g/kg, 25 percent fat
Protein = 1.6 × 80 = 128 g, and 128 × 4 = 512 kcal, which is 18.6 percent of 2,759. Fat calories = 0.25 × 2,759 = 689.75, so fat grams = 689.75 / 9 = 76.6388..., shown as 76.6 g. Carbohydrate calories = 2,759 − 512 − 689.75 = 1,557.25, and carbohydrate grams = 1,557.25 / 4 = 389.3125, shown as 389.3 g. Fat is 25 percent of calories. Carbohydrate is 56.4 percent. All three percents sit inside the adult AMDR bands. If you set meals to 4, the page shows 32 g protein, 19.2 g fat, and 97.3 g carbohydrate per meal. That split is division by the meal count you type. It is not a per-meal rule.
Example 2: 1,600 kcal, 65 kg, 1.2 g/kg, 30 percent fat
One way to arrive at 1,600 is to take the example-2 maintenance figure on the TDEE page, about 1,850 kcal nearest 10, and subtract 250. This macro example types 1600 directly. Protein = 1.2 × 65 = 78 g, and 78 × 4 = 312 kcal, 19.5 percent of 1,600. Fat calories = 0.30 × 1,600 = 480, so fat = 480 / 9 = 53.333..., shown as 53.3 g. Carbohydrate calories = 1,600 − 312 − 480 = 808, and carbohydrate grams = 808 / 4 = 202. Carbohydrate is 50.5 percent of calories. Protein, fat, and carbohydrate are all inside the adult AMDR bands. No BMR was required for the gram math. The warning check runs only if you type a BMR.
Example 3: 1,350 kcal next to a BMR of 1,345.25
The TDEE page's female example with a −500 offset displays an adjusted target of 1,350 kcal nearest 10, against a BMR of 1,345.25 that also displays as 1,350. Type calories 1350, weight 65 kg, protein 1.2 g/kg, fat 30 percent, and BMR 1345.25. The closeness rule returns "near", because nearest-10 calories are not above nearest-10 BMR. The result label switches to arithmetic that is not a target. The grams are still computed: protein 78 g (312 kcal, 23.1 percent), fat 45 g (405 kcal, 30 percent), carbohydrate 158.3 g (158.25 before the 1-decimal display, 633 kcal, 46.9 percent). The page does not drop those numbers. It refuses to present them as a plan.
Example 4: Recipe grams
Switch to recipe mode. Protein 30 g, carbohydrate 45 g, fat 12 g, 1 serving. Calories = 30 × 4 + 45 × 4 + 12 × 9 = 120 + 180 + 108 = 408. Two servings would be 816, because the page multiplies the per-serving result by the serving count and does not re-interpret the recipe. A Nutrition Facts label that prints a different calorie number can still be right under FDA rounding or under a method other than plain 4, 4, and 9. Use the label when you have one.
When to use this
Use daily mode when you already have a calorie number and you want to see how a protein setting and a fat percent fill that number, with carbohydrate taking the rest. Use recipe mode when you have grams per serving and you want the 4, 4, and 9 total, or a total across servings. Use the protein intake calculator when the question is which reference range applies, not how to spend a calorie budget. Use the BMI calculator when the question is the screening index from height and weight. None of these replace a diet a clinician already wrote down.
A kitchen scale is the practical companion if you are counting grams from food you cook. This page does not convert cups to grams. The cooking measurement converter does that for a short list of ingredients, and it still will not tell you the protein in a cup of rice. Read the package or a database you trust, then type the grams here if you want the calorie arithmetic checked.
Common mistakes
- Leaving fat at 25 and calling it a recommendation. Twenty-five is the field's default so an example can be reproduced. Change it if you meant a different percent.
- Using pounds in the kilogram box. 180 in the weight field is 180 kg. Convert first, or pass kilograms from the TDEE link, which already divided pounds by 2.20462.
- Expecting carbohydrate to stay put when you raise protein. Protein is taken first. A higher grams-per-kilogram lowers the carbohydrate remainder if calories and the fat percent stay fixed.
- Treating an AMDR flag as a diagnosis. "Outside" means outside the adult band on the DRI table. The sentence on the result does not say unhealthy.
- Adding fiber grams into carbohydrate and also subtracting them. Recipe mode uses the carbohydrate grams you type, once, at 4 kcal per gram. It does not have a fiber field.
- Ignoring a BMR warning because the grams still printed. The grams print so the arithmetic is visible. The warning is the result that matters when the target sits on resting energy.
Limitations
Daily mode is one calorie total, one body weight, one protein rate, one fat percent, and an optional meal count. It does not know food, appetite, training, or a clinical limit. Recipe mode is three gram fields and a serving count. It does not look up ingredients. Label calories can differ because 21 CFR 101.9 allows several calculation methods and rounds the declared calories. Adult AMDR percents come from the National Academies table for ages that use the 10 to 35, 45 to 65, and 20 to 35 bands. The table uses different percent bands for children. This page does not switch bands by age. If you are under 19, pregnant, or lactating, the adult bands and the 0.8 g/kg default are the wrong reference, and the disclaimer at the top applies.
The meal split divides daily grams by the meal count. It does not schedule meals, and the Dietary Guidelines line about protein foods at meals does not set a gram amount per sitting. A negative carbohydrate result means the chosen protein and fat already exceed the calorie target. Raise calories, lower the fat percent, or lower grams per kilogram if you want a non-negative remainder. The page will not quietly reset your inputs to force a pretty split.
FAQ
What do protein, fat, and carbohydrate grams mean here?
They are a split of the calorie number you typed. Protein grams are body weight in kilograms times the grams-per-kilogram value you chose. Fat grams come from the fat percent of calories, divided by 9. Carbohydrate grams are whatever calories remain, divided by 4. The page uses 4 kcal per gram of protein, 4 per gram of carbohydrate, and 9 per gram of fat.
Why is carbohydrate the remainder?
Because protein and fat are set first from the fields you chose, and the calorie target is fixed. Carbohydrate is the leftover energy divided by 4. If you wanted a carbohydrate target instead, this page is the wrong shape: it will not take a carbohydrate percent and solve for something else.
Can the grams be right if the calorie target is wrong?
No. The grams are arithmetic on the calorie number. If that number is a poor estimate of what you eat, or a poor estimate of maintenance, the grams inherit the error. Start from a calorie figure you are willing to test, including the figure from the TDEE page.
Why might a label's grams not add up to the calories on the label?
FDA rules allow more than one way to calculate calories, including specific Atwater factors and the general factors of 4, 4, and 9. One allowed method subtracts non-digestible carbohydrate and sugar alcohols before applying 4, 4, and 9, and uses other factors for those ingredients. Calories on the label are also rounded, to the nearest 5-calorie increment up to and including 50 calories and the nearest 10-calorie increment above 50. This page's recipe mode uses only 4, 4, and 9 on the grams you type. If you have a label, use the label's calorie figure.
Do I need to hit these grams exactly?
This page does not say that. It prints grams from the inputs. Day-to-day food will not land on a tenth of a gram. The AMDR flags only say whether the percent of calories falls inside or outside the adult ranges published by the National Academies. Outside the range is not labeled unhealthy on this page.
Should I subtract fiber and use net carbs?
This page does not compute net carbs. FDA calorie methods can treat non-digestible carbohydrate differently from total carbohydrate. Recipe mode uses the carbohydrate grams you type, with 4 kcal per gram, and does not subtract fiber. If a label already states calories, prefer the label.
What happens when the calorie target is at the estimated BMR?
If you fill in a BMR, and the calorie target is below that BMR, or nearest-10 rounding leaves the target no higher than nearest-10 BMR, the page shows a warning first. The grams still print so you can see the arithmetic. They are marked as not a target to follow.
Related calculators
- TDEE Calculator
- Protein Intake Calculator
- Weekly Meal Planner once the gram targets are numbers you want to hit on a grid
- BMI Calculator
- Body Fat Percentage
- Recipe Scaler
- Meal Prep Portion Calculator to divide a batch into containers
- Grocery List Generator to scale and merge ingredient lines
- Daily Water Intake
Sources
Checked September 30, 2026.
- 21 CFR 101.9(c)(1)(i), including the general factors of 4, 4, and 9 calories per gram and the calorie rounding rule. Section text read from the eCFR content for the current Code of Federal Regulations. 21 CFR 101.9.
- National Academies macronutrient DRI table, source stated on the sheet as Dietary Reference Intakes for Energy, Carbohydrate, Fiber, Fat, Fatty Acids, Cholesterol, Protein, and Amino Acids (2002/2005). Adult protein basis 0.8 g/kg/day, and adult AMDR bands, read from that PDF. DRI macronutrient table.
- Dietary Guidelines for Americans, 2025–2030. Protein serving goals of 1.2–1.6 grams per kilogram of body weight per day, read in the PDF. DGA PDF.