How to Calculate the Macros of a Recipe (Step by Step)

Raw weights, reliable per-100 g values, totals, servings by weight, cooked vs. raw rules and the mistakes that throw recipe macros off, with a worked example.

By the SendFit team · Published ·7 min read

A recipe with the wrong macros is worse than no recipe. The client eats "450 kcal, 40 g protein" every day for lunch, the plan adds up on paper, and nothing happens, because the real number was 650 and 28. Most of the time the error isn't in the arithmetic. It's in the weights, the cooking, and the oil nobody wrote down.

This guide covers how to calculate the macros of a recipe correctly, step by step, with a worked example and the mistakes that throw the numbers off.

Step 1: Write the ingredients in raw weights

Every ingredient, with a weight in grams, as it goes into the pan. Not "one chicken breast" (anywhere from 120 to 300 g), not "a cup of rice" (dry or cooked? packed?), not "a splash of oil".

Weigh raw, because the nutrition data you'll look up is almost always for the raw food, and because raw weights don't change with how long you cook. If the client will be weighing portions, they'll weigh what you tell them to; the recipe just needs to be consistent.

The list for a simple chicken rice bowl:

  • Chicken breast, raw: 500 g
  • Basmati rice, dry: 250 g
  • Olive oil: 20 g
  • Broccoli, raw: 300 g
  • Soy sauce: 30 g
  • Garlic, ginger, spices: negligible

Weigh the oil. A "tablespoon" of oil poured from the bottle is anywhere from 10 to 20 g, which is 90 to 180 kcal. Oil is the single biggest source of error in home-cooked recipe macros.

Step 2: Look up values per 100 g

Use a reliable database. For generic ingredients, the USDA FoodData Central values are the standard and the ones most apps draw on. For branded products, use the label on the pack; a specific brand of sauce or yogurt can differ a lot from the generic entry.

Per 100 g, approximately:

IngredientkcalProteinCarbsFat
Chicken breast, raw12022.5 g0 g2.6 g
Basmati rice, dry3508 g78 g1 g
Olive oil8840 g0 g100 g
Broccoli, raw342.8 g7 g0.4 g
Soy sauce538 g5 g0 g

Note the chicken: the raw value is 120 kcal per 100 g, the cooked value in most databases is around 165. They describe the same meat before and after it loses water. Using the cooked value for the raw weight overstates everything by about a third.

Step 3: Multiply and add up

For each ingredient, multiply the per-100 g value by the weight divided by 100, then sum the columns.

IngredientWeightkcalProteinCarbsFat
Chicken breast, raw500 g600112.5 g0 g13 g
Basmati rice, dry250 g87520 g195 g2.5 g
Olive oil20 g1770 g0 g20 g
Broccoli, raw300 g1028.4 g21 g1.2 g
Soy sauce30 g162.4 g1.5 g0 g
Whole recipe1,770143 g218 g37 g

Check the total against the macros: 143 × 4 + 218 × 4 + 37 × 9 = 572 + 872 + 333 = 1,777 kcal. Close to the summed 1,770; the small gap is normal (fiber and rounding). If the two numbers are far apart, something was entered wrong.

Step 4: Divide by servings, by weight

The recipe makes four servings. The easy answer is 1,770 ÷ 4 = 443 kcal per serving, with 36 g protein, 55 g carbs, 9 g fat. That's right if the client eats exactly a quarter.

The reliable method is to weigh the finished dish. Say the cooked bowl weighs 1,400 g (the rice gained water, the chicken and broccoli lost some). Then:

  • One serving at 350 g is a quarter: 443 kcal.
  • A client who scoops 420 g has eaten 30% of the recipe: 531 kcal, 43 g protein.

Put both in the recipe: "4 servings of about 350 g cooked, 443 kcal each". The client can weigh the portion, and the numbers survive uneven serving.

Cooked versus raw: the rules

Cooking changes weight, not calories. The same food has the same energy before and after; it just holds more or less water.

  • Meat and fish lose 20–30% of their weight when cooked. 100 g raw chicken becomes about 75 g cooked, still 120 kcal.
  • Rice and pasta roughly triple in weight. 100 g dry rice becomes about 300 g cooked, still 350 kcal.
  • Vegetables lose some water when roasted, gain some when boiled.
  • Oil doesn't go anywhere. Whatever was in the pan is in the dish, apart from what's left in the pan.

The rule: match the weight to the database entry. Raw weight with raw values, or cooked weight with cooked values. Never mix. If a client is logging cooked chicken with the raw entry, they're under-counting by about 30%; the reverse over-counts by the same.

Common mistakes

  • Unweighed oil, butter and nut butter. Always the first thing to check when a recipe seems too low.
  • "One serving" with no weight. Define a serving in grams.
  • Mixing raw and cooked values. The 30% error that explains a lot of stalled clients.
  • Forgetting the sauce, the cheese on top, the stock cube, the milk in the mash. Small items add up to 100–200 kcal.
  • Using the wrong database entry. "Yogurt" ranges from 55 to 130 kcal per 100 g depending on fat content and sugar. Pick the one that matches the product.
  • Copying macros from a recipe website. Many are wrong, and almost none were built for the quantities you're using. Recalculate.
  • Rounding each ingredient before summing. Round the totals, not the parts.

Keep a library, not a spreadsheet

Calculating one recipe is ten minutes. Calculating it again next month for another client is ten minutes you shouldn't spend. Save every recipe with its ingredients, raw weights, servings and per-serving macros, and reuse it. Over a year a coach builds a library of 50–100 recipes that cover most clients, which is the main lever in cutting meal planning time.

A spreadsheet works. Software built for it works better, because the macros update when you change a quantity and the recipe drops into a plan with its numbers attached. In SendFit you add ingredients from a food database by weight and the recipe's macros are calculated from them; you can paste a recipe as text and it matches the ingredients for you; and the plan shows each day adding up from the recipes in it. The vault starts with 1,000 recipes already worked out, and every one you add joins them.

Check your work

Two quick sanity checks on any recipe:

  1. Does the energy from the macros (4/4/9) land within about 5% of the summed calories? If not, an entry is wrong.
  2. Does the per-serving protein make sense for the amount of meat, fish, eggs or dairy in it? 150 g of raw chicken gives about 34 g; if the serving says 50, something's off.

When the numbers pass both, the recipe is ready for a plan, and the client's lunch means what the plan says it means. For how those meals fit into a day's targets, see how to calculate macros for clients.