Nutrition

How to Calculate Calories and Macros in a Homemade Recipe

A free calculator and the cooked-weight method nutrition apps skip: get calories, protein, carbs and fat per serving or per gram for anything you cook.

7 min readBy the CookEase team
A homemade rice and chicken bowl next to a kitchen scale while olive oil is poured from a measuring spoon

The short answer

  • Add up the calories and macros of every ingredient by weight, then divide by the number of servings. That gives the per-serving numbers for the whole recipe.
  • Weigh ingredients raw and use raw values. Logging 300 g of dry rice as cooked rice undercounts it by about 700 calories, the most common error in homemade tracking.
  • For portions that are not equal, weigh the finished dish, divide the totals by that weight, and multiply by the grams on your plate.
  • Count the cooking oil. Two tablespoons of olive oil is about 240 calories, a tenth of the whole dish in our example, and it is the ingredient people most often forget.

Packaged food comes with a nutrition label. The chili you made on Sunday does not. If you track calories or protein, homemade food is where the numbers go fuzzy, and the fuzz usually runs in one direction: low.

The fix is not complicated. It takes a kitchen scale, one free database and about five minutes per recipe. Below is the method, a calculator that does the arithmetic, and the three mistakes that throw most homemade numbers off by hundreds of calories.

The method in four steps

  1. 1

    Weigh every ingredient as it goes in

    Grams, raw, before cooking. Include the oil in the pan, the butter, the sauce and the cheese on top.
  2. 2

    Look up each ingredient per 100 g

    From the package label, or from USDA FoodData Central for produce, meat and anything without a label. Match the state: raw values for raw weights.
  3. 3

    Multiply and add up

    For each ingredient: grams divided by 100, times its calories, protein, carbs and fat. Add every row together for the whole recipe.
  4. 4

    Divide by servings, or by cooked weight

    Equal portions: divide the totals by the number of servings. Unequal portions: weigh the finished dish and work per gram (more on that below).

Homemade recipe calorie and macro calculator

The calculator is filled in with a real example: four honey soy chicken and rice bowls, using USDA values for every ingredient. Replace the rows with your own recipe. Every number is editable, and you can start from a blank table.

Recipe calorie and macro calculator

Grams in the recipe, then nutrition per 100 g.

Whole recipe

2,430 kcal

188.4 g protein · 302.7 g carbs · 48.5 g fat

Per serving (1 of 4)

608 kcal

47.1 g protein · 75.7 g carbs · 12.1 g fat

Per 100 g cooked

128 kcal

9.9 g protein · 15.9 g carbs · 2.6 g fat

Your 450 g portion

576 kcal

44.6 g protein · 71.7 g carbs · 11.5 g fat

Check: the macros add up to 2,401 kcal at 4 per gram of protein and carbs and 9 per gram of fat, against 2,430 kcal from the calorie column. A small gap is normal (food databases use food-specific factors); a big one means a typo in a row.

For this recipe, each of the four servings comes to about 608 calories with 47 grams of protein, 76 grams of carbs and 12 grams of fat. Notice where the calories come from: the dry rice carries almost half of them, and the two tablespoons of olive oil carry almost twice as many calories as the 400 grams of broccoli.

Where the calories in the example bowl come from
White rice (300 g dry)
45%
Chicken breast (680 g raw)
34%
Olive oil (2 tbsp)
10%
Broccoli (400 g)
6%
Honey (2 tbsp)
5%
Soy sauce (2 tbsp)
1%

Source: USDA FoodData Central values, calculated for the example recipe above.

Mistake 1: mixing raw weights with cooked values

This is the big one. Rice and pasta soak up water as they cook, so 100 grams of cooked rice holds far fewer calories than 100 grams of dry rice. Meat does the opposite: it loses water, so cooked chicken is denser in calories than raw. Weigh an ingredient in one state and look it up in the other, and the error is enormous.

365kcal

100 g of white rice, dry

USDA FoodData Central

130kcal

100 g of white rice, cooked

The same rice after it absorbs water

705kcal

missing if 300 g of dry rice is logged as cooked

1,095 kcal real, 390 kcal logged

The same mix-up with the chicken runs the other way: 680 grams of raw breast is about 816 calories, but logged against a roasted chicken entry (165 calories per 100 g) it shows up as roughly 1,120. Neither number is wrong on its own. The mistake is pairing a weight from one state with a value from the other.

Mistake 2: dividing by servings when portions are uneven

