How to Count Calories in Homemade Food and Recipes
13 min read
You've cooked a big pot of chilli, enough for four dinners this week, and now you want to log it. Search a calorie app for "homemade chilli" and you get somebody else's recipe, made with somebody else's mince and somebody else's glug of oil.
The only numbers that fit your pot are the ones you work out from what went into it. Knowing how to count calories in homemade food comes down to one sum and, ideally, a kitchen scale.
To count calories in homemade food, weigh each ingredient raw, look up its calories per 100 g in a food database, include every spoon of oil, and add it all up. Then divide the total by the number of equal servings, or weigh the cooked dish and work out calories per 100 g to log any portion.
This post covers the method, a worked chilli with real USDA numbers, raw versus cooked weights and cooking fat, and how to save and log a homemade recipe in VitalityApp.

How to count calories in homemade food, step by step
A EuroFIR report on recipe calculation sets out the British method behind McCance and Widdowson's food tables. It adds up the nutrients in the raw ingredients, weighs the cooked dish and gives the result per 100 g.
At home, it comes down to five steps, which the diagram sums up in four. They work for homemade meals from any cuisine.

Step 1: Weigh every ingredient raw
Put a bowl on a kitchen scale, zero it, and weigh each ingredient before it goes in. Weigh meat raw, rice, pasta and lentils dry, and canned beans drained if you drain them. Count everything with calories, including butter, cream, cheese and sugar. Water adds weight but no calories, and a pinch of spices is small enough to skip. If your recipe uses ounces, 1 oz is about 28 g.
Step 2: Look up each ingredient
These three databases are free:
| Database | What's in it | Watch out for |
|---|---|---|
| USDA FoodData Central (US) | Raw and cooked foods, in kcal | Carbs include fibre |
| CoFID, McCance and Widdowson's (UK) | UK foods, including homemade dishes, as a free Excel file | Carbs exclude fibre |
| IFCT 2017, ICMR-NIN (India) | 528 key Indian foods, raw only (except eggs) | Energy in kJ only |
To turn IFCT's kilojoules into kcal, divide by 4.18, the factor IFCT itself uses: masoor dal's 1,349 kJ per 100 g is about 323 kcal. For anything packaged, use the per 100 g figure on its label.
Pick the entry that matches the form you weighed (raw or cooked, drained or with its liquid). Stick to one database per recipe, because they don't always agree: olive oil is 884 kcal per 100 g in USDA and 899 in CoFID.
Step 3: Add the cooking fat
Oil is poured, not weighed, so it's easy to miss. USDA puts a tablespoon of olive oil at 13.5 g, about 119 kcal, and a teaspoon at 4.5 g, about 40 kcal. Weigh the bottle before and after to see exactly how much you poured, and count all of it. If oil is left in the pan after frying, pour it into a bowl on the scale and subtract that.
Step 4: Add it all up
For each ingredient, multiply the grams by the kcal per 100 g and divide by 100. Add the results, and do the same for protein, carbs and fat if you track them.
Step 5: Calculate calories per serving, or per 100 g
- Divide by servings if you split the dish into equal portions.
- Weigh the cooked dish if people help themselves. Weigh the empty pot first, weigh it full, and subtract. Then calories per 100 g = total calories ÷ cooked weight in grams × 100. Weigh your portion: its calories are its grams × calories per 100 g ÷ 100.
The second way allows for water gained or lost in cooking, whatever size your bowl is.
Eating it over several days? Write the calories per 100 g on the container. To serve, put the container on the scale, zero it and take out your portion: the minus figure is what you took.
Layered dishes, such as a pasta bake or lasagne, don't mix evenly. Cut them into equal pieces and divide the total by the number of pieces.
Bone-in meat, as in many chicken curries: weigh the meat off the bone if you can, or weigh the bones afterwards and take their weight off the raw weight.
Worked examples: calculate calories in a recipe
Chilli for four
Here are the ingredients with USDA SR Legacy values (FDC numbers in brackets):
| Ingredient (USDA FDC entry) | Raw weight | kcal |
|---|---|---|
| Beef mince (ground beef), 90% lean (10% fat), raw (174030) | 500 g (1.1 lb) | 880 |
| Olive oil (171413) | 13.5 g (1 tbsp) | 119 |
| Onion, raw (170000) | 150 g (1 large) | 60 |
| Red kidney beans, canned, drained (174285) | 240 g (8.5 oz) | 298 |
| Tomatoes, canned in juice (170051) | 400 g (14 oz) | 64 |
| Total | 1,303.5 g (2.9 lb) | 1,421 |
The pot also holds 124 g protein, 79.5 g carbs (USDA counts fibre as carbs) and 67.2 g fat. Drained weights vary by can, so weigh your beans.
Divide by four: each serving is 355 kcal, with 31.0 g protein, 19.9 g carbs and 16.8 g fat.
Or weigh the pot. Say the cooked chilli weighs 1,150 g (2.5 lb) without the pot (an example figure; yours will differ):
1,421 kcal ÷ 1,150 g × 100 = 124 kcal per 100 g
A 300 g (10.6 oz) bowl is then 371 kcal. Weighing also catches uneven portions: if "a quarter" of the pot is really a third, your bowl is 474 kcal, not 355.
As a sanity check, CoFID lists homemade chilli con carne at 120 kcal per 100 g.
One-portion recipes: overnight oats
With nothing to divide or cook, you just weigh what goes in the jar:
- 40 g (about ½ cup) dry oats
- 122 g (½ cup) 2% milk
- 100 g (3.5 oz) plain non-fat Greek yoghurt
- 10 g chia seeds
- Half a medium banana (59 g)
With USDA values, the jar comes to 373 kcal, with 21.8 g protein, 54.2 g carbs and 8.7 g fat.
Raw vs cooked weight: why calories per 100 g change
Cooking moves water in and out of food. Rice, pasta and lentils soak it up, so they get heavier and have fewer calories per 100 g. Meat loses water, so it gets lighter and has more. The calories in the pan stay almost the same. The main things that leave are water, fat you drain off and alcohol, plus a little starch in pasta water you pour away.
| Food (USDA) | Raw, per 100 g | Cooked, per 100 g | 100 g raw becomes |
|---|---|---|---|
| White long-grain rice | 365 kcal | 130 kcal | about 280 g |
| Pasta | 371 kcal | 158 kcal | about 235 g |
| Lentils | 352 kcal | 116 kcal | about 300 g |
| Chicken breast, roasted | 120 kcal | 165 kcal | about 72 g |

