If you know how many grams of protein, carbohydrates and fat a food contains, you can estimate how many calories those macronutrients provide.

The basic calculation is straightforward:

  • protein: 4 kcal per gram
  • carbohydrate: 4 kcal per gram
  • fat: 9 kcal per gram

This is often called the 4-4-9 rule.

The calorie-from-macros formula

Use:

Calories = (protein × 4) + (carbohydrate × 4) + (fat × 9) (European Union — Regulation (EU) No 1169/2011)

All macronutrients should be entered in grams.

For example, suppose a meal contains:

  • 30 g protein;
  • 50 g carbohydrates;
  • 15 g fat.

Calculate each part separately:

Protein:

30 × 4 = 120 kcal

Carbohydrates:

50 × 4 = 200 kcal

Fat:

15 × 9 = 135 kcal

Total:

120 + 200 + 135 = 455 kcal

So the three macronutrients provide approximately 455 kcal.

Why protein and carbs use 4 kcal per gram

Protein and carbohydrate are commonly estimated at approximately 4 kcal per gram for practical nutrition calculations.

That means:

Amount Protein Carbohydrate
5 g 20 kcal 20 kcal
10 g 40 kcal 40 kcal
20 g 80 kcal 80 kcal
30 g 120 kcal 120 kcal
50 g 200 kcal 200 kcal

This does not mean protein and carbohydrates are nutritionally interchangeable.

The 4 kcal figure describes their approximate energy contribution, not their other nutritional roles.

Why fat uses 9 kcal per gram

Fat is more energy-dense.

Each gram contributes approximately 9 kcal, so relatively small amounts can have a noticeable effect on the calorie total.

Fat Approximate calories
5 g 45 kcal
10 g 90 kcal
15 g 135 kcal
20 g 180 kcal
30 g 270 kcal

For example, adding 10 g of fat changes the calculated energy by about 90 kcal.

This is why oils, butter, nuts, seeds, dressings and other fat-rich foods can materially affect the energy content of a meal even when their physical volume is small.

Step-by-step calculation

Imagine a food provides:

  • protein: 18 g;
  • carbohydrate: 32 g;
  • fat: 7 g.

1. Calculate protein calories

18 × 4 = 72 kcal

2. Calculate carbohydrate calories

32 × 4 = 128 kcal

3. Calculate fat calories

7 × 9 = 63 kcal

4. Add them together

72 + 128 + 63 = 263 kcal

Estimated total: 263 kcal.

Example with a higher-protein meal

Suppose a meal contains:

  • 45 g protein;
  • 60 g carbohydrate;
  • 20 g fat.

Protein:

45 × 4 = 180 kcal

Carbohydrate:

60 × 4 = 240 kcal

Fat:

20 × 9 = 180 kcal

Total:

180 + 240 + 180 = 600 kcal

The meal provides approximately 600 kcal from these macronutrients.

Example with a lower-fat meal

Suppose you have:

  • 25 g protein;
  • 40 g carbohydrate;
  • 5 g fat.

Calculation:

  • protein: 25 × 4 = 100 kcal;
  • carbohydrate: 40 × 4 = 160 kcal;
  • fat: 5 × 9 = 45 kcal.

Total:

305 kcal

A quick calculation table

Protein Carbs Fat Calculated calories
20 g 30 g 10 g 290 kcal
25 g 40 g 15 g 395 kcal
30 g 50 g 15 g 455 kcal
35 g 60 g 20 g 560 kcal
40 g 70 g 25 g 665 kcal

The calculation for the first row is:

(20 × 4) + (30 × 4) + (10 × 9)

= 80 + 120 + 90

= 290 kcal

How to calculate what percentage of calories comes from each macro

You can also calculate the share of total calories contributed by each macronutrient.

Take this example:

  • 30 g protein = 120 kcal;
  • 50 g carbohydrate = 200 kcal;
  • 15 g fat = 135 kcal.

Total = 455 kcal.

