How to Calorie Count Homemade Food by Weight
How to calorie count homemade food: weigh each ingredient, total the calories and macros, weigh the finished pot and divide. A worked USDA chili example.
Counter44
Calorie Tracker
Log your meals as you go
Counter44 tracks calories and macros against a daily target.
Free · No sign-up needed
Disclaimer: This article is general nutrition information, not medical advice. Every calorie figure here is an estimate. If you have a medical condition or specific dietary needs, talk to a doctor or registered dietitian.
A recipe that says “serves 6” can’t tell you what’s in your bowl. Pots reduce by different amounts, ladles vary, and whoever serves first usually gets the most meat. A kitchen scale fixes all three.
Two formulas do all the work. Total calories ÷ finished grams × 100 = calories per 100 g. Then your portion in grams × calories per 100 g ÷ 100 = the calories in your portion. Protein, carbs and fat work the same way.
- Weigh the finished dish as well as the ingredients. Simmering drives off water, so the pot ends up lighter than the raw ingredients. Dividing by the raw weight undercounts every bowl.
- Do macros in the same pass. Protein, carbs and fat follow the exact math that calories do.
- Match each entry to how you weighed the food. Raw beef gets a raw entry. Drained canned beans get a drained entry. And weigh the oil.
- Treat the result as an estimate. Database values are averages and labels are rounded. Weighing makes your count consistent from day to day, though never perfect.
What you need before you start the pot
A digital kitchen scale with a tare button. Set it to grams. Food databases list nutrients per 100 g, so grams save you a conversion at every step.
The empty weight of your pot. Weigh it before you cook and write the number on a strip of masking tape stuck to the lid or handle. At the end you subtract it from the full weight. Forgot? Ladle the finished food into a container you’ve already weighed.
Nutrition numbers for each ingredient. For whole foods like meat, vegetables, beans and grains, USDA FoodData Central is the free US government reference. Search an ingredient and it lists calories, protein, carbs and fat per 100 g.
For packaged ingredients, use the label. The FDA’s guide to the Nutrition Facts label says the nutrient amounts, calories included, “refer to the size of the serving.” To get a per-gram figure, divide each value by the serving’s weight in grams. Say a label shows 120 calories for a 30 g serving: that works out to 4 calories per gram.
Entries that match the state you weigh in. Weighing raw beef? Use a raw beef entry. Draining a can of beans? Use the “drained solids” entry, not one that includes the liquid. Mixing raw weights with cooked entries is the fastest way to throw a count off, and the numbers further down show by how much.
The batch method in five steps
This is the weight-yield method that food-composition compilers use. EuroFIR, the European Food Information Resource association, tells food businesses to “use a cooking test to determine your own weight yield factor (YF) for your recipe.” In a home kitchen, that cooking test is two trips to the scale.
Step 1: Weigh each ingredient as it goes in
Put the bowl on the scale, tare it, add the ingredient and write down the grams. Include the oil, butter, sugar and spices. Water has no calories, but jot its weight down too so you can see how much the pot loses.
Step 2: Turn each line into calories and macros
For every ingredient, multiply its grams by the value per 100 g and divide by 100. Do it for calories, protein, carbs and fat, then add up each column. A notes app or a small spreadsheet handles this fine.
Step 3: Cook, then weigh the finished dish
When it’s done, weigh the full pot and subtract the empty pot. That number is your finished weight. Do it before anyone serves themselves.
Step 4: Work out the per-100 g figures
Divide each column total by the finished grams and multiply by 100:
calories per 100 g = total calories ÷ finished grams × 100
Repeat for protein, carbs and fat. Now you have one set of numbers for the whole pot, and it works for any portion size.
Step 5: Weigh your portion
Set your bowl on the scale, tare it and serve. Your portion’s calories are its grams × calories per 100 g ÷ 100. Leftover containers work the same way: weigh the food going in and write the grams on the lid.
Worked example: one pot of beef and bean chili
Every value below comes from the SR Legacy data set in USDA FoodData Central. SR Legacy had its final release in April 2018 and won’t be updated, so these figures will stay put if you look them up. Search each FDC ID on the FoodData Central site to check them. Carbs are “by difference,” which means they include fiber.
The beef is 93% lean, browned in the pot and not drained. All its fat stays in the chili, so the raw entry is the right one.
| Ingredient (as weighed) | FDC ID | kcal / 100 g | Protein g | Carbs g | Fat g | Grams used |
|---|---|---|---|---|---|---|
| Olive oil | 171413 | 884 | 0 | 0 | 100 | 14 |
| Onions, raw | 170000 | 40 | 1.1 | 9.34 | 0.1 | 150 |
| Ground beef, 93% lean, raw | 173110 | 152 | 20.85 | 0 | 7 | 500 |
| Red kidney beans, canned, drained solids | 174285 | 124 | 7.98 | 21.49 | 1.05 | 480 |
| Tomatoes, canned in tomato juice | 170051 | 16 | 0.79 | 3.47 | 0.25 | 800 |
| Chili powder | 171319 | 282 | 13.46 | 49.7 | 14.28 | 8 |
| Water | n/a | 0 | 0 | 0 | 0 | 240 |
The gram amounts are this example’s own weighed quantities. Each ingredient’s share is its grams × the per-100 g value ÷ 100:
| Ingredient | kcal | Protein g | Carbs g | Fat g |
|---|---|---|---|---|
| Olive oil, 14 g | 123.76 | 0 | 0 | 14.00 |
| Onion, 150 g | 60.00 | 1.65 | 14.01 | 0.15 |
| Beef, 500 g | 760.00 | 104.25 | 0 | 35.00 |
| Kidney beans, 480 g | 595.20 | 38.30 | 103.15 | 5.04 |
| Tomatoes, 800 g | 128.00 | 6.32 | 27.76 | 2.00 |
| Chili powder, 8 g | 22.56 | 1.08 | 3.98 | 1.14 |
| Water, 240 g | 0 | 0 | 0 | 0 |
| Total (raw weight 2,192 g) | 1,689.52 | 151.60 | 148.90 | 57.33 |
After simmering uncovered, the finished chili weighs 1,850 g with the pot subtracted. That weight is hypothetical. Your pot, burner, lid and simmer time all change how much water leaves, and that’s why you weigh your own. Here the yield is 1,850 ÷ 2,192 = 0.84, so the pot lost about 16% of its weight.
Per 100 g of finished chili:
- Calories: 1,689.52 ÷ 1,850 × 100 = 91.33 kcal
- Protein: 151.60 ÷ 1,850 × 100 = 8.19 g
- Carbs: 148.90 ÷ 1,850 × 100 = 8.05 g
- Fat: 57.33 ÷ 1,850 × 100 = 3.10 g
A 350 g bowl:
- Calories: 350 × 91.33 ÷ 100 = 319.7 kcal, call it 320
- Protein: 350 × 8.19 ÷ 100 = 28.7 g
- Carbs: 350 × 8.05 ÷ 100 = 28.2 g
- Fat: 350 × 3.10 ÷ 100 = 10.85 g, about 10.9 g
Two wrong answers from the same pot
Dividing by the raw weight. Use 2,192 g instead of 1,850 g and you get 1,689.52 ÷ 2,192 × 100 = 77.08 kcal per 100 g. The same 350 g bowl then logs as 350 × 77.08 ÷ 100 = 269.8 kcal. That’s 49.9 kcal short, about 50 kcal or 15.6% low. The size of the gap equals the share of weight the pot lost (1 − 1,850 ÷ 2,192), so a pot that reduces more makes this error bigger.
Dividing by servings. “Serves 6” gives 1,689.52 ÷ 6 = 281.6 kcal a serving. That holds only if all six bowls weigh the same 308 g (1,850 ÷ 6 = 308.3). Real ladling is never that even.
Why the macros don’t multiply out to the calories
If you check the per-100 g row with 4 kcal per gram of protein and carbs and 9 per gram of fat, you get 8.19 × 4 + 8.05 × 4 + 3.10 × 9 = 92.9 kcal, not 91.33. Nothing is broken. SR Legacy calculates energy with food-specific factors: beef protein counts as 4.27 kcal per gram, for example, and kidney bean protein as 3.47. Federal labeling rules allow both methods. Add up the calories the database gives you and don’t recompute them from the macros.
Where homemade counts go wrong
Cooking oil
Oil is the most calorie-dense ingredient in most pots and the easiest to pour by eye. USDA’s portion data puts a tablespoon of olive oil at 13.5 g, which is about 119 kcal. In the chili above, an extra 14 g of oil (about a tablespoon) adds 123.76 kcal to the pot and about 23 kcal to a 350 g bowl. Pour it onto the scale instead of glugging it from the bottle.
Count the oil that stays in the food. For frying, the EuroFIR guideline says to “insert only the amount of fat absorbed,” so weigh what’s left in the pan afterward and subtract it.
Drained fat
If you brown a fattier grind and pour the fat off, a raw entry still counts fat that went into the jar. You have two clean options. Use a lean grind and skip the draining, as the example does. Or weigh the meat after browning and draining, and log it with a cooked entry. In USDA’s cooking-yield study, the ground beef crumbles were cooked in a skillet and “drained in a colander,” which is close to what you do at the stove.
Raw and cooked mix-ups
Cooking changes grams, so the same food has different calories per gram raw and cooked:
- Browned beef logged as raw. 100 g of cooked 93% lean crumbles (FDC 174755) is 209 kcal. Log it with the raw entry and you record 152 kcal, 27% low.
- Cooked rice logged as dry. 100 g of cooked long-grain white rice (FDC 168878) is 130 kcal. The dry entry (FDC 168877) says 365 kcal, 2.8 times too high.
The rule from the first section covers both: the entry has to match the state you weighed.
Food left in the pot
Some chili always stays on the spoon and the pot walls. EuroFIR’s guideline allows a correction “for any wastage due to ingredients left on utensils and in the vessels.” At home the effect is small. Weighing ingredients straight into the pot keeps the totals honest, and because you log each portion by weight, chili stuck to the pot wall never gets logged.
The next batch
Making the same chili next month? Keep your ingredient totals, but weigh the finished pot again. A lid left on, a longer simmer or a wider pot changes the finished weight, and with it every per-100 g number. Treat each batch as its own result.
How accurate is the result?
This is the method food-composition tables use, but every input is an average. As EuroFIR puts it, “data in food composition tables are presented as average values.” Your onion isn’t the average onion.
Labels have slack too. US rules round label calories to the nearest 5 up to 50 calories and to the nearest 10 above that. A food is misbranded only when its calories run more than 20% over the label. In one study, measured calories in 10 supermarket frozen meals averaged 8% more than stated, though the difference wasn’t statistically significant. Those were reduced-calorie commercial meals, not home cooking, but the lesson carries over: stated numbers are estimates.
So aim for consistency. Weigh what you can and use the same entries each time. Treat the per-100 g figure as a good estimate; it was never going to be a lab result.
Save the batch and log each portion
Once you have per-100 g numbers, any tracker that supports custom foods can hold them, with or without a recipe feature.
Counter44, the calorie and macro tracker behind this site, has no recipe builder. The batch math happens on paper, in a notes app or in a spreadsheet, and the result goes into a custom food. Counter44 stores every food, custom ones included, as calories, protein, carbs and fat per 100 g (or mL), plus a serving size and an optional serving name. Keep both your per-100 g numbers and your per-bowl numbers handy when you save it.
- One custom food per batch. Name it after the batch, like Chili (Oct batch). Custom foods are unlimited on the free tier, so there’s no reason to overwrite last month’s pot.
- Log each portion by weight. Find the custom food in Add Food search or My Foods and log the grams on your scale. The bowl’s protein, carbs and fat show up in the day’s macro bars next to the calorie ring.
- Leftovers and late logging. Log a leftover bowl on the day you eat it. Forgot yesterday’s dinner? Swipe back to that day on the Today screen and add it there.
- Soups and stews in grams. Counter44 treats grams and milliliters as interchangeable, with no density conversion. A weighed portion is the accurate one for anything thick.
- When you can’t recover the recipe. For a dish someone else cooked or a takeaway, pick the closest prepared dish in the bundled database (generic entries include lasagna, macaroni and cheese and burritos), or Quick Add your own estimate of calories and macros. Both are rougher than a weighed batch.
Food logging, custom foods and Quick Add are free, with no account and no ads. If you want to try the method this week, you can download Counter44 for iOS and Android.
References
- USDA FoodData Central. Source of every per-100 g value in the worked example (SR Legacy data set; search by FDC ID). USDA’s portion data in the same set gives olive oil at 13.5 g per tablespoon.
- USDA FoodData Central: FAQ. States that SR Legacy, released in April 2018, is the final release of that data type and will not be updated.
- EuroFIR AISBL. How to Calculate Nutrient Content of Foods: A Guideline for Food Business Operators. Defines the yield factor as total cooked weight divided by total raw ingredient weight, and covers absorbed frying fat, wastage on utensils and average values.
- Roseland, J. M. et al. (2014). USDA Table of Cooking Yields for Meat and Poultry, Release 2. USDA Agricultural Research Service. Defines cooking yield as weight change from moisture loss, water absorption or fat gain and loss, and describes ground beef crumbles cooked in a skillet and drained in a colander.
- USDA Table of Nutrient Retention Factors, Release 6 (2007). USDA Agricultural Research Service. Retention factors cover vitamins and minerals, with no column for energy, protein, fat or carbohydrate.
- 21 CFR 101.9, Nutrition labeling of food (Cornell Legal Information Institute). Calorie rounding to 5- and 10-calorie increments, the 20% misbranding threshold, and the allowed calorie calculation methods, including specific Atwater factors and the general 4, 4 and 9 factors.
- U.S. Food and Drug Administration. How to Understand and Use the Nutrition Facts Label. Label nutrient amounts, calories included, refer to the size of the serving.
- Urban, L. E. et al. (2010). The accuracy of stated energy contents of reduced-energy, commercially prepared foods. Journal of the American Dietetic Association. Measured energy in 10 supermarket frozen meals averaged 8% more than stated, and 29 restaurant foods averaged 18% more; the differences were not statistically significant.
Counter44
Calorie Tracker
Start with one meal
Counter44 works out your daily target from your height, weight and goal. Then you log what you eat and keep a streak going.
Free · No sign-up needed
Frequently Asked Questions
How do you calculate calories per gram of a homemade dish?
Add up the calories of every ingredient, then divide by the finished weight of the dish in grams. Multiply by 100 to get calories per 100 g. In the chili example in this guide, 1,689.52 kcal divided by 1,850 g comes to about 0.91 kcal per gram, or 91.33 kcal per 100 g.
Should you weigh ingredients raw or cooked for a recipe?
Weigh each ingredient in the same state as the database entry you use, which usually means raw as it goes into the pot. Then weigh the whole dish after cooking. The ingredient weights give you the calorie total, and the finished weight tells you how many grams that total is spread across.
How do I log a portion of soup or casserole I made?
Weigh your portion in grams, multiply by the dish's calories per 100 g and divide by 100. Do the same for protein, carbs and fat. Weigh soup rather than measuring it by the cup or ladle, because each scoop picks up a different mix of broth and solids.
Do I count the oil I cook with?
Yes. Count the oil that ends up in the food, by weight. USDA's portion data puts a tablespoon of olive oil at 13.5 g, about 119 kcal. If oil is left in the pan, weigh or estimate what's left and leave it out. For frying, the EuroFIR recipe guideline says to count only the fat the food absorbs.
Does cooking change the calories in food?
Cooking mostly changes weight. Water evaporates or gets absorbed, and fat drips out or gets added, so cooked food has different calories per gram than raw food. USDA's nutrient retention tables track vitamins and minerals, not calories. Weighing the finished dish captures the weight change.
Do I have to redo the math every time I make the recipe?
Keep the ingredient totals, but weigh every finished batch. Each pot reduces by a different amount, so the per-100 g figure moves even when the ingredients don't. In Counter44, save each batch as its own custom food, for example Chili (Oct batch), instead of editing the previous one.
What if someone else cooked and I don't know the recipe?
Use the closest generic database entry for that dish, or log your own estimate of calories and macros. Both are rougher than the weighed method. An honest estimate still beats a blank day in your log.
How accurate is calorie counting homemade food?
It's an estimate. Database values are averages, US label calories are rounded to the nearest 5 or 10 calories, and federal rules treat a food as misbranded only when its calories run more than 20% over the label. Weighing the same way every time keeps your log consistent from one day to the next.