These are averages. CoFID's figures imply that boiled long-grain rice weighs about 2.7 times its dry weight, and basmati about 3 times. USDA's roasted chicken breasts kept 61 to 82% of their raw weight. So weigh food and look it up in the same state: weigh pasta dry, use a dry entry; weigh it cooked, use a cooked one.
In a recipe, enter rice, pasta and lentils at their dry weight and ignore the water they absorb, as EuroFIR's guidance does. Weighing the finished dish takes care of it.
Meat goes the other way: weigh chicken cooked but log it against a raw entry, and you under-count by about a quarter. For a chicken curry, weigh the chicken raw and let the weigh-the-pot step deal with the sauce.
Soups, stews and dal: weigh at the end
A red lentil soup for four:
- 200 g (about 1 cup) dry red lentils
- 1 tbsp olive oil
- 1 medium onion (110 g)
- 1 medium carrot (61 g)
- A 400 g (14 oz) can of tomatoes
- 1 litre (about 4 cups) of water
With USDA values it comes to 968 kcal: 242 kcal a bowl if you divide it by four.
If the finished soup weighs 1,600 g (3.5 lb), it's 60.5 kcal per 100 g, so a 350 g (12 oz) bowl is 212 kcal. Simmer it down to 1,500 g (3.3 lb) and it's 64.5 kcal per 100 g: the same 968 kcal, just more concentrated. Food Standards Australia New Zealand's Nutrition Panel Calculator treats weight lost in cooking the same way. So weigh soups, stews and dal after any simmering. CoFID's homemade mixed dahl, at 60 kcal per 100 g, is close.
Oil, drained fat and fried food
Fried food soaks up fat. Bognár's 1998 study compared frying with other cooking methods. Fried vegetables, potatoes and breaded meat, poultry and fish took up 2 to 14 g of fat per 100 g of raw food, up to about 125 kcal. Deep-fried meat, poultry and fish usually took up less than pan-fried.
Don't count the oil twice. Database entries for fried food already include the oil it absorbed. USDA's chicken breast with skin, fried in batter, is 260 kcal and 13.2 g fat per 100 g, against 197 kcal and 7.8 g roasted. If you log a fried entry, don't add the frying oil as well.
Draining removes some fat. In USDA's cooking yield study, browned mince drained in a colander lost 1.4 g of fat per 100 g of raw meat when it was under 12% fat. Mince over 22% fat lost 12.6 g. So 500 g (1.1 lb) of 90% lean mince loses only about 7 g of fat (about 63 kcal) when you drain it. The same weight of mince over 22% fat loses about 63 g (about 570 kcal), so draining matters far more for fatty mince.
In the chilli above, the fat stays in the pot, so keep the raw value.
Quicker ways to log a homemade dish
Measure the fat, even if nothing else. At 884 kcal per 100 g, oil is the most calorie-dense thing in most pans.
Use level spoons and the same cup each time. Cup and spoon weights for common foods are in the reference table in how to track calories without a food scale.
Borrow a homemade entry, like CoFID's chilli or dahl above, and add the oil separately if you were generous with it.
Split the pot before you eat. Portion it into equal containers as soon as it's cooked, and dividing by servings is accurate without weighing each bowl.
Describe it in VitalityApp. Type the dish with its portion and fat, such as "1 katori (small bowl) homemade dal with 1 tsp ghee". That's an AI estimate of a typical recipe, not a calculation from yours, so check the grams before you add it.
Common mistakes
- Matching the wrong form. 100 g of dry rice logged as cooked rice is 130 kcal instead of 365. Drained kidney beans logged as "solids and liquids" (81 kcal per 100 g in USDA, against 124 drained) lose about a third of their calories.
- Taking calories off for "cooking losses". Unless fat was drained or alcohol cooked off, the total stays about the same however much the dish reduces.
- Weighing the pot with the food. Weigh the empty pot first and write its weight on a strip of tape stuck to it, so you only ever weigh it once.
- Forgetting what goes on at the end. Cream, grated cheese or butter added at the table isn't in the pot. Add it to your portion.
How to save a homemade recipe in VitalityApp
VitalityApp's food search is an AI lookup (with a web search where needed), not a lookup in USDA, CoFID or IFCT. Its figures, and its total for the chilli, can differ a little from this post's. You can't type nutrition values in: if an ingredient looks off, search again with more detail (raw or dry, the lean percentage, the brand).
Build it once
- On the Meals tab, tap + next to a meal, then Can't find your food? Create a custom meal.
- Search for each ingredient with its weight, adding "raw" or "dry" if that's how you weighed it, such as "125 g raw 90% lean beef mince". Otherwise the AI assumes the form you'd usually eat, which for meat, pasta, rice and dal is normally cooked. Results show kcal / 100 g: tap + on the one that matches how you weighed it.
- For packaged ingredients, use Scan label or Scan barcode (barcode on iPhone and Android only). Scans share one allowance: 2 a month on the free plan, up to 50 a day on Plus.
- Check each Amount (g): a scanned item starts at the pack's serving (or 100 g), so change it to what you used. The Total nutrition box adds up kcal, protein, carbs, fat and fibre.
- Tap Next, name the meal and tap Save meal. Saved meals are free.
Save one portion, not the whole pot
Saved meals have no servings or cooked-weight setting, so save one portion: divide each raw ingredient by the number of servings. For the chilli, that's 125 g of beef, 3.4 g of oil, 37.5 g of onion, 60 g of beans and 100 g of tomatoes, about 355 kcal with USDA's values.
Log it again
Next time, tap + next to the meal and pick the recipe from My Saved Meals (or search under View all). Tap Add to Lunch (or whichever meal it is), and it's logged as one entry named after the recipe.
For a different-sized bowl, change the amounts before you add it. Each ingredient has quick amounts in grams, from half to three times what you saved, or you can type each ingredient's grams. To match a weighed bowl, divide its weight by the pot's and multiply by the servings. A 430 g (15 oz) bowl from a 1,150 g pot for four is 1.5 servings. Tap the one-and-a-half amounts: 188 g beef, 5.1 g oil, 56 g onion, 90 g beans and 150 g tomatoes.
There's no box for the bowl's weight. A logged saved meal weighs the sum of its raw ingredients (about 326 g for one chilli portion), so don't edit the logged entry to your cooked bowl's weight. To change the recipe itself, use Edit under View all.
Other apps handle recipes differently. Cronometer lets you set a cooked weight on a recipe, which suits the weigh-the-pot method. MyFitnessPal can import a recipe from a web link on its free plan (in the apps, only with the device set to English), and Cronometer can on its paid Gold plan. MyFitnessPal's help centre also suggests putting the serving size in the recipe's name.
When precision matters
If you're managing diabetes, kidney disease or another condition through diet, are pregnant, or have been given specific targets, a registered dietitian can help you get the numbers right. If weighing every ingredient makes you anxious, or you have a history of eating disorders, talk to your doctor first. VitalityApp's figures are general wellness information, not medical advice: see the medical disclaimer.
Frequently asked questions
Do calories change when you cook food? The total barely changes. Cooking adds or removes water, which changes calories per 100 g; you only lose a meaningful amount when fat drains away or alcohol cooks off.
Should I weigh food raw or cooked? Either, as long as the database entry matches the state you weighed. Raw suits building a recipe; cooked suits serving yourself from a pot once you know its calories per 100 g.
How do I calculate calories per serving? Add up every ingredient's calories and divide by the number of equal servings. If portions vary, work out calories per 100 g (total ÷ cooked weight × 100) and weigh your portion.
How many calories are in homemade chilli? It depends on the mince and the oil. The chilli above is 355 kcal a serving, or 124 kcal per 100 g, and CoFID lists homemade chilli con carne at 120 kcal per 100 g.
How do I count calories in homemade dal or curry? The same way: weigh the dry dal or raw meat, the oil or ghee and everything else, and weigh the pot when it's done. IFCT 2017 gives energy in kJ, so divide by 4.18 for kcal. As a guide, CoFID's homemade lentil dahls range from 60 to 173 kcal per 100 g, depending on the recipe.
Is there a recipe calorie calculator? Many tracking apps have a recipe builder that adds up the ingredients for you, Cronometer and MyFitnessPal among them. In VitalityApp you build a custom meal and save one portion, since it doesn't divide by servings or a cooked weight. Either way, the result is only as good as the weights you enter and the app's nutrition values (AI estimates in VitalityApp).
Keep reading
- How to track calories without a food scale: ways to estimate portions when weighing isn't an option.
- How accurate is AI photo calorie counting?: where estimates miss oil, sauces and mixed dishes.
- AI calorie counter: logging by typing, voice, photo, barcode and label in VitalityApp.
- VitalityApp's Indian food calorie counter: logging dal, roti and thalis in katori, pieces and plates.
- Food and nutrition basics: macros, portions and how to build a balanced plate.
- Is MyFitnessPal free in 2026?: what you get without paying, and free alternatives.
Sources
All checked on 14 October 2026.
- U.S. Department of Agriculture, Agricultural Research Service. FoodData Central: SR Legacy foods 174030, 171413, 170000, 174285, 175195, 170051, 168877, 168878, 169736, 169737, 172420, 172421, 174284, 171077, 171477, 171075, 171475, 170393, 173904, 171267, 170894, 170554 and 173944, from the SR Legacy dataset (April 2018).
- U.S. Department of Agriculture, Nutrient Data Laboratory. USDA Table of Cooking Yields for Meat and Poultry. December 2012.
- U.S. Department of Agriculture, Agricultural Research Service. USDA National Nutrient Database for Standard Reference, Release 28: documentation (carbohydrate by difference includes fibre).
- Public Health England. McCance and Widdowson's Composition of Foods Integrated Dataset (CoFID). GOV.UK, updated 19 March 2021: 2021 dataset and user guide.
- Longvah T, Ananthan R, Bhaskarachary K, Venkaiah K. Indian Food Composition Tables 2017. ICMR-National Institute of Nutrition, 2017.
- Reinivuo H, Laitinen K. Proposal for the harmonisation of recipe calculation procedures. EuroFIR WP2.2 Composite Foods (D2.2.12/M2.2.4). National Public Health Institute (KTL), Finland, 2007.
- Food Standards Australia New Zealand. Calculations in the NPC. Nutrition Panel Calculator user guide, 2026.
- Bognár A. Comparative study of frying to other cooking techniques influence on the nutritive value. Grasas y Aceites, 1998;49(3-4):250–260. doi:10.3989/gya.1998.v49.i3-4.746.
- Cronometer. Create Custom Recipe. Cronometer support.
- Cronometer. Cronometer adds Recipe Importer: "The Recipe Importer is an exclusive feature available to Gold subscribers." Cronometer blog, 25 January 2024.
- MyFitnessPal. Can the recipe feature calculate the number of servings produced? MyFitnessPal help centre.
- MyFitnessPal. How the Recipe Importer works in the iOS and Android apps. MyFitnessPal help centre.