ScanYourMacros

nutrition · 7 min read

Calories per Gram of Protein, Carbohydrate, and Fat: The 4-4-9 Rule

Protein and carbohydrate provide about 4 calories per gram and fat about 9. Where the numbers come from (FDA and USDA), how to calculate calories from a label, and why the math rarely matches exactly.

The short answer

Protein provides about 4 calories per gram, carbohydrate about 4 calories per gram, and fat about 9 calories per gram. These are the “general factors” the U.S. Food and Drug Administration allows manufacturers to use when calculating the calories on a Nutrition Facts label (21 CFR 101.9). Alcohol provides about 7 calories per gram. To estimate calories, multiply each macronutrient’s grams by its factor and add the results: 10 g protein, 30 g carbohydrate, and 5 g fat gives (10 × 4) + (30 × 4) + (5 × 9) = 205 calories.

How many calories are in a gram of protein, carbohydrate, and fat?

The three macronutrients on a Nutrition Facts label supply energy at different rates. The table below lists the general factors used in U.S. food labeling, plus alcohol, which is not a labeled macronutrient but still supplies calories.

Fat is the most energy-dense macronutrient: a gram of fat provides more than twice the calories of a gram of protein or carbohydrate. This is why a small amount of oil, butter, or nuts can change a meal’s calorie total more than the same weight of rice or chicken.

Calories per gram by macronutrient (FDA general factors)
MacronutrientCalories per gramWhere it appears on the Nutrition Facts label
Protein4 caloriesProtein line, near the bottom of the label
Carbohydrate4 caloriesTotal Carbohydrate line, with fiber and sugars indented below it
Fat9 caloriesTotal Fat line, with saturated and trans fat indented below it
Alcohol7 caloriesNot listed on Nutrition Facts labels; counted separately

Sources: eCFR: 21 CFR 101.9 Nutrition labeling of food (FDA); MedlinePlus Medical Encyclopedia: Alcohol and diet

Where does the 4-4-9 rule come from?

The 4-4-9 rule is written into U.S. food labeling regulations. FDA rule 21 CFR 101.9(c)(1)(i) lists the methods a manufacturer may use to calculate calories, including “the general factors of 4, 4, and 9 calories per gram for protein, total carbohydrate, and total fat, respectively.” The same rule allows a factor of 2 calories per gram for soluble non-digestible carbohydrates when those are subtracted from total carbohydrate.

The factors themselves come from the Atwater system, developed from USDA research on how much energy the body actually obtains from protein, carbohydrate, and fat after digestion. USDA Agriculture Handbook No. 74, “Energy Value of Foods: Basis and Derivation,” documents the general factors and the more precise food-specific factors that nutrition databases also use.

Alcohol is not covered by the Nutrition Facts label rules, but MedlinePlus, the National Library of Medicine’s consumer health service, notes that alcohol provides about 7 calories per gram.

Sources: eCFR: 21 CFR 101.9 Nutrition labeling of food (FDA); USDA Agricultural Research Service: Agriculture Handbook No. 74, Energy Value of Foods (Merrill and Watt); MedlinePlus Medical Encyclopedia: Alcohol and diet

How to calculate calories from a nutrition label

Take the grams of protein, total carbohydrate, and total fat for one serving, multiply each by its factor, and add the three results. For a serving listing 12 g protein, 45 g carbohydrate, and 8 g fat: (12 × 4) + (45 × 4) + (8 × 9) = 48 + 180 + 72 = 300 calories.

Use the serving size printed on the label, and scale the grams first if you ate a different amount. If the label serving is one cup and you ate half a cup, halve each macronutrient before multiplying. The FDA’s label guide explains how serving size and servings per container work together.

  • Protein grams × 4 = calories from protein.
  • Total carbohydrate grams × 4 = calories from carbohydrate.
  • Total fat grams × 9 = calories from fat.
  • Add the three results to estimate total calories for that serving.

Sources: FDA: How to Understand and Use the Nutrition Facts Label

Why the calories on a label do not match the 4-4-9 math

It is normal for a hand calculation to land a few calories away from the printed number. Several labeling rules explain the gap.