"Serves 4" is a guess. If one person takes a big scoop and another a small one, dividing by four gives both of them the wrong number. Weighing the finished dish fixes that, and it is a step many tracking guides skip.

  1. 1

    Weigh your empty pot or container first

    Write it on a piece of tape on the lid and you only ever do this once.
  2. 2

    Weigh it again with the finished food

    Subtract the pot. Say the finished example dish weighs 1,900 g.
  3. 3

    Work out calories per gram

    2,430 kcal in the recipe divided by 1,900 g is about 1.28 kcal per gram, or 128 per 100 g.
  4. 4

    Weigh your portion

    A 450 g bowl is 450 times 1.28, about 576 kcal. Leftovers keep the same number per gram, so tomorrow’s lunch is just as easy.

The calculator does this automatically when you fill in the cooked weight and your portion. It also works for anything that is portioned unevenly: soups, casseroles, sheet pan dinners, a batch of overnight oats.

Mistake 3: forgetting what goes in the pan

Cooking fat is the ingredient people forget most, because it never feels like food. But oil is pure fat at about 9 calories per gram, so it adds up faster than anything else in the recipe.

Eyeball a glug of oil

A free pour from the bottle is often closer to three or four tablespoons than one, and every tablespoon of olive oil is about 120 calories.

Measure it, then count it

Use a spoon or put the pan on the scale and pour. Log what went in. If you drain off a lot of fat after browning meat, note it as an estimate.

The other quiet additions

  • Sauces and glazes: honey, sugar, maple syrup and bottled sauces add carbs that are easy to leave out.
  • Toppings: cheese, nuts, avocado and a drizzle of dressing, added after the "recipe" is done.
  • Cooking liquids that stay in: coconut milk and cream count; water and plain broth barely do.

Why your numbers won't match another app exactly

Calories are estimated, not measured, almost everywhere. Most food values come from a system developed by Wilbur Atwater over a century ago, which assigns about 4 calories per gram to protein and carbohydrate and 9 to fat. Food databases refine those averages with factors specific to each food, and package labels may round. So two careful calculations of the same dish can differ by a few percent.

Being consistent matters more than being exact. Use the same database and the same method every time, and your numbers will track your eating honestly.

The calculator shows a check line for this: it compares the calories in your rows with the calories implied by your macros. A gap of a few percent is the system working as designed; a big gap almost always means a mistyped row. For more on how far to trust estimates in general, see nutrition estimates vs. package labels.

Doing this for recipes you save from videos and blogs

Recipes from TikTok and Instagram rarely come with nutrition, and when a creator does list macros, the serving count is often vague. This is where the method pays off: the ingredient list and amounts are all you need.

CookEase does the calculation for every recipe you save: it works out calories, protein, carbs and fat for the whole recipe from its ingredients and amounts, then divides by the servings, and it keeps the numbers as stated when the creator gives them. If you weigh things yourself, you can type your own figures into any recipe and they stay. Change the servings and the per-serving numbers follow. The nutrition help page explains how the numbers are worked out.

A recipe in the CookEase iPhone app showing the serving size, calories, protein, carbs and fat per serving
Per-serving calories and macros on a saved recipe, with the serving size spelled out.

Every saved recipe, with its macros.

Save a recipe from any link or video and get calories, protein, carbs and fat per serving, ready to log.

Frequently asked questions

How do I calculate the calories in a homemade recipe?

Weigh each ingredient, look up its calories per 100 grams on the package or in USDA FoodData Central, and multiply by the grams you used divided by 100. Add up every ingredient for the whole recipe, then divide by the number of servings. The calculator on this page does the arithmetic for you.

Should I weigh food raw or cooked when counting calories?

Weigh raw, and look up raw values. Cooking changes weight (meat loses water, rice and pasta absorb it), so the calories per gram change too. Raw weights matched with raw database entries give the most reliable totals. Then, if you want to split the dish by weight, weigh it once more after cooking.

How do I calculate macros per serving if portions are different sizes?

Weigh the whole finished dish without the pot. Divide the recipe totals by that weight to get calories and macros per gram, then multiply by the weight of your portion. A 450 gram bowl of a dish that is 1.28 calories per gram is about 576 calories, however big everyone else’s bowl is.

Why don’t my macros add up to my calories?

The quick rule of 4 calories per gram of protein and carbohydrate and 9 per gram of fat is an average. Food databases use factors specific to each food, and fiber and alcohol complicate things further, so a gap of a few percent is normal. A large gap usually means a typo in one ingredient.

Where do I find nutrition data for an ingredient with no label?

USDA FoodData Central is the free, official US database, with values per 100 grams for raw and cooked versions of thousands of foods. Search for the ingredient and pick the entry that matches its state (raw or cooked) and form (with or without skin, dry or canned).

Sources

  1. An Improved Method To Estimate Calories, USDA Agricultural Research Service
  2. FoodData Central, USDA

Keep reading