A Shopify barcode generator turns a product number or SKU into a barcode you can print and scan. This one draws UPC-A, EAN-13, EAN-8 and Code 128 barcodes, calculates or checks the check digit, prints label sheets from a list or a Shopify product export, and creates numbers for in-store use. It doesn’t issue GTINs, the product numbers that marketplaces and Google expect.
What barcodes does Shopify’s barcode field accept?
A Shopify product or variant can hold up to 20 barcodes, each tagged with the standard it follows, and the value must match that standard’s length and characters (Shopify Help Center):
| Barcode type | What Shopify accepts |
|---|---|
| Custom (the default) | Any value up to 255 characters |
| GTIN | 8, 12, 13 or 14 digits |
| UPC | 8 or 12 digits |
| EAN | 8 or 13 digits |
| ISBN | 10 or 13 characters, which can include X |
ASIN and NS-PID also exist. Shopify recognises a GTIN registered with GS1 and selects the GTIN type for you.
UPC-A, EAN-13 or Code 128: which should you print?
- UPC-A carries a 12-digit number. It can be read as 13 digits with a leading zero, so its bars are identical to an EAN-13 that starts with 0 (GS1 General Specifications).
- EAN-13 carries 13 digits and EAN-8 carries 8. All three end in a check digit, calculated from the other digits, that barcode readers verify.
- Code 128 encodes letters, digits and punctuation, so it suits SKUs and internal codes.
For retail checkouts, GS1 allows EAN-13 and UPC-A bar modules of 0.264 to 0.660 mm, targets 0.33 mm, and asks for bars at least 22.85 mm tall at that size.
When do you need real GS1 numbers?
You need them when a sales channel, marketplace or retailer asks for GTINs. Shopify notes that some sales channels might require a GTIN before a product can be published. Google Merchant Center recommends a GTIN for products that have one from their manufacturer, says products without an assigned GTIN don’t need one, and tells merchants not to make up values or submit GTINs in the restricted ranges 02, 04 or 2. In the US, GS1 US licenses single GTINs and GS1 Company Prefixes; elsewhere, your national GS1 Member Organisation does.
For goods sold only in your own store, in-store numbers can be enough. GS1 sets aside prefix 04 for numbering inside one company, and any company may use it, but the numbers aren’t unique once an item leaves your premises. Prefixes 02 and 20–29 are restricted too, but your GS1 Member Organisation defines their use, often for weight or price labels, so check its rules first.
How to use this tool
- Single barcode: choose the type, enter the number with or without its check digit (or a SKU for Code 128), set the size, then download an SVG or PNG, or print.
- Label sheet: paste one value per line, with an optional label after a comma, or upload a product CSV and choose the barcode or SKU column. Pick US Letter, A4 or a label-printer size, then print or download a ZIP.
- In-store numbers: paste SKUs or upload an export. Each SKU, or each variant without a barcode, gets the next number, ready to download as CSV or send to the label sheet.
Print at 100% scale, not “fit to page”, and scan a test label before a full run. The tool keeps GS1’s white quiet zones beside the bars: 11 and 7 modules for EAN-13, 9 for UPC-A, 7 for EAN-8 and 10 for Code 128.
How do you add barcodes to products in Shopify?
In the admin, open the product (Shopify Help Center). Without variants, enter the number in the Barcodes field of the Inventory section. With variants, select them in the Variants section, open the menu, choose Edit barcodes, then click Done and Save.
By CSV, the Barcodes column takes up to 20 barcodes per variant, separated by semicolons. A type and a colon before a value set its type, such as upc:012345678905; a value without one imports as Custom. A file can’t contain both the older Barcode column and Barcodes (Shopify’s CSV guide). Keep the handle, title and option columns when you change variant data; this guide on updating Shopify products by CSV without deleting variant data explains why.
How does this compare with Shopify’s own barcode tools?
Shopify’s free online barcode generator turns one value into a Code 128 barcode and emails it to you as a PNG. Its free Retail Barcode Labels app prints from the admin on Dymo and Zebra printers, or on Avery sheets with a laser or inkjet printer. Shopify’s guide to the app says it generates Code 128 barcodes from the last 8 digits of the variant ID, overwrites existing barcodes when it creates new ones, can’t add custom label sizes and has no CSV upload. Those 8-digit barcodes can be shared across stores, so Shopify says channels like Google need unique barcodes bought from GS1. This tool also makes UPC and EAN barcodes, leaves existing barcodes alone and lets you set the grid or label size.
What are the limitations?
- It doesn’t make UPC-E, ITF-14, GS1-128, GS1 DataBar or QR codes.
- Label sheets print as an even grid, not matched to a particular brand’s label template.
- Digits under the bars use Arial or similar. GS1 recommends OCR-B but accepts other legible fonts.
- In-store numbers aren’t recorded anywhere, so keep a list and never reuse one.
Need SKUs first? Create them with the Shopify SKU generator, then encode them as Code 128.
Frequently asked questions
Why does my scanner read 12 digits when Shopify has 13?
GS1 notes that a UPC-A barcode may be decoded as a 13-digit number with an implied leading zero, and an EAN-13 that starts with 0 prints the same bars. Depending on its settings, a scanner can send either form. Save the barcode the way your scanner sends it, or add both forms: a variant can hold up to 20 barcodes (Shopify Help Center).
Why did my barcodes lose their leading zero in Excel?
Excel automatically removes leading zeros and turns long numbers into scientific notation (Microsoft Support). Open the CSV with Data > From Text/CSV, set the barcode column to Text before loading, and save it as CSV UTF-8 (Comma delimited) before you import it, because Shopify asks for CSV files in UTF-8 (Shopify’s CSV guide).
How small can I print a UPC or EAN barcode?
GS1’s specification for EAN-13 and UPC-A at retail checkouts allows a bar module as narrow as 0.264 mm, with bars at least 18.28 mm tall at that width (GS1 General Specifications). Those are its minimums for retail scanning. Code 128 SKU labels aren’t covered by that table, so print a test label and check it with your own scanner.
Can Shopify POS find a product from a Code 128 label of its SKU?
Shopify says POS finds a product by scanning or searching any of its barcodes, or its SKU (Shopify Help Center). If a scan of the SKU label doesn’t bring up the product, add the SKU as a Custom barcode on the variant too.
Sources
- Product details page: barcodes and barcode types (Shopify Help Center)
- Adding and updating products: adding barcodes (Shopify Help Center)
- Using CSV files to import and export products (Shopify Help Center)
- Free online barcode generator (Shopify)
- Retail Barcode Labels app (Shopify Help Center)
- Retail Barcode Labels (Shopify App Store)
- GS1 General Specifications Standard, release 26.0 (GS1)
- GTIN [gtin] attribute (Google Merchant Center Help)
- How to get UPC barcodes for products (GS1 US)
- Keeping leading zeros and large numbers (Microsoft Support)
Last updated October 26, 2026