🥤BevFacts

Technical / Part 1

Part 1 — Label Format

The visual grammar of a DBNF label: geometry, typography, print production, and the compact form for tiny stickers.

DBNF-1 · Part 1 Normative Status: Live in reference impl.

DBNF deliberately reuses the visual grammar of the FDA Nutrition Facts panel (21 CFR 101.9, 2016 format). Fifty years of packaged-goods labeling taught every consumer to parse this layout at a glance; DBNF spends that literacy rather than inventing a new one. Two additions are normative: the Caffeine row (voluntary under FDA rules, mandatory here) and the DBNF mark identifying the label as computed for the as-ordered drink.

1.1Reference geometry

All dimensions are specified at the reference width of 300 CSS px and scale linearly (§1.4). Print equivalents assume the recommended 2×3 in sticker.

ContextSizeNotes
Reference render300 css px wideNormative baseline for every measurement in this Part.
Recommended cup sticker51 × 76 mm (2 × 3 in)Fits 12–24 oz cold cups without wrapping distortion.
Large-format sleeve76 × 102 mm (3 × 4 in)Hot-cup sleeves; scale factor 1.5.
Minimum tabular width38 mm (1.5 in)Below this the tabular panel is illegible — use §1.5.
Absolute minimum (linear)25 mm stripCompact linear format + QR only.
PNG export3× reference (900 px)≈ 300 DPI at 3.0 in; background MUST be opaque white.
Outer border2 px (≈ 0.5 pt)Solid, full perimeter, square corners.
Inner padding8 px top/bottom · 10 px sidesContent MUST NOT touch the border.

1.2Element stack

Top to bottom. Rules ("bars") are horizontal separators; their relative weights are load-bearing — the heavy bar is what makes the calories block scannable.

#ElementSpec @ 300 pxRequirement
1Drink name13 px · 700 · uppercase · centered · tracking 0.04 emMUST name the as-ordered drink, not the menu category
2Title "Nutrition Facts"30 px · 900 · tracking −1 px · leading 1.05MUST; exact string, no substitutes
3Hairline1 px ruleMUST
4Servings per container12 px · 400MUST
5Serving size row13 px · 700 both sides · value right-alignedMUST state both fl oz and mL
6Heavy bar10 px ruleMUST; heaviest rule on the label
7"Amount per serving"10.5 px · 700MUST
8Calories rowword 26 px / value 34 px · 900 · value right-aligned, baseline-alignedMUST be the largest datum on the label
9Medium bar5 px ruleMUST
10"% Daily Value*"10.5 px · 700 · right-alignedMUST
11Nutrient rows12.5 px · hairline separators · indent 14 px/level · %DV right, boldorder per §1.2.1
12Heavy bar10 px ruleMUST (closes the nutrient block)
13Caffeine row12.5 px · name 700MUST — DBNF addition
14Medium bar5 px ruleMUST
15DV footnote9 px · leading 1.3MUST; exact FDA wording
16Deposit strip10.5 px · 600 · cup ID in monospaceMAY (Part 6)
17DBNF mark7 px · 700 · tracking 0.14 em · centeredMUST: DYNAMIC BEVERAGE NUTRITION FACTS · AS ORDERED

1.2.1 Nutrient row order

Total Fat                Xg     ▸ bold, %DV
  Saturated Fat          Xg     ▸ indent 1, %DV
  Trans Fat              Xg     ▸ indent 1, "Trans" italic, no %DV
Cholesterol              Xmg    ▸ bold, %DV
Sodium                   Xmg    ▸ bold, %DV
Total Carbohydrate       Xg     ▸ bold, %DV
  Dietary Fiber          Xg     ▸ indent 1, %DV
  Total Sugars           Xg     ▸ indent 1, no %DV
    Includes Xg Added Sugars    ▸ indent 2, %DV, sub-hairline inset 18 px
Protein                  Xg     ▸ bold, no %DV

1.3Typography

