Free tool

Shelf label generator

Product name, price and a scannable barcode on an Avery label sheet, straight from the browser. Make in-store barcodes for products that have none. Nothing is uploaded.

Make a label

How it works
  • Auto picks the barcode the same way TradeSorter does: 13, 12 or 8 digits with a correct check digit become EAN-13, UPC-A or EAN-8; anything else, including 14-digit case codes and your own SKUs, becomes Code 128.
  • Generate in-store code makes an EAN-13 starting with the prefix you choose (20–29 are reserved by GS1 for use inside a shop), random digits and a computed check digit. It is yours to use at your own till; it is not a GS1 number.
  • PNG is 300 dpi at the label's real size; SVG scales to anything. Print one puts a single label on the sheet layout, at the position after any labels you tell it to skip.
  • Nothing leaves the browser. A generated code lives only on the label you print, so copy it into your stock system.

Print a sheet of labels

Paste rows from a spreadsheet: name, price, barcode, then optional unit and SKU. Tabs, commas or semicolons between columns. Leave the barcode empty to have an in-store code generated. Uses the label sheet and prefix set above.

Build the sheet to see every label laid out at its printed position.

Labels for the whole range, every week?

TradeSorter keeps the barcode on each product record, generates one for anything without, and prints single labels, a selection or an A4 sheet of the entire catalogue in a click. 30-day free trial, no card.

Start free trial

What goes on a shelf-edge label

A shelf-edge label does two jobs: it tells the customer the price, and it tells your scanner what the product is. The second job is the one most home-made labels get wrong. For a trade counter the useful set is:

  • Product name, as it appears on your system and the invoice, so a till query and a stock take talk about the same thing. Two lines at most on a 38 mm label.
  • Price including VAT for retail customers. In the UK the Price Marking Order 2004 requires the selling price to be shown, and a unit price (per litre, per metre, per kg) for most goods sold by quantity, with exemptions for small shops. Trade customers on account expect ex-VAT, so some merchants print both.
  • Barcode: the manufacturer's EAN if the product has one, otherwise an in-store code. Printed large enough to scan from the shelf, with clear space either side.
  • SKU or location in small type, so whoever is restocking can find the bin without reading the barcode.

What does not belong on the label is the trade price, the supplier or the margin. Those live in the stock system, not on the shelf.

EAN-13, Code 128 or QR: which barcode for a shop?

FormatHoldsUse it forNotes
EAN-1313 digitsRetail products; what the supplier prints on the boxLast digit is a check digit. Needs a GS1 number, or an in-store 20–29 code
UPC-A12 digitsGoods from North American suppliersScans as an EAN-13 with a leading zero; same product
EAN-88 digitsVery small packs where 13 digits will not fitAllocated by GS1; rare on building products
Code 128Letters and digits, any lengthYour own SKUs, bin and shelf locations, 14-digit case codesGets wider with every character; keep it under 20
QR codeText or a web link, hundreds of charactersShelf and bin tags that open a record on a phoneNeeds a camera scanner, not a laser gun

If the product already has a barcode, use it: every scanner, supplier and stock system knows it. Make a new code only for products that arrive without one: loose fixings bagged up on the counter, cut lengths, kits you assemble, own-label paint. For those, an in-store EAN-13 is the safest choice, because it scans on every till and laser scanner ever made. Code 128 is for things that are not products: shelves, bins, job numbers. QR codes are for people with phones, which is why TradeSorter puts a QR on every shelf tag and a barcode on every product.

How the EAN-13 check digit works

The thirteenth digit of an EAN-13 is calculated from the other twelve, so a scanner or a till can tell a mistyped number from a real one. Take the twelve digits, multiply alternate digits by 1 and 3 starting from the left, add them up, and the check digit is whatever brings the total up to the next multiple of ten.

Worked example for 501234567890: the digits in positions 1, 3, 5, 7, 9 and 11 are 5 + 1 + 3 + 5 + 7 + 9 = 30. The digits in positions 2, 4, 6, 8, 10 and 12 are 0 + 2 + 4 + 6 + 8 + 0 = 20, multiplied by 3 is 60. The total is 90, which is already a multiple of ten, so the check digit is 0 and the full code is 5012345678900. Had the total been 93, the check digit would be 7.

Check digit calculator

The same calculation covers EAN-8, UPC-A and GTIN-14: the weights are always 3, 1, 3, 1 counted from the right-hand end. UPC-A is an EAN-13 with a leading zero, so a 12-digit UPC and its 13-digit EAN form share a check digit.

Making barcodes for products that have none

Every EAN-13 in the world is unique because GS1 hands out the first part of the number to companies, and the company numbers the rest. Two ranges are different. Numbers starting 20 to 29 are reserved for use inside a single business and are never allocated to a product, so a code you make up in that range cannot clash with anything a supplier sends you. That is what "in-store" or "restricted circulation" means, and it is what the generator above produces: a 20–29 prefix, ten random digits, and the check digit.

