The calorie count on your food was calculated, not measured#
Every calorie number you have ever read came out of a multiplication: grams times a conversion factor — 4 kilocalories for every gram of protein, 4 for carbohydrate, 9 for fat. Nobody set your granola bar on fire. Fat earns more than double the others for two reasons stacked on top of each other. First, chemistry: fat is the most carbon-rich and least oxidized of the three macronutrients, so burning it releases far more heat — the fat in cow's milk has a calculated heat of combustion of 9.19 kcal/g, and the fat in human breast milk 9.372. Second, bookkeeping: you digest and absorb almost all of it, so almost all of that heat is available to you.
Protein is the opposite case, and it is the one that explains the whole system. Protein burns hotter than carbohydrate — the heats of combustion Atwater collected ran from 5.27 kcal/g for gelatin to 5.95 for wheat gluten2 — yet it is credited with only 4. The missing energy is nitrogen. Your body cannot oxidize the nitrogen in an amino acid; it packages it as urea and sends it out in urine, still carrying chemical energy. Deduct that, deduct what never gets digested, and something near 5.6 becomes 4. So the honest one-line answer to the title is that 9 is roughly what fat is worth, and 4 is what protein is worth after deductions. These are not measurements of food. They are estimates of what survives the trip through you — which is the reason calorie counts behave like ranges rather than constants.
Three subtractions turn a bomb calorimeter into a nutrition label#
The FAO's technical description of the Atwater general factor system is compact enough to quote: the factors are the heats of combustion of protein, fat and carbohydrate, "corrected for losses in digestion, absorption and urinary excretion of urea"1. Three deductions, applied in that order, standing between gross energy and what the label calls calories.
The urinary deduction is the largest and the most specific to protein. Atwater put the energy lost in urine at 7.9 kcal per gram of urinary nitrogen2. The same correction survives in US law today from the other direction: a manufacturer who measures a food's energy by bomb calorimetry must subtract 1.25 calories per gram of protein before printing the result6. Carbohydrate and fat contain no nitrogen, so they escape this line entirely — which is most of why fat keeps nearly its full combustion value and protein does not.
One more thing hides in the rounding. The unrounded general factors are 16.7 kJ/g for protein, 37.4 kJ/g for fat and 16.7 kJ/g for carbohydrate1. Convert the fat figure and it is 8.94 kcal/g, not 9.00. The most famous number in nutrition is already a rounding of an average of an estimate.
Carbohydrate isn't one number either — sugar burns lower than starch#
Here is the part that surprises people who assume a gram of carbohydrate is a gram of carbohydrate. It is not, and the difference is not biological but structural. Monosaccharides have heats of combustion around 3.75 kcal/g, disaccharides around 3.95, and polysaccharides 4.15 to 4.202. Chaining sugars into starch expels a water molecule at every link, so a gram of starch carries more burnable carbon than a gram of the sugars it was built from.
A gram of table sugar and a gram of starch are not the same amount of energy. The gap runs to about 12%, and the label collapses both to "4".
That spread is the reason a single factor for "carbohydrate" is a compromise rather than a constant. The general factor of 4 is a weighted average across the mix of sugars and starches in a typical diet — not a property of any molecule in your kitchen.
USDA's own table doesn't use 4/4/9#
If the general factors were adequate for individual foods, there would be no reason to have anything else. There is something else. Atwater's laboratory and its successors published specific factors — one set per food group, reflecting how digestible that food's protein and carbohydrate actually are. The first calculation method US labeling rules offer a manufacturer is not 4/4/9 at all: it sends them to table 13 of USDA Handbook No. 74, the specific-factor table6.
Here is a slice of that table, all values in kcal/g1:
| Food | Protein | Fat | Carbohydrate |
|---|---|---|---|
| Eggs | 4.36 | 9.02 | 3.68 |
| Milk products | 4.27 | 8.79 | 3.87 |
| Wheat, 70–74% extraction (white flour) | 4.05 | 8.37 | 4.12 |
| Rice, polished | 3.82 | 8.37 | 4.16 |
| Wheat, 97–100% extraction (wholemeal) | 3.59 | 8.37 | 3.78 |
| Legumes and nuts | 3.47 | 8.37 | 4.07 |
| Oatmeal | 3.46 | 8.37 | 4.12 |
| Fruits | 3.36 | 8.37 | 3.60 |
| Potatoes | 2.78 | 8.37 | 4.03 |
| Cornmeal, whole | 2.73 | 8.37 | 4.03 |
| Vegetables, other | 2.44 | 8.37 | 3.57 |
Read the protein column top to bottom. Egg protein is credited with 4.36 kcal/g; the protein in most vegetables with 2.44. That is not a rounding difference — it is a factor of 1.8, hiding inside a single printed "4". The reason is digestibility: the protein in an egg is nearly all absorbed, while the protein bound up in plant cell walls substantially is not. The same logic explains why wholemeal wheat scores lower than white flour on both protein and carbohydrate. Milling removes the bran; the bran is the part you were not going to absorb anyway.
And notice the fat column: 8.37 for everything except eggs and dairy. Fat is the macronutrient the system treats as most nearly constant across foods — one more reason a portion error on cooking oil costs you more reliably than a portion error on anything else, a point the macronutrients explainer develops for the three macros side by side.
Fiber's calorie value is a midpoint, and the process behind it is not digestion#
The three factors cover the three macronutrients. Real food contains a fourth thing that supplies energy without being any of them, and the way the system handles it shows how much judgment is baked into a conversion factor.
Fiber is, by definition, carbohydrate you do not digest — so on the strict logic of the Atwater corrections it should be worth nothing. It isn't worth nothing. Fiber that arrives intact in your colon is fermented by resident bacteria into short-chain fatty acids, which you absorb through the colon wall and burn. But fermentation is anaerobic, and anaerobic metabolism recovers far less energy than the aerobic route your small intestine feeds. Reviewing the evidence, the Institute of Medicine put the average yield from fiber fermentation at 1.5 to 2.5 kcal/g4 — and the widely used figure of 2 is simply the middle of that band.
The band is wide for reasons the IOM spells out, and they are not measurement noise. Some of the propionate produced is consumed by the bacteria themselves and never reaches you. Short-chain fatty acids cross the colon wall passively, down a concentration gradient, rather than by active transport — so how much you absorb depends on how much is there. And the acids do jobs in the colon beyond supplying energy, in electrolyte and acid–base balance, which means not all of what is produced ends up as calories at all4. A number that varies with your gut flora, your transit time and which fiber you ate is being reported as a constant.
That is a convention, not a discovery, and different food authorities have settled the convention differently — one of several reasons two apps can price the same food differently. None of it is a reason to eat less fiber; the case for hitting a fiber target has almost nothing to do with its energy value, and is made in fiber's benefits and targets.
Where the arithmetic breaks: whole foods#
The system's own custodians have always said where it fails. The National Research Council's assessment is blunt: the general Atwater factors "are adequate for computation of the energy content of typical diets in the United States, but not of specific foods nor of diets based heavily on fibrous plant foods"3.
The factors were built to be right about a diet. They were never built to be right about a food.
Measure a single food and you can see the gap. Eighteen healthy adults ate a fully controlled diet for two three-week periods, one supplemented with 42 g of walnuts a day, with all urine and feces collected and bomb-calorimetered. A 28 g serving of walnuts delivered 146 kcal — 39 kcal less than the 185 the factors predict, or 21% below5. The walnut's intact cell walls shield much of its fat from digestion, and the specific factor for legumes and nuts, generous at 8.37 kcal/g of fat, does not know that. This is the general shape of the problem for any whole, structurally intact plant food, and it is one strand of the broader question of how much of what you eat you actually absorb.
There is a competing system that would fix part of this. Net metabolizable energy scores foods by their ATP-producing capacity rather than their heat, which drops protein from 17 kJ/g to 13 kJ/g — 4.0 kcal/g to 3.2, a 24% cut — and fiber from 2.0 to 1.4 kcal/g. The FAO's expert consultation nonetheless recommended "the continued use of ME rather than NME factors" for now, on the grounds that every published energy requirement is expressed in metabolizable energy, so switching one side of the ledger without the other would make the two incomparable1.
Which is the practical shape of the whole thing. 4/4/9 is not wrong; it is a 130-year-old average, deliberately kept, applied to foods it was never validated on, with a documented error of about 20% at the awkward end of the range. It is good enough to compare a Tuesday with a Wednesday and too coarse to be argued with over a single nut. Treating a printed calorie figure as a measurement, rather than as the output of this arithmetic, is what makes people distrust tracking when the numbers on two labels disagree. The number was always a model.
FAQ#
Why does fat have more calories per gram than protein or carbs?#
Two reasons together. Fat is chemically more reduced and carbon-dense, so it releases far more heat when burned — around 9.2 to 9.4 kcal/g in dairy fats2. And fat loses almost nothing to the corrections: unlike protein, it contains no nitrogen to be excreted as urea, so nearly all of that heat is credited to you.
Why is protein worth 4 calories per gram when it burns at 5.6?#
Because you never recover the nitrogen. Amino acids burn at 5.27 to 5.95 kcal/g in a calorimeter2, but your body cannot oxidize their nitrogen and excretes it as urea, which still carries chemical energy — Atwater priced that loss at 7.9 kcal per gram of urinary nitrogen. Subtract that plus the fraction never digested and the credited value falls to about 4.
Do you get calories from fiber?#
Some, from bacterial fermentation in the colon rather than from digestion in the small intestine. Because fermentation is anaerobic it recovers much less energy: the Institute of Medicine put the average yield at 1.5 to 2.5 kcal/g, and noted that some of it is consumed by the bacteria or spent on colon function rather than absorbed by you4. The commonly used 2 kcal/g is the midpoint of that band.
Sources#
- FAO. Food energy — methods of analysis and conversion factors. FAO Food and Nutrition Paper 77, Chapter 3: Calculation of the energy content of foods — energy conversion factors. 2003.
- Southgate DAT. The relationship between food composition and available energy. Joint FAO/WHO/UNU Expert Consultation on Energy and Protein Requirements, Rome, 1981.
- National Research Council (US) Subcommittee on the Tenth Edition of the Recommended Dietary Allowances. Recommended Dietary Allowances: 10th Edition, chapter on Energy. National Academies Press, 1989.
- Institute of Medicine. Determination of Energy Values for Fibers. In: Dietary Reference Intakes: Proposed Definition of Dietary Fiber. National Academies Press, 2001.
- Baer DJ, Gebauer SK, Novotny JA. Walnuts consumed by healthy adults provide less available energy than predicted by the Atwater factors. J Nutr. 2016;146(1):9-13.
- 21 CFR 101.9(c)(1)(i) — Nutrition labeling of food: methods for calculating caloric content. US Code of Federal Regulations.



