Design compliant nutrition facts labels on Zebra printers
Nutrition Facts panels have strict layout rules from the FDA: specific type sizes, bold headings, hairlines, serving size at the top, calories prominent, % Daily Value column, and a clean ingredients statement. On a thermal printer you also need a scannable UPC-A or EAN-13 barcode for the SKU.
mylabelmaker ships with a ready-made "Nutrition facts" template. This post shows how to customize it for your products, use variables so one design works for an entire line, add the barcode, and batch-print everything from a simple product spreadsheet.
What you'll need
- 2" or 3" wide thermal labels (common sizes: 2x2, 2.25x1.25, 3x2, 4x3).
- Zebra printer + Browser Print.
- A spreadsheet with columns for: product_name, serving_size, calories, total_fat, sodium, ingredients, upc, etc.
Step 1: Load the nutrition facts template
Start with the pre-built panel
Open app.mylabelmaker.com → left rail Templates → Retail category → "Nutrition facts".
It already has the classic black-bordered panel, "Nutrition Facts" header, bold "Amount per serving", calories row, and the %DV column structure. The template is sized for common retail sticker dimensions.
Step 2: Make the panel dynamic with tokens
Turn every number and line into a variable
Edit the text elements and replace values with tokens that match your data source:
- Product name at top:
{{product}} - Serving size:
{{serving}} - Calories:
{{calories}} - Ingredients statement (usually at bottom):
{{ingredients}} - Barcode value:
{{upc}}(set barcode format to UPC-A or EAN-13)
Long ingredients lists benefit from the Auto-shrink checkbox in the properties popover (or top toolbar "More"). It will scale the font down just enough to fit the available width without wrapping awkwardly.
Step 3: Load your product catalog as batch data
One design, dozens of SKUs
Prepare (or export) a spreadsheet with one row per finished good. Columns should include at minimum: product, serving, calories, fat, sodium, ingredients, upc.
In mylabelmaker open the Variables panel ({{ }} button), paste the CSV or the Google Sheet publish URL. The row navigator appears. Step through products and watch the entire panel + barcode update live.
Step 4: Handle long ingredients and small label sizes
Autoshrink + careful line breaks
Ingredients statements are often the longest element. Select the ingredients text element, open the "More" properties popover, and enable Auto-shrink to fit width. You can also set a minimum font size in the same popover so nothing becomes unreadable.
For very small labels (1.5x1 or 2x1) consider splitting the panel across two labels or using a condensed layout (some brands put the full facts on the back and a "see back" + calories highlight on the front).
Step 5: Print the batch and verify
With the navigator showing, the Print button becomes "Print N rows". Send the whole batch. Because mylabelmaker rasterizes at the printer's native DPI (use Auto-detect in printer settings), the fine %DV hairlines and the UPC bars stay crisp even on 300 dpi or 600 dpi Zebras.
Always print a test label for the first product and scan the UPC with a real scanner before doing the full run.
Print professional food labels today
Load the nutrition template, connect your product sheet, and produce compliant labels for your whole catalog. Free, no signup, works on any Zebra.
Open the editor