Food labelling is where a typo stops being cosmetic. A wrong use-by date is a safety issue, a missing allergen is a legal one, and a lot code that cannot be traced back turns a small recall into a total one.
🖨️ Your printer almost certainly already works. Native ZPL, TSPL/TSPL2, TPCL, ESC/Label, EZPL and PPLB — the languages behind 50+ printer brands. Compatible brands →
Dates should be computed, not typed
The most common food-label error is a hand-typed date. A date field can instead be derived at print time: today plus a shelf life, formatted to the convention you use. The operator confirms the product, not the arithmetic.
- Production date + shelf life in days, weeks or months
- Separate use-by and best-before rules on the same label
- Locale-correct formatting, so 03/04 is never ambiguous
Lot and batch codes that survive an audit
A lot code is only useful if it is unique and reconstructable. Codes can be fixed per run, pulled from a data source, or serialised with server-side allocation — which is what stops two packing lines issuing the same code during the same shift.
Allergens and ingredient text
Allergen emphasis and ingredient lists come from your data rather than being retyped per label, so a recipe change updates every label that uses it instead of surviving in a stale template on someone's desktop.
Traceability is the audit trail
Every printed label writes an immutable record: what was on it, which template version produced it, who printed it, on which printer, when. During a recall the question "which batches carried this date code" becomes a query rather than an archaeology project.
Practical notes
- Thermal transfer is preferable to direct thermal for chilled or long-shelf-life goods — direct thermal fades
- GS1-128 with application identifiers encodes lot and date in a single scannable field
- Print from a spreadsheet for batch runs, or automatically from a production system
Stop typing dates by hand
Set a shelf-life rule once and let every label compute its own date.
Start free →