Use the label factors
Standard energy factors used for the conversion
| Macronutrient | Energy factor | Gram calculation |
|---|---|---|
| Carbohydrate | 4 kcal per gram | Carbohydrate calories ÷ 4 |
| Protein | 4 kcal per gram | Protein calories ÷ 4 |
| Fat | 9 kcal per gram | Fat calories ÷ 9 |
FDA nutrition-label material uses these factors. They make the conversion repeatable when you have a calorie amount and a split that adds to 100%. They do not describe every part of food or choose a diet.
Work through one example
This illustrative split uses 50% carbohydrate, 20% protein, and 30% fat. For carbohydrate, 2,000 × (50 ÷ 100) = 1,000 kcal. Repeat that step with 20 and 30 before converting each share to grams.
Example: 2,000 kcal with 50% carbohydrate, 20% protein, and 30% fat
| Macronutrient | Calories from the split | Calculation | Grams (rounded to 0.1 g when needed) |
|---|---|---|---|
| Carbohydrate | 1,000 kcal | 1,000 ÷ 4 | 250 g |
| Protein | 400 kcal | 400 ÷ 4 | 100 g |
| Fat | 600 kcal | 600 ÷ 9 | 66.7 g |
The three calorie shares add to 2,000 kcal before the gram values are rounded. A display may show whole grams. Adding those rounded values back can produce a small difference. Keep the unrounded calculation when you need to audit the total.
Keep reference ranges and personal choices distinct
Population reference ranges can describe a distribution of calories among macronutrients. They do not turn one percentage split into a personal target. A calculator can show the effect of the percentages you enter without claiming that the split is right for you.
The conversion also does not assess food quality, medical needs, activity, or total energy adequacy. Use qualified support when those questions matter to a nutrition plan.
Check each input before you save it
- Check that carbohydrate, protein, and fat percentages add to 100.
- Keep the total calorie amount with the split.
- Use the same energy unit through the calculation.
- Record whether the numbers are a scenario, a label value, or a food record.
Use the macro calculator to repeat this arithmetic. Use the protein calculator when you need to compare a grams-per-kilogram reference with a macro result.
Convert a percentage into an energy share
A macro percentage is a share of a stated calorie total. Convert the percentage to a decimal, then multiply by the total. For the existing 2,000 kcal example, 50% carbohydrate becomes 0.50 × 2,000 = 1,000 kcal. The 20% protein share is 400 kcal, and the 30% fat share is 600 kcal. The shares add back to 2,000 kcal. Check that sum before converting to grams. If the entered percentages add to 95% or 105%, the resulting gram totals do not represent a complete split of the stated energy amount. Body Numeral checks for 100%, but you should still read the values you entered and their labels.
The standard factors in the FDA label source are 4 kcal per gram for carbohydrate, 4 for protein, and 9 for fat. Divide each energy share by its own factor. In the example, carbohydrate is 1,000 ÷ 4 = 250 g, protein is 400 ÷ 4 = 100 g, and fat is 600 ÷ 9 = about 66.7 g. Do not divide the entire 2,000 kcal by one factor, and do not use 4 for fat. The fat result is not a whole number before rounding. Adding the reconstructed energy from rounded grams may give a small mismatch; that is a display effect, not an extra macronutrient.
To audit the 2,000 kcal example, multiply the unrounded gram amounts by the same factors used to create them. Carbohydrate contributes 250 × 4 = 1,000 kcal. Protein contributes 100 × 4 = 400 kcal. Fat contributes (600 ÷ 9) × 9 = 600 kcal before rounding. The three energy shares add to 2,000 kcal. If you instead use the displayed 66.7 g of fat, multiplying by 9 gives 600.3 kcal, a small difference caused by rounding the gram display. This reverse check can catch a wrong factor or a percentage entered in the wrong field. It does not validate the chosen calorie amount or the nutritional suitability of the split.
Hold the split steady to test the calorie input
The same 50/20/30 percentages produce different gram amounts when the total changes. At 1,800 kcal, the energy shares are 900, 360, and 540 kcal. The matching gram values are 225 g carbohydrate, 90 g protein, and 60 g fat. Compared with the 2,000 kcal example, each gram value changed because the total changed, even though the percentages did not. This is why a macro result cannot be understood from percentages alone. Keep the calorie amount and its source beside the split. If the starting amount came from a TDEE or deficit scenario, the gram conversion does not independently validate that scenario.
At a fixed 2,000 kcal, changing the split changes the gram outputs while leaving total energy unchanged. For example, a stated 45/25/30 split gives 900 kcal carbohydrate, 500 kcal protein, and 600 kcal fat. Applying the label factors gives 225 g carbohydrate, 125 g protein, and about 66.7 g fat. This is a controlled arithmetic comparison, not an endorsement of either split. It shows why the protein grams can rise while the total calorie amount stays fixed: energy moved from one share to another. Save the exact percentages when you compare records; a gram number without its split obscures the cause.
Use reference ranges as context, not selection
The cited National Academies table gives adult acceptable macronutrient distribution ranges: 45–65% of energy from carbohydrate, 10–35% from protein, and 20–35% from fat. These are population reference ranges. They do not choose an energy amount, guarantee nutrient adequacy, or turn a split into a personal plan. A mathematical result can sit inside every listed range while still leaving questions about food quality, medical needs, and total energy unanswered. Body Numeral converts values supplied by the user; it does not make those decisions. Keep that boundary clear when sharing a screenshot of gram outputs.
This guide uses kilocalories, written kcal, for food energy. A food label may also show kilojoules. Convert the starting amount before using kcal-per-gram factors; do not divide a kJ amount by 4 or 9 as if it were kcal. Use unrounded energy shares for the division and round only the displayed gram result. When you check the total, multiply those unrounded grams by their factors, or accept a small rounding difference if the interface shows whole grams. Write g/day only when the starting kcal value is a daily amount. A meal total and a daily total may have the same unit of energy but answer different questions.
Read a food label without confusing the scales
A daily split and a packaged-food label answer different questions. The macro calculator divides a stated energy total across three percentage shares. A food label reports the contents of a serving under labeling rules. A 100 g protein output from the 2,000 kcal example is a calculated daily amount only if 2,000 kcal was entered as a daily total. It is not the protein content of a single meal or package. Conversely, adding labels from foods requires attention to serving size and actual portions; a percentage entered into the macro tool does not verify that a food record matches it. Keep the period and source of the starting calorie amount visible when comparing calculator grams with a label.
Common questions
What factors convert macros to calories?
Standard food-label factors use 4 kilocalories per gram of carbohydrate, 4 per gram of protein, and 9 per gram of fat.
Why do rounded grams not always return the exact calorie total?
A calculator can round each displayed gram value. The unrounded values are the values that sum to the original calorie amount.
Does a macro split choose what I should eat?
No. It is a way to convert a calorie amount and percentages that you enter. It does not assess a diet or prescribe an intake.
Sources & limitations2 sources
Sources checked September 22, 2026. These notes explain methods and assumptions. They have not received an independent clinical review.
- FDA nutrition-label material uses 4 kilocalories per gram for carbohydrate and protein and 9 kilocalories per gram for fat. (opens in a new tab)fda.gov
- The Dietary Guidelines appendices publish acceptable macronutrient distribution ranges as population reference ranges. (opens in a new tab)odphp.health.gov





