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.
What the panel prints
| Nutrient | This label | 21 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
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