LabelMath

21 CFR 101.9 · USDA FoodData Central

Nutrition facts label generator

Type in a recipe and this nutrition facts label generator returns a finished FDA Nutrition Facts panel — nutrients aggregated from 5,276 USDA ingredients, divided by your serving count, then rounded by the increments in 21 CFR 101.9. Six label formats, PNG, SVG and vector PDF, and the arithmetic shown line by line. Free, no account, no limit on labels.

Show the arithmetic

Total Fat contributed by each ingredient
IngredientWeightPer 100 gContributes
Butter227.0 g81.11 g184.12 g
Semisweet chocolate chips364.0 g30.00 g109.20 g
Eggs100.0 g9.51 g9.51 g
Enriched bleached wheat flour281.3 g0.98 g2.76 g
Vanilla extract4.2 g0.06 g0.00 g
Brown sugar165.0 g0.00 g0.00 g
Sugar150.0 g0.00 g0.00 g
Baking soda4.6 g0.00 g0.00 g
Salt6.0 g0.00 g0.00 g
Whole recipe305.59 g

305.59 g ÷ 36 servings = 8.489 g per serving

5 g and above rounds to the nearest 1 g increment. → declared as 8g (101.9(c)(2))

8g ÷ Daily Value = 10.26% → 10% DV (101.9(d)(7)(ii))

Incomplete USDA data: Enriched bleached wheat flour, Brown sugar, Sugar, Baking soda, Semisweet chocolate chips. Missing values are treated as zero, which can understate a nutrient. Vitamin D is the usual gap.

What the generator actually does with your recipe

Four steps, in this order, and each one is visible in the panel above. First, every ingredient line is converted to grams — mass units exactly, volume units using the cup weight USDA publishes for that specific food, because a cup of flour and a cup of honey are 125 g and 339 g respectively. Second, the per-100 g nutrient profile of each ingredient is scaled by its weight and summed across the recipe. Third, the total is divided by the number of servings the batch yields. Fourth — and this is the part every free competitor skips — the per-serving amount is put through the declaration rules of 21 CFR 101.9(c), which are increment ladders, not decimal rounding.

The macronutrients work the other way: 21 CFR 101.9(d)(7)(ii) puts every nutrient with a Daily Reference Value on whole percents. So a single panel uses two different percentage rules at once, and which one applies depends on whether the nutrient sits in the DRV table or the RDI table. The FDA rounding rules page quotes both, with the boundary cases worked through.

Why the paid tools charge for this

Nutrition labelling software is priced as compliance software: LabelCalc and Datacor sit in the $99–199 per month band, ReciPal at $19–39, RecipeCard.io meters free accounts at five labels a month. What you are paying for is the aggregation step and the rounding table — the part between “here are my ingredients” and “here is a panel I can send to a printer.”

The free tools that exist stop before that step. NutriFacts and its imitators render a panel from numbers you have already looked up, which means you have to open FoodData Central, find each ingredient, copy fourteen values, scale them by weight and add them up yourself. That is the whole job. LabelMath does it because the USDA data is public, the regulation is public, and the marginal cost of one more label is zero.

Frequently asked questions

Is this nutrition facts label generator really free?
Yes, and there is nothing to unlock. LabelCalc and Datacor charge $99–199 a month, ReciPal $19–39 a month, and RecipeCard.io meters free accounts at five labels a month. LabelMath has no account, no metering and no watermark, because the nutrient database ships inside the site and the arithmetic runs in your browser, so an extra label costs nothing to produce.
Where do the nutrient numbers come from?
Every ingredient is a record from USDA FoodData Central, SR Legacy release. 5,276 generic ingredients ship as a static file in the site, so there is no API key, no rate limit and no third-party service that can go down. Each ingredient keeps its USDA record number so you can look it up yourself.
Can I use this label on a product I sell?
The panel is built to the format and rounding rules of 21 CFR 101.9, but the values come from a composition database of analysed averages, not from a laboratory analysis of your food. That distinction matters: FDA compliance is judged against your actual product, and some situations call for lab analysis. Check your state's cottage food rules and, if you are selling at scale or making nutrient content claims, have the product analysed.
Why does my label say 6g of fat when the maths says 6.02g?
21 CFR 101.9(c)(2) requires fat at or above 5 grams to be declared to the nearest whole gram, so 6.02 g is declared as 6 g. Below 5 grams it moves to half-gram increments, and below 0.5 grams it must be declared as zero. Every nutrient has its own increment ladder; the arithmetic panel names the exact paragraph that produced each number.
Does cooking loss change the label?
It changes the serving weight, not the nutrients. Baking drives off water, not calories, so one of thirty-six cookies carries exactly one thirty-sixth of the batch whatever the tray weighs afterwards. What the finished weight changes is the gram figure printed beside the household measure, which is why there is a separate field for it.
Which of the six FDA formats should I use?
Standard vertical unless the package physically will not take it. The tabular display is for packages without roughly three inches of continuous vertical space, the linear string is only for packages under twelve square inches that cannot fit a tabular display, dual-column is mandatory when a package holds 200–300% of the reference amount, simplified is for foods where eight or more nutrients are insignificant, and the small-package display is for 40 square inches or less.

Everything else on the site

A hairline rule that is centered between the lines of text shall separate “Nutrition Facts” from the servings per container statement required in paragraph (d)(3)(i) of this section and shall separate each nutrient and its corresponding percent Daily Value required in paragraphs (d)(7)(i) and (ii) of this section from the nutrient and percent Daily Value above and below it.
21 CFR 101.9(d)(2)(v)