PropertyRequirement
TypefaceHelvetica, Arial, or a metrically-close grotesque sans. Reference stack: "Helvetica Neue", Helvetica, Arial, sans-serif. MUST NOT use condensed cuts below 90% of normal width.
WeightsThree weights only: 400 (values, sub-nutrients), 700 (nutrient names, headers), 900 (title, calories). Weight MUST NOT be simulated by stroking.
NumeralsLining figures. Tabular numerals SHOULD be used for the %DV column.
ColorSingle ink: black (#000) on white (#FFF) for print. Minimum contrast 4.5:1 if rendered on-screen in a themed context (§1.7).
CasingNutrient names in title case exactly as §1.2.1; "Trans" italic; footnote sentence case.
Minimum legible sizeNo printed text below 6 px @ reference scale (≈ 4.5 pt on the 2×3 in sticker).

1.4Scaling rules

Given a target width W in px, the scale factor is k = W / 300. All type sizes, rules, paddings, and indents multiply by k. Two constraints override linear scaling:

  1. Floor: if any element would fall below the §1.3 minimum legible size, the tabular format MUST NOT be used — switch to §1.5.
  2. Rule integrity: after rounding to device pixels, the heavy bar MUST remain ≥ 2× the medium bar, and the medium bar ≥ 3× the hairline. Rounding MUST NOT collapse the hierarchy.

1.5Compact linear format

For receipt printers, narrow thermal stock, and wrap-around cup strips under 38 mm, DBNF defines a linear form modeled on FDA's small-package linear display. Fields appear in the §1.2.1 order, comma-separated, with %DV in parentheses:

DBNF · CARAMEL LATTE · 16 fl oz (473 mL)
Calories 320, Total Fat 7g (9% DV), Sat Fat 4.5g (23% DV), Trans Fat 0g,
Cholest. 25mg (8% DV), Sodium 170mg (7% DV), Total Carb 50g (18% DV),
Fiber 0g (0% DV), Total Sugars 48g (Incl. 43g Added Sugars, 86% DV),
Protein 10g, Caffeine 300mg. CUP #A92F · DEPOSIT $1.00
GDV based on a 2,000 calorie diet · [QR]
RuleRequirement
Lead-inMUST begin with DBNF · followed by drink name and serving size.
CaloriesMUST be first and set in bold where the medium supports it.
AbbreviationsOnly from the closed set: Sat Fat, Trans Fat, Cholest., Total Carb, Fiber, Incl.
QRA §Part-6 QR MUST accompany the linear form, resolving to the full label.
OmissionsNutrients present at zero MAY be omitted except calories, total & added sugars, and caffeine, which always appear.

1.6Print production

1.6.1 Direct thermal (recommended for counters)

ParameterSpec
Printer class203 dpi minimum; 300 dpi recommended (e.g. Brother QL-8xx, Zebra ZD4xx class)
StockContinuous or die-cut 51/62 mm; top-coated for smudge resistance
Cold cupsCondensation-rated adhesive; BOPP or PP face stock SHOULD be used instead of paper
Rendering1-bit threshold at printer resolution. Anti-aliasing MUST be disabled; no dithering on rules or type
LongevityDirect thermal fades; for keep-the-cup programs use thermal-transfer resin ribbon

1.6.2 Laser / inkjet sheets

Standard 2×3 in label sheets. Print at 100% (no fit-to-page). Toner black only — composite CMY "black" MUST NOT be used for body text below 10 px reference size (registration blur).

1.6.3 Placement

The label SHOULD sit on the upper third of the cup, opposite the seam, not under the sleeve. On lidded cold cups, never on the lid (lids are swapped). The QR quiet zone (Part 6) MUST NOT wrap around cup curvature by more than 15°.

1.7On-screen rendering

Order screens, kiosks, and confirmation pages rendering a DBNF panel MUST keep the label region white-on-black-ink regardless of surrounding app theme (the reference implementation renders the label as a fixed white card inside a themed page). The label MUST be shown at or before order confirmation — after payment is nonconforming for L2+ (Part 7). Kiosks SHOULD re-render live as modifiers change; the reference implementation demonstrates sub-frame recompute cost (the entire pipeline is arithmetic on a 12-tuple).

1.8Accessibility & internationalization

ConcernRequirement
Screen readersOn-screen labels MUST be semantic text (not an image). If an image is unavoidable, alt MUST carry the §1.5 linear string.
StructureNutrient rows SHOULD be a two-column table or definition list, so cell relationships survive assistive-tech traversal.
UnitsBoth fl oz and mL always. Jurisdictions using kJ MAY append kJ in parentheses after calories.
Decimal separatorFollows the label locale; the underlying DBNF document (Part 4) always uses . per JSON.
TranslationNutrient names MAY be localized; the DBNF mark string and the dbnf version tag are never translated.