FDA nutrition label rounding rules

This label prints 47 calories as 45. Amounts under 5 calories print 0, amounts from 5 through 50 use the nearest 5, and amounts over 50 use the nearest 10. That matches 21 CFR 101.9(c)(1). The calculator below calls the same functions the Nutrition Facts panel uses. It is a draft formatter, not an FDA determination.

Open the label maker

What the panel prints

NutrientThis label21 CFR 101.9
Calories Under 5 → 0. Through 50, nearest 5. Over 50, nearest 10. 47 prints 45. 51 prints 50. (c)(1): nearest 5-calorie increment up to and including 50 calories, and 10-calorie increment above 50 calories, except that amounts less than 5 calories may be expressed as zero.
Total fat, saturated fat, trans fat Under 0.5 g → 0. Under 5 g, nearest 0.5 g. Otherwise nearest 1 g. 0.4 prints 0. 2.4 prints 2.5. 5.6 prints 6. (c)(2), (c)(2)(i), and (c)(2)(ii): nearest 0.5 gram increment below 5 grams and nearest gram increment above 5 grams. Less than 0.5 gram is expressed as zero.
Sodium Under 5 mg → 0. Through 140 mg, nearest 5. Over 140 mg, nearest 10. 7 prints 5. 141 prints 140. (c)(4): zero when less than 5 mg, nearest 5 mg from 5 to 140 mg, nearest 10 mg when greater than 140 mg.
Cholesterol Below 2 mg → 0. From 2 mg through 5 mg → less than 5 mg. Above 5 mg, nearest 5 mg. 1 prints 0. 3 prints less than 5 mg. 7 prints 5. (c)(3): nearest 5-milligram increment. Less than 2 mg may be stated as zero. From 2 to 5 mg, the content may be stated as “less than 5 milligrams.”
Dietary fiber, total sugars, added sugars Under 0.5 g → 0. From 0.5 g up to but not including 1 g → “<1”. Otherwise nearest 1 g. 0.7 prints <1. 1.6 prints 2. (c)(6)(i), (c)(6)(ii), and (c)(6)(iii): nearest gram. Under 1 g, “Contains less than 1 gram” or “less than 1 gram” may be used. Under 0.5 g, the content may be expressed as zero.
Protein 0 or below → 0. Any positive amount under 1 g → “<1”. Otherwise nearest 1 g. 0.4 prints <1, not 0. 1.6 prints 2. (c)(7): nearest gram. Under 1 g, “Contains less than 1 gram” or “less than 1 gram” may be used. Under 0.5 g, the content may be expressed as zero.
Total carbohydrate Below 0.5 g → 0. From 0.5 g up to but not including 1 g → less than 1 g. From 1 g up, nearest gram. 0.3 prints 0. 0.7 prints less than 1 g. 2.4 prints 2. 2.6 prints 3. (c)(6): nearest gram. Under 1 g, “Contains less than 1 gram” or “less than 1 gram” may be used. Under 0.5 g, the content may be expressed as zero.

Source for the regulation column: 21 CFR 101.9, current eCFR text. The label column is app/fda.py, the functions _build_display calls.

Calculator

47 calories prints 45 on this label.

Questions

How does this label round 47 calories?

47 is at or under 50, so the calorie function prints 45. Amounts under 5 print 0. Amounts over 50 use the nearest 10.

How does this label round cholesterol?

21 CFR 101.9(c)(3): below 2 mg prints 0, 2 to 5 mg prints less than 5 mg, and above 5 mg rounds to the nearest 5 mg. 1 mg prints 0, 3 mg prints less than 5 mg, and 7 mg prints 5.

How does this label round total carbohydrate?

21 CFR 101.9(c)(6): below 0.5 g prints 0, 0.5 g up to but not including 1 g prints less than 1 g, and 1 g and above rounds to the nearest gram. 0.3 g prints 0, 0.7 g prints less than 1 g, 2.4 g prints 2, and 2.6 g prints 3. Dietary fiber and sugars keep their own rules and still print “<1” between 0.5 g and 1 g.

Make a label · Small-business exemption · Protein bars · Baked goods · Farmers markets · Cottage food labels · Privacy