Home › How to make a nutrition label
How to make a Nutrition Facts label from your recipe
The math behind a US nutrition label, in eight steps, with a batch of chocolate chip cookies worked through from start to finish.
Everything here follows 21 CFR 101.9, the FDA regulation for nutrition labeling, in the version in force in October 2026. It covers the standard label for foods for adults and children 4 and over. If you're still deciding whether you need a label at all, read who needs a Nutrition Facts label first.
1Write the recipe by weight
Weigh every ingredient for one whole batch, in grams. Cups and spoons vary too much: a cup of flour packed down weighs noticeably more than one spooned in loosely, and that difference carries straight into your label. This is the example batch:
| Ingredient | Weight | Data used (USDA FoodData Central) |
|---|---|---|
| Semisweet chocolate chips | 340 g | Candies, semisweet chocolate |
| Enriched wheat flour | 280 g | Wheat flour, white, all-purpose, enriched, bleached |
| Butter | 227 g | Butter, salted |
| Brown sugar | 165 g | Sugars, brown |
| Sugar | 150 g | Sugars, granulated |
| Eggs | 100 g | Egg, whole, raw, fresh |
| Salt | 6 g | Salt, table |
| Baking soda | 5 g | Leavening agents, baking soda |
| Vanilla extract | 4 g | Vanilla extract |
2Find nutrient data for each ingredient
For generic ingredients like flour, sugar, butter and eggs, USDA FoodData Central is the standard free source. Its SR Legacy and Foundation Foods sets give nutrients per 100 g. For anything branded (chocolate chips, a spice blend, a sauce base) use your supplier's numbers instead: the Nutrition Facts on the package or the spec sheet they'll send on request. That's the product you actually use, and generic data can be well off for it.
The other route is a lab analysis of the finished food. It costs more per product but measures what you actually bake, which matters for things that change a lot in cooking, like fried foods.
3Total the nutrients for the batch
For each ingredient, multiply its per-100 g values by its weight divided by 100, then add the ingredients up, nutrient by nutrient. 280 g of flour at 364 calories per 100 g gives 1,019 calories, and so on down the list.
4Weigh the finished batch and work out one serving
Baking drives off water, so the baked batch weighs less than the raw ingredients and every gram of it is more concentrated. The example batch is 1,277 g raw. Suppose it weighs 1,160 g out of the oven, 9% lighter. A 30 g serving is then 30 / 1,160 of the batch totals. Dividing by the raw weight instead would make every nutrient about 9% too low.
The serving size itself isn't free choice. It should reflect the amount people customarily eat, and the FDA lists a reference amount for each food category in 21 CFR 101.12. Find your category there before you settle on one.
Weighing the batch accounts for water lost. It doesn't account for nutrients that break down in cooking (some vitamins do), which needs nutrient retention factors or a lab test.
5Round each nutrient
This is where most homemade labels go wrong. Each nutrient has its own rule; the ones in the example:
| Nutrient | Per serving, exact | On the label | Rule |
|---|---|---|---|
| Calories | 145.88 | 150 | to 5 up to 50; to 10 above 50 |
| Total Fat | 7.72 g | 8g | under 0.5 g is 0; to 0.5 g below 5 g; to 1 g from 5 g |
| Saturated Fat | 4.67 g | 4.5g | same as total fat |
| Trans Fat | 0.19 g | 0g | same as total fat |
| Cholesterol | 22.24 mg | 20mg | under 2 mg is 0; 2 to 5 mg is "<5mg"; otherwise to 5 mg |
| Sodium | 139.41 mg | 140mg | under 5 mg is 0; to 5 mg up to 140 mg; to 10 mg above |
| Total Carbohydrate | 19.24 g | 19g | under 0.5 g is 0; under 1 g is "<1g"; otherwise to 1 g |
| Dietary Fiber | 0.71 g | <1g | same as total carbohydrate |
| Total Sugars | 12.85 g | 13g | same as total carbohydrate |
| Added Sugars | 12.80 g | 13g | same as total carbohydrate |
| Protein | 1.50 g | 1g | same as total carbohydrate |
The full set, with vitamins, minerals and serving sizes, is on the rounding rules page.
6Work out the % Daily Values
%DV is the amount divided by the Daily Value, rounded to the nearest whole percent. Saturated fat in the example: 4.5g out of a 20 g Daily Value is 22.5%, so the label says 23%. The regulation lets you divide either the exact amount or the rounded one; LabelWhisk uses the rounded amount so a "0g" line can never show a percent, and the exact amount for "<" lines. Dietary fiber is <1g with 3% because its exact amount, 0.71 g, is used.
Vitamin D, calcium, iron and potassium round their percents in steps: 2% up to 10%, 5% up to 50%, 10% above. The example's calcium (10.39 mg) is under 1% of the 1,300 mg Daily Value, so it's declared as 0.
7Write the ingredient list and allergen statement
List ingredients in descending order by weight in the recipe, using their common names. An ingredient that has its own ingredients, like chocolate chips, lists them in parentheses. Then, if the food contains any of the nine major allergens (milk, egg, fish, crustacean shellfish, tree nuts, peanuts, wheat, soy, sesame), say so. For the example:
Ingredients: Semisweet chocolate chips (sugar, chocolate, cocoa butter, milk fat, soy lecithin, vanilla), Enriched wheat flour, Butter, Brown sugar, Sugar, Eggs, Salt, Baking soda, Vanilla extract.
Contains: Milk, Egg, Wheat, Soy.
8Lay out the panel
The standard vertical panel has a fixed order of lines, minimum type sizes and specific rule weights. Fill in the blank template by hand, or let LabelWhisk do steps 3 to 8 from your recipe. This is the label for the example cookies:
Skip the spreadsheet
LabelWhisk runs this whole calculation from your recipe and shows you the label before you pay. Page two of the PDF records the data behind each ingredient and how the serving was worked out.