Print the lot number on every unit and every case, in the same place each time, permanent and readable, next to the best-by date: LOT C260922 · BEST IF USED BY DEC 21 2026. Leave a clear panel for it when the label is designed, then add it per batch with a date stamp, a label printer or a coder on the line. For most foods no federal rule sets the format, but low-acid canned foods and acidified foods must carry a code that identifies the plant, the product, and the year, day and period they were packed.
The short version
- Every unit and every case gets the lot code. The case is what a warehouse sees in a recall.
- Put it in the same place every time, on the package itself, not a lid or sleeve that can be swapped.
- Print the best-by date beside it, in words, so the two never get separated.
- Test that it survives: rub it with a thumb, chill it, wipe it with a damp cloth.
- TaroStack prints lot labels straight from the batch, so the code on the pack is the code in the records. More below.
Which foods must carry a code
For most packaged food, no federal rule tells you how to code a lot. Two kinds are different.
Low-acid foods in hermetically sealed containers (canned vegetables, soups, anything low-acid in a jar or can) must be marked with a code "permanently visible to the naked eye" that identifies the establishment, the product, the year and day packed, and the packing period, changed every 4 to 5 hours, every shift, or every batch as long as a batch doesn't run past one shift (21 CFR 113.60(c)). Acidified foods, such as many pickles, salsas and hot sauces, have the same rule in almost the same words (21 CFR 114.80(b)). USDA's dating page is plain about cans: they must show a code or the date of canning (USDA FSIS).
For everything else, the reasons are practical rather than legal. Buyers ask for lot codes on their vendor forms, a recall without codes means pulling everything you've ever made, and the records rules for most manufacturers ask for the lot of what you receive and ship where one exists. A code on the package is what makes those records useful.
This is general information, not legal advice; your inspector or process authority has the last word.
What to print
| Part | Example | Why |
|---|---|---|
| The word LOT (or L) | LOT | So nobody mistakes the code for a date or a price |
| The lot code | C260922 | Which batch: chips, packed September 22, 2026 |
| The date, with its phrase | BEST IF USED BY DEC 21 2026 | What the customer needs, in words |
That fits on one line on most packages. If your lot code is the production date (as C260922 is), the two can look alike, which is one more reason to print LOT in front of one and BEST IF USED BY in front of the other. How to design the code itself is in how to create lot numbers; a shorter, day-of-year version is in the Julian date code format, and the date in best by date format.
Where to put it
Pick one place and use it on every product: the back panel, near the bottom, or the base of a jar. Two rules:
- On the package itself. A lot printed on a lid can end up on the wrong jar when lids are swapped, and a sleeve or outer box gets thrown away first.
- In a clear panel the designer leaves blank for it. Overprinting a busy pattern makes the code unreadable, and a code nobody can read is no code.
On cases, print or label the lot and the date on at least one side, two if the case might be stacked against a wall. If a distributor wants a barcode on the case, a GS1-128 label carries the product number, lot and date in one, as explained in GS1 barcodes for a small food business.
Five ways to print it
| Method | How it works | Good for |
|---|---|---|
| Handwriting | A marker on a blank label panel | A few dozen units, and starting out |
| Hand stamp | An adjustable date and number stamp with quick-dry ink | Cartons, paper bags, uncoated labels |
| Label printer | A small thermal printer prints a lot-and-date sticker per batch | Most small makers: neat, cheap per label, any package |
| Inkjet or thermal transfer coder | A machine on the line prints onto film or labels as they pass | Pouches and film, higher volumes |
| Pre-printed labels per run | The printer adds the code to a short run of labels | Large, steady batches only |
For a small kitchen, a label printer is usually the sweet spot: it prints the same thing every time, in any size, and the lot code comes from a list instead of a tired hand. Whatever you choose, test the result before you rely on it: inks that look fine on paper can smear on oily film or lift in a fridge.
A worked example
Windward Roots, the made-up taro business I use in these examples, codes four kinds of package:
| Package | Lot code | How it's printed | Where |
|---|---|---|---|
| Chips pouch | C260922 | Thermal sticker, LOT and BEST IF USED BY | Back panel, lower left, in a clear box |
| Kūlolo tray | K260922 | The product label, printed per batch with the code | Top label, beside the weight |
| Sweet bread bag | 260922 | Sticker on the bag closure | Next to the use-by sticker |
| Case of 12 chips | C260922 | Case label with the lot and date | Two sides |
The code changes with every batch, so the only labels printed ahead are the blank product labels. The lot sticker is printed on the morning of the batch, from the batch record, and leftovers go in the bin, not the drawer.
Where this stops working
The weak link is the code being right. A stamp left on yesterday's date, a label roll from the last batch, a code typed from memory: any of them puts the wrong lot on a package, and the wrong lot is worse than none, because it sends a recall to the wrong customers. And the code on the package only helps if the batch record behind it says which ingredient lots went in, which is a second piece of paper someone has to keep.
How TaroStack does it
In TaroStack the lot label comes from the batch, so the code on the package and the code in the records can't disagree. Record the batch and it has its lot code and dates; print its lot labels on a sheet of labels or a label printer, with a ZPL file for Zebra printers, and if the item has a GTIN the label carries a GS1-128 barcode with the product number, use-by date and lot. Yesterday's code can't end up on today's pouches, because today's labels are printed from today's batch.
Behind the label, the record is already complete. The batch noted which ingredient lots it used when it was recorded, the lots go on the orders they ship on, and the recall report goes from any lot code on a package to the ingredients behind it and the customers who got it.
Lots, expiry, recalls and lot labels are on every plan, from $49 a month; recording batches against recipes is on Standard at $99. The first 30 days are free. If you'd like a hand setting up, ask, and we'll do it with you.