Protein percentage:

120 ÷ 455 × 100 = about 26%

Carbohydrate percentage:

200 ÷ 455 × 100 = about 44%

Fat percentage:

135 ÷ 455 × 100 = about 30%

Because of rounding, percentages may not always add to exactly 100%.

Calculating calories from a nutrition label

You can apply the same formula to a food label.

Suppose the label lists per 100 g:

  • protein: 8 g;
  • carbohydrate: 20 g;
  • fat: 10 g.

Calculation:

Protein:

8 × 4 = 32 kcal

Carbohydrate:

20 × 4 = 80 kcal

Fat:

10 × 9 = 90 kcal

Total:

202 kcal per 100 g

The calorie value printed on the label may be somewhat different.

That does not necessarily mean either calculation is wrong.

Why calculated calories may not exactly match the label

The 4-4-9 formula is useful, but food labeling can involve more detail than multiplying three rounded macro values.

Differences can occur because of:

  • rounding of protein, carbohydrate and fat values;
  • fiber;
  • sugar alcohols or polyols;
  • alcohol;
  • organic acids;
  • country-specific labeling calculations;
  • more precise energy factors used for particular nutrients.

For this reason, you should not expect the simple 4-4-9 calculation to reproduce every package label exactly.

Rounding can create visible differences

Imagine the actual nutrient values are slightly above or below the rounded numbers displayed on a label.

If several nutrients are rounded before you perform the calculation, the small differences can accumulate.

The manufacturer may calculate energy using more precise underlying values while you are calculating from rounded values printed on the package.

So a modest discrepancy is normal.

What about fiber?

Fiber makes the calculation more complicated.

Depending on the labeling system and type of fiber, its energy contribution may not be represented by simply treating every gram as ordinary digestible carbohydrate.

This is one reason a nutrition label's stated calorie value can differ from:

protein × 4 + carbs × 4 + fat × 9

For everyday tracking, use the declared energy value on a reliable product label when you are tracking that specific packaged product.

Use the 4-4-9 calculation when you want to understand or estimate the relationship between macros and calories.

What about alcohol?

Alcohol provides energy too, but it is not one of the three macros in the basic 4-4-9 calculation.

Alcohol contributes approximately 7 kcal per gram.

So if a product contains alcohol, calculating only protein, carbohydrate and fat can underestimate its total energy.

The basic equation can be expanded conceptually to include alcohol when relevant:

Calories ≈ protein × 4 + carbs × 4 + fat × 9 + alcohol × 7

However, for packaged alcoholic products, use the relevant product information where available rather than reconstructing the value from incomplete macro data.

Why grams of macros do not equal grams of food

A food containing 100 g of total product does not normally contain 100 g of protein, carbohydrate and fat combined.

Foods also contain components such as:

  • water;
  • fiber;
  • minerals;
  • vitamins;
  • other compounds.

For example, 100 g of a vegetable may contain mostly water.

So you cannot calculate calories from the total weight of a food using 4, 4 or 9.

You need the grams of the relevant macronutrients.

Calculating calories for a serving instead of 100 g

Suppose a nutrition label gives values per 100 g:

  • protein: 12 g;
  • carbohydrate: 30 g;
  • fat: 8 g.

But you eat 150 g.

First scale the macros:

Protein:

12 × 1.5 = 18 g

Carbohydrate:

30 × 1.5 = 45 g

Fat:

8 × 1.5 = 12 g

Then calculate calories:

(18 × 4) + (45 × 4) + (12 × 9)

= 72 + 180 + 108

= 360 kcal

You can also calculate the calories per 100 g first and then multiply by 1.5.

Calculating calories for a homemade recipe

For a homemade recipe, calculate the macros for all ingredients and then add them.

For example, the complete recipe contains:

  • 120 g protein;
  • 200 g carbohydrate;
  • 60 g fat.

Energy:

Protein:

120 × 4 = 480 kcal