Rounding: the FDA rule requires calories to be shown to the nearest 5-calorie increment up to and including 50 calories and the nearest 10-calorie increment above 50 calories; amounts under 5 calories may be shown as zero. The gram amounts are rounded too, so a label showing “3 g fat” might come from 2.6 g or 3.4 g, and each rounded figure shifts the total.

Fiber and sugar alcohols: total carbohydrate includes dietary fiber, but the rule lets manufacturers subtract non-digestible carbohydrate and apply 2 calories per gram to the soluble portion. A high-fiber product can therefore list fewer calories than 4 × total carbohydrate would suggest.

Food-specific factors: manufacturers may also use the more precise Atwater factors for specific foods, or laboratory bomb calorimetry adjusted for digestibility, instead of 4-4-9. Nutrition databases such as USDA FoodData Central often use those specific factors, which is why a database entry and the 4-4-9 math can differ slightly even before rounding.

Sources: eCFR: 21 CFR 101.9 Nutrition labeling of food (FDA); USDA Agricultural Research Service: Agriculture Handbook No. 74, Energy Value of Foods (Merrill and Watt)

Where are macronutrients located on a Nutrition Facts label?

Reading from top to bottom, a U.S. Nutrition Facts label shows the serving size and servings per container, then calories in large type. Total Fat comes next, with saturated fat and trans fat indented under it, followed by cholesterol and sodium. Total Carbohydrate follows, with dietary fiber, total sugars, and added sugars indented under it. Protein is the last of the macronutrient lines, above the vitamin and mineral section.

The indented lines are components of the line above them, not additions to it. Fiber and sugars are already included in total carbohydrate, and saturated fat is already included in total fat. When you apply the 4-4-9 rule, use only the three “Total” lines and the protein line.

Sources: FDA: How to Understand and Use the Nutrition Facts Label

Using the 4-4-9 rule in ScanYourMacros

When you scan a barcode or search for a food in ScanYourMacros, the calories and macros come from the product’s label data or a nutrition database, so you do not need to do the multiplication yourself. The rule is still useful as a sanity check: if a food shows 20 g protein, 0 g carbohydrate, 0 g fat, and 400 calories, something in the entry is wrong.

If you add a custom food from a package, enter the serving size, calories, protein, carbohydrate, and fat exactly as printed. The calorie figure may differ from your own 4-4-9 calculation by a few calories because of the rounding rules above; the label value is the one to record.

Common questions

Is there an official FDA source for 4 calories per gram of protein and carbohydrate and 9 per gram of fat?

Yes. FDA regulation 21 CFR 101.9(c)(1)(i) allows calories on the Nutrition Facts label to be calculated using the general factors of 4, 4, and 9 calories per gram for protein, total carbohydrate, and total fat. The factors originate from the USDA Atwater system.

How many calories are in a gram of fiber?

Under FDA labeling rules, insoluble fiber contributes no calories and soluble non-digestible carbohydrate may be counted at 2 calories per gram. Because total carbohydrate on the label already includes fiber, some products list fewer calories than 4 calories per gram of total carbohydrate would give.

How many calories are in a gram of alcohol?

About 7 calories per gram. Alcohol is not shown on a Nutrition Facts label, so drinks need to be tracked separately from the protein, carbohydrate, and fat lines.

Why do my macros add up to more calories than the label says?

Both the calorie figure and the gram amounts on a label are rounded, fiber may be subtracted from carbohydrate, and some manufacturers use food-specific factors instead of 4-4-9. A difference of a few calories per serving is expected and does not mean the label is wrong.

Does 1 gram of fat always equal 9 calories?

The 9-calorie figure is a general factor used for labeling and everyday estimates. Specific fats vary slightly in usable energy, which is why food-specific Atwater factors exist, but 9 calories per gram is the standard figure for reading labels and tracking macros.

Sources and editorial notes

  1. eCFR: 21 CFR 101.9 Nutrition labeling of food (FDA)
  2. FDA: How to Understand and Use the Nutrition Facts Label
  3. MedlinePlus Medical Encyclopedia: Alcohol and diet
  4. USDA Agricultural Research Service: Agriculture Handbook No. 74, Energy Value of Foods (Merrill and Watt)

Sources accessed Oct 6, 2026. Examples and app walkthroughs are illustrative. This guide has not been individually reviewed by a clinician and does not provide personalized nutrition or medical advice. Read our editorial policy.