A small food business gets its barcodes from GS1 US, in one of two ways: a single GS1 US GTIN for $30 each, with no yearly fee, or a GS1 Company Prefix that lets you number your own products, from $250 for 10 numbers plus $50 a year (GS1 US prices, read September 30, 2026). Each product you sell, in each size and flavor, needs its own number, called a GTIN, which is what the UPC barcode on the package encodes. For a maker with a handful of products, single GTINs are usually the cheaper start. Cases sold to a distributor can need their own GTIN too, and a case label that also carries the lot and the date.
The short version
- Count the items: every product, size and flavor a store would sell separately needs its own GTIN.
- On price alone, single GS1 US GTINs at $30 each are cheaper for up to ten items. A prefix buys room to grow.
- Buy from GS1 US, not a reseller, so the number is registered to your company.
- The UPC says what the product is. The lot code says which batch. You still need both on the package.
- Some distributors want cases to carry a GS1-128 label with the product number, the lot and the date. TaroStack prints those, and there's more below.
What GS1 US charges
From GS1 US's get-started guide, read September 30, 2026 (GS1 US):
| How many items need a barcode | Initial fee | Yearly renewal |
|---|---|---|
| 1 (a GS1 US GTIN) | $30 | none |
| 10 (Company Prefix) | $250 | $50 |
| 100 | $750 | $150 |
| 1,000 | $2,500 | $500 |
A single GS1 US GTIN comes with a free lifetime subscription to GS1 US Data Hub, the tool for making the barcode image. GS1 US says it isn't available for variable-measure products (things priced by weight), mixed cases, coupons or pharmaceuticals, so a mixed gift case or a deli item sold by the pound needs a prefix.
How many do you need?
Here's Windward Roots, the made-up taro business I use in these examples, getting ready to sell into a grocery chain:
| Item | Needs a GTIN? |
|---|---|
| Taro chips, 2 oz bag | Yes |
| Taro chips, 5 oz bag | Yes, a different size is a different item |
| Kūlolo, 12 oz pack | Yes |
| Taro sweet bread, loaf | Yes |
| Case of 12 × 5 oz chips, which the chain orders by the case | Yes, if the chain orders and receives by the case |
Five numbers. As single GTINs that's 5 × $30 = $150, once. A 10-number prefix is $250 now and $50 a year, so $350 over three years, for room to grow to ten. On these numbers the single GTINs win. Even at the full ten items, ten single GTINs are $300 once, against $350 for the prefix over three years; the prefix only comes out ahead in its first year, from nine items. What a prefix really buys is room: you number new products yourself, the day you need them. Past ten items you'd need the 100-number prefix, at $750 and $150 a year. That's a judgment about your own product plans; there's no wrong answer at five items.
Before buying, ask the buyer two questions: do they order by the unit or by the case, and do they need a GTIN for the case? It saves buying numbers you don't need, or finding out at the dock that you needed one more.
Step by step
- List every item you'll sell through stores, with each size and flavor on its own line.
- Decide single GTINs or a prefix from the table above.
- Buy from GS1 US. GS1 US says barcodes from GS1 identify your company as the brand owner of the product, which is something retailers look for.
- Assign a GTIN to each item and record it in one place, with the product description and size. Never reuse a number for a different product.
- Make the barcode image (Data Hub, or your label designer) and send it to your packaging printer at the size and placement the printer recommends.
- Put the GTIN on the buyer's new-item form, and scan a printed sample before the full print run.
The case label: GTIN, lot and date in one barcode
A UPC on a bag identifies the product, nothing more. It doesn't say which batch is inside or when it expires, which is why the lot code and the best-by date are printed separately (more on that in batch number vs lot number).
On cases, some distributors and buyers ask for a GS1-128 barcode instead, which can carry all of it. Each piece of data starts with a number in brackets, GS1's application identifiers (GS1):
| Identifier | Means | Format |
|---|---|---|
| (01) | GTIN of the case | 14 digits |
| (10) | Batch or lot | Up to 20 letters and numbers |
| (13) | Packing date | Year, month, day: 260922 |
| (15) | Best before | Year, month, day |
| (17) | Use by, or expiry | Year, month, day |
So a case of Windward Roots' chips might read (01) followed by the case GTIN, then (15)261221, then (10)C260922:
best before December 21, 2026, lot C260922. The fixed-length pieces go first and the lot goes last, because the lot's
length varies. A buyer's warehouse scans that one barcode and knows the product, the lot and the date, which is also
what makes their recalls, and yours, quick. A lot code worth putting there is covered in
how to create lot numbers, and what buyers mean by lot tracking in
what buyers mean by lot tracking.
What's changing: 2D barcodes
GS1 US describes "Sunrise 2027" as a transition in retail from 1D UPC barcodes to 2D barcodes, like QR codes, that can carry more data, with retailers getting their checkout systems ready to read them (GS1 US). For a small maker the practical point is this: the GTIN you buy now is the same number a 2D barcode will carry later, so nothing you buy today is wasted. Ask your buyers what they want printed, and when.
Where this stops working
Buying the numbers is a single afternoon. Keeping them straight is the ongoing part: which GTIN belongs to which product and size, which case number goes with which bag, and, for every case that leaves, the right lot and date on its label. Case labels made by hand in a word processor are where it goes wrong, with yesterday's lot still on today's template, and that label is exactly what a buyer's recall will search for.
How TaroStack does it
TaroStack doesn't sell barcodes; those come from GS1, and the steps above still apply. What it does is use them everywhere afterwards. Each item can carry its GTIN, and lot labels for your cases print as GS1-128 barcodes with the GTIN, the use-by date and the lot, (01), (17) and (10), taken from the batch that made them. They print on a sheet of labels or as a ZPL file for a Zebra printer, so yesterday's lot can't end up on today's case.
Barcodes work the other way too. When a supplier's case arrives with a GS1-128 label, scanning it at receiving fills in the lot and the use-by date for you, from the (10) and the (17). Scanning works with the phone's camera or a USB or Bluetooth scanner, for receiving, counting, picking and recording batches. And because every batch notes which lots it used, the lot on your case label leads straight back to the ingredients when a buyer asks.
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, and your items, GTINs included, import from a spreadsheet. If you'd like a hand setting up, ask, and we'll do it with you.