Carbohydrate:

200 × 4 = 800 kcal

Fat:

60 × 9 = 540 kcal

Total:

1,820 kcal

If the recipe makes four equal portions:

1,820 ÷ 4 = 455 kcal per portion

If portions are not equal, dividing by finished recipe weight can be more accurate.

Calculating calories per 100 g of a recipe

Suppose the completed recipe contains approximately 1,820 kcal and weighs 1,300 g after cooking.

Calories per gram:

1,820 ÷ 1,300 = 1.4 kcal/g

Calories per 100 g:

1.4 × 100 = 140 kcal per 100 g

A 350 g serving would then contain:

350 × 1.4 = 490 kcal

This method is useful when portions vary in size.

Can you calculate macros from calories alone?

Not uniquely.

A total of 400 kcal could come from many different combinations.

For example:

  • mostly carbohydrate;
  • mostly fat;
  • a combination of protein, carbohydrate and fat.

Knowing only total calories does not tell you the exact macro distribution.

You need additional information about at least some of the macronutrients.

Can two meals have the same calories but different macros?

Yes.

Consider these simplified examples:

Meal A:

  • 30 g protein;
  • 50 g carbs;
  • 15 g fat.

Calories:

120 + 200 + 135 = 455 kcal

Meal B:

  • 20 g protein;
  • 35 g carbs;
  • about 26 g fat.

Calories:

80 + 140 + 234 = about 454 kcal

The calorie totals are almost identical, but the macro distributions are different.

Calories describe energy; macro grams describe where much of that energy comes from.

Why this calculation is useful

The 4-4-9 calculation can help you:

  • understand nutrition labels;
  • check approximate calorie totals;
  • calculate homemade meals;
  • understand how changing a macro changes energy intake;
  • compare foods with different macro profiles;
  • troubleshoot obvious tracking errors.

It is an estimation framework, not a reason to expect every database or label to match perfectly.

Common calculation mistakes

Multiplying fat by 4

Fat uses approximately 9 kcal per gram, not 4.

Adding macro grams and treating the result as calories

If a food contains 20 g protein, 30 g carbohydrate and 10 g fat, adding the grams gives 60 g.

That is not 60 kcal.

You must apply the energy factors:

(20 × 4) + (30 × 4) + (10 × 9) = 290 kcal

Using percentages as grams

A macro percentage is a share of calorie intake, not the same thing as grams.

For example, 30% of calories from fat does not mean 30 g of fat.

Ignoring serving size

A label may list macros per 100 g while you eat 160 g.

Scale the macro values to your actual serving before interpreting the total.

Expecting exact agreement with every food label

The 4-4-9 rule is an approximation.

Rounding and other energy-contributing components can produce differences.

A fast mental method

For a quick estimate:

  1. add protein and carbohydrate grams;
  2. multiply that number by 4;
  3. multiply fat grams by 9;
  4. add the two results.

Example:

  • 25 g protein;
  • 45 g carbs;
  • 12 g fat.

Protein + carbs:

25 + 45 = 70

70 × 4 = 280

Fat:

12 × 9 = 108

Total:

280 + 108 = 388 kcal

How Mealisa can use macro data

When macro values are available from a food entry, label or recipe, Mealisa can use them as part of the nutrition record.

The 4-4-9 relationship is also useful when reviewing a food entry that appears inconsistent.

However, the calorie value on a reliable product label should not automatically be replaced just because a simplified calculation produces a slightly different result.

The context of the nutrition data matters.

Key takeaway

To estimate calories from the three main macronutrients, use:

Protein × 4 + Carbohydrate × 4 + Fat × 9

For example:

30 g protein + 50 g carbs + 15 g fat

= 120 + 200 + 135

= 455 kcal

The formula is excellent for practical estimates and understanding how macros contribute to energy.

Small differences from nutrition labels are normal because labels can include rounding and additional energy factors.

  • How Many Carbs Should You Eat per Day?

Sources