LABELCHECK
21 CFR 101.9(c)

Rounding & declaration rules

Your free nutrition label is probably illegal.

The FDA does not let you print your actual numbers. Every value has to be rounded to a specific increment first — and sub-gram amounts have to be spelled out in words, not digits. We tested five free label generators in August 2026. Not one of them applied the rules.

Your measured values

Per serving, straight from your lab report or recipe calculator. Edit anything. Nothing you type here is sent to us.

Vitamin D, calcium, iron and potassium are mandatory declarations under 21 CFR 101.9(c)(8). A panel without them is incomplete, so they are not optional here either.

What this tool does not check: your serving size. The serving size field above is free text and we print whatever you type. We do not implement the serving-size declaration rules — the household measure plus metric quantity required by 21 CFR 101.9(b)(5) and (b)(7), or the reference amounts customarily consumed that 21 CFR 101.12 prescribes per food category.

So this tool will not catch a non-compliant serving size. If you enter one, it will appear on your panel exactly as you typed it and nothing here will object. Getting the serving size right is still on you.

NutrientYou measuredWhat the panel must say

Your compliant panel

Drawn by the same code that writes the 300 dpi print file. Black on white, because that is what gets printed. Every value we had to change is listed in the table on the left.

Three places every free generator breaks

The rules aren't subtle, but they aren't a single round() call either. Each nutrient has its own increment, and the increment changes partway up the scale.

Sub-gram carbs, sugars, protein
0.7 g →

Between 0.5 and 1 gram the panel has to say it in words. A number — any number — is not a valid declaration. This is the one every tool we tested got wrong.

Cholesterol at trace levels
3 mg →

Under 2 mg the line may be dropped, or its content stated as zero — but only for a product that makes no claim about fat, fatty acids or cholesterol. At 2 mg or more you must declare it, rounded to the nearest 5. So 3 mg is never printed as 3.

Calories past 50
52 →

Below 50 calories you round to the nearest 5. Above 50 the increment jumps to 10. Tools that hardcode one rule print a number that can't legally appear on a panel.

…expressed to the nearest gram, except that if a serving contains less than 1 gram, the statement “Contains less than 1 gram” or “less than 1 gram” may be used as an alternative, or if the serving contains less than 0.5 gram, the content may be expressed as zero. 21 CFR 101.9(c)(6) — total carbohydrate
…expressed in milligrams to the nearest 5-milligram increment, except that label declaration of cholesterol information is not required for products that contain less than 2 milligrams cholesterol in a serving and make no claim about fat, fatty acids, or cholesterol content, or such products may state the cholesterol content as zero. 21 CFR 101.9(c)(3) — cholesterol

What we found

In August 2026 we ran the same boundary values through five free nutrition label generators — the ones that rank on the first page of Google.

We tested free tiers only. Paid compliance software generally handles this correctly — it starts around $600 a year. That gap is the entire reason this exists.

What you get for $29

Your three panels below, each as a 300 dpi PNG, plus one PDF that places all three at their true printed size and ends with the change report.

Two of the three are conditional permissions under the regulation, not styles to pick between. We never ask for your package dimensions, so we cannot choose for you — the condition the regulation states for each one is printed with it, here and in the PDF. Read it before you print that file.

Your change report

NutrientYou gavePrintedWhy the printed value is what it is

Keep this on file. If anyone ever asks how you arrived at the numbers on your package, the answer is one page long.

Get it right once, for the price of one bad print run

A label reprint costs more than this. A warning letter costs a great deal more.

$29one time · not a subscription
  • Three panel formats — vertical, tabular and linear — each a 300 dpi PNG print master, with its true physical size written into the file so a print shop cannot place it at the wrong size
  • One PDF that places all three panels at their true printed size, prints the condition the regulation states for each of them, and ends with your change report
  • Your change report as a file you can archive and produce years later, not just a table on this screen
  • No account, nothing stored on our side, and your numbers never leave your browser

The rounding itself is free and stays free. Everything above this button is the complete calculation, unwatermarked and with nothing held back. The $29 buys the print-ready files, not the answers.

Rather hear from us first

Leave your email and we will tell you when anything here changes. The checker above stays free either way — no account, no limit, and nothing on your result is held back.