Rules of thumb for in-store codes:

  • Only inside your business. Your till, your scanner, your stock system. Another shop's 2000000000015 is a different product.
  • Keep one list. A random code is fine if it is recorded against the product the moment it is printed. The failure mode is three different codes for the same bag of screws because three people made labels on three days. A stock system that generates the code when the product is created avoids this entirely.
  • Do not reuse the manufacturer's number range. Never invent a code starting 50 (UK), 40–44 (Germany) or any other country prefix: it will one day match a real product and scan as the wrong thing.
  • Selling it elsewhere? If you make or own-label a product and sell it through other retailers or online marketplaces, you need a GTIN from GS1 UK (or your national GS1). Membership carries an annual fee based on turnover. Marketplaces check that the number belongs to you.
  • Variable weight and price. Supermarkets use 20–29 codes to embed the price or weight in the barcode. For a hardware store this is rarely worth it; price the product on the system instead, so a price change does not mean a reprint.

Label sheet sizes

SheetLabel sizePer A4 sheetGood for
Avery L7160 / J816063.5 × 38.1 mm21 (3 × 7)Standard shelf-edge strip; name, price and an EAN at full scanning size
Avery L7163 / J816399.1 × 38.1 mm14 (2 × 7)Long shelf edges and bulk bins; room for a longer name and unit price
Avery L7165 / J816599.1 × 67.7 mm8 (2 × 4)Bay and pallet labels, large-print prices, racking in the yard
Thermal label roll100 × 70 mm or 62 mm wide—What a label printer at the counter uses; TradeSorter prints these one at a time as stock comes in

L-codes are the laser sheets, J-codes the inkjet ones, and the same layouts are sold by most stationers under their own codes. The generator positions labels by the Avery geometry, so any sheet with the same label size and count will line up.

Printing tips

  • Print at 100%. Set the print dialogue to actual size, not fit to page, and margins to none. Scaling is the main reason barcodes fail to scan: the bars end up thinner than the scanner can resolve.
  • Test on plain paper first. Hold the test print against an unused label sheet in front of a window. If the printer's own margin pushes everything down a couple of millimetres, that is what the skip and sheet options are for: adjust once, then print the real thing.
  • Laser beats inkjet for barcodes. Inkjet bleeds into the label, which fills the gaps between bars. If you only have an inkjet, use its matte-label setting and let the sheet dry before touching it.
  • Scan before you print the box. A phone camera will read an EAN-13 or a QR; a cheap USB scanner will read all of them. Test one label from the first sheet.
  • Leave the quiet zone. The blank space either side of the bars is part of the barcode. Do not trim it, and do not let the price or the name run into it.
  • Mind the size. An EAN-13 should be at least 30 mm wide; the generator never prints below that on these sheets. The wider the label, the larger it prints, which is why scanning from a distance is easier on the 99 mm sheets.
FAQ

Common questions

Yes, for use inside your own shop. GS1 reserves EAN-13 numbers starting 20 to 29 for in-store use, so any code you generate with that prefix and a correct check digit will scan at your own till and in your own stock system without clashing with a real product. If you sell the item through other retailers or a marketplace, you need a GTIN allocated by GS1 instead.

EAN-13 holds exactly 13 digits and is the retail product barcode found on packaging; the last digit is a check digit, so a mistyped number is rejected. Code 128 holds letters and digits of any length, so it suits your own SKUs, bin locations and 14-digit case codes, but it gets wider the more you put in it. Both scan with any barcode scanner. QR codes hold far more and need a camera scanner.

Nearly always printing. Print at 100% with no fit-to-page scaling, which shrinks the bars below what a scanner can resolve; leave the blank space either side of the bars; use a laser printer or a label printer rather than an inkjet that bleeds; and do not print the bars on a coloured or glossy label. An EAN-13 should be at least 30 mm wide.

Avery L7160 (63.5 × 38.1 mm, 21 per A4 sheet), L7163 (99.1 × 38.1 mm, 14 per sheet) and L7165 (99.1 × 67.7 mm, 8 per sheet), plus the inkjet versions J8160, J8163 and J8165 and the many compatible sheets sold under those sizes. You can skip labels already used on a part sheet.

Not for products you only sell yourself. Most of what a hardware store or builders' merchant sells already carries the manufacturer's EAN, and anything without one can take an in-store code starting 20 to 29. GS1 membership, which carries an annual fee based on turnover, is for products you make or own-label and sell through other businesses, where the number has to be unique worldwide.

No. Everything runs in your browser and nothing is uploaded. That also means a generated in-store code exists only on the label you print: copy it into your stock system, or use a stock system that keeps the barcode with the product record.

Paste as many rows as you like and the generator lays them out across as many sheets as it takes. For a catalogue that changes every week, TradeSorter keeps the barcode on each product record, generates one for anything without, and prints single labels, a selection or an A4 sheet of the whole range from the product list.