This tool draws scannable barcodes and QR codes from values you already have. Type one value to get a single code, or paste a list with one value per line (a column of SKUs from a product export works well) to build a whole batch. Download each code as PNG or SVG, or send the batch to a printable label sheet.
One thing to be clear about up front: a barcode is only a picture of a number. The generator does not issue product numbers. For products sold through retailers, marketplaces or Google Shopping, the number itself has to be a GTIN licensed from GS1. For internal labels, you can encode anything you like.
How to use the barcode generator
- Pick a format. Choose EAN-13, UPC-A, Code 128 or QR code. The table below explains which one fits your job.
- Choose single or bulk. For bulk, paste one value per line. To grab your SKUs, export products from Shopify (Products > Export) and copy the Variant SKU column.
- Enter the full number as issued. EAN-13 values are 13 digits and UPC-A values are 12 digits, both including the final check digit. Do not drop leading zeros; spreadsheets often strip them.
- Preview and download. Save PNG files for screens and documents, or SVG files for print and packaging, since SVG scales without blurring.
- Print a label sheet if you need stickers for shelves, bins or products.
- Test before a big print run. Scan one printed label with a handheld scanner or a phone scanning app and confirm it reads the exact value.
Which barcode type should you use?
| Format | What it holds | Typical use | Where the value comes from |
|---|---|---|---|
| EAN-13 | 13 digits | Retail products sold internationally and on most marketplaces | A GTIN-13 licensed from GS1 |
| UPC-A | 12 digits | Retail products in the US and Canada | A GTIN-12 licensed from GS1 |
| Code 128 | Letters, numbers and symbols | Internal SKUs, bin locations, warehouse and shipping labels | Anything you define |
| QR code | URLs or text | Package inserts linking to a care guide, reorder page or review page | Anything you define |
UPC-A and EAN-13 are closely related: a 12-digit UPC with a zero added in front is a valid 13-digit EAN. Use whichever your GS1 member organization issued and whatever your retail partners ask for.
Retail GTINs must come from GS1
GS1 is the nonprofit standards body that manages GTINs worldwide. Each country has a member organization that licenses numbers to brand owners. In the US, GS1 US currently offers a single GTIN for $30 with no annual renewal fee, or a company prefix sized to your catalog (the 10-product prefix is $250 up front plus $50 a year). Every variant that a shopper can buy separately, such as each size and color, needs its own GTIN.
Avoid numbers from resellers or "free UPC" lists. They may pass the check digit, but they are not registered to your company, and marketplaces and Google can check GTIN ownership against GS1 data. A made-up number that looks valid still describes someone else's product, or nothing at all.
If you resell branded goods, use the manufacturer's GTIN printed on the packaging instead of creating one. You can check a number with the GTIN lookup tool. If you make your own products and have no GTIN, read how to handle missing GTINs in Merchant Center before you buy one you may not need.
Code 128 for internal SKUs and warehouse labels
Code 128 has no registry and no fees, which makes it the right choice for anything that stays inside your business: shelf labels, storage bins, pick lists and stock counts. It encodes letters and numbers, so a SKU like TEE-BLK-M prints as-is.
- Keep SKUs short. Every extra character makes the barcode wider and harder to fit on a small label.
- Stick to uppercase letters, digits and hyphens so values survive copying between spreadsheets, apps and printers.
- Most USB and Bluetooth scanners type the scanned value like a keyboard, so a Code 128 label can fill any search box or inventory field.
Adding barcodes to Shopify products
Shopify stores the product barcode at the variant level, in a field labeled Barcode (ISBN, UPC, GTIN, etc.) in the Inventory section.
- In Shopify admin, go to Products and open the product.
- If it has variants, click the variant you want to edit.
- In the Inventory section, enter the GTIN in the Barcode field and click Save.
For many products, fill the Variant Barcode column in a product CSV and import it (see the Shopify CSV import guide). Shopify sends this field to Google as the GTIN when you sync products for Shopping, so only put real GTINs here.
Warning: Do not type an internal Code 128 SKU into the Barcode field of products you sync to Google. Merchant Center reads that field as a GTIN, and an invalid one can get products flagged or disapproved.
If you are not sure which products have missing or invalid identifiers, the GMC Scanner and Fixer scans a connected store for product data issues such as missing GTIN or brand.
Printing tips and common mistakes
- Leaving no quiet zone. Barcodes need blank space on both sides. Do not crop right up to the bars or place them against a border.
- Stretching a PNG. Resizing a small image blurs the bars. Use the SVG download for packaging and large labels.
- Shrinking retail barcodes too far. GS1 sets size ranges for EAN and UPC symbols. If a label is too small, checkout scanners will miss it.
- Low contrast. Print dark bars on a white or light background. Red bars and dark kraft paper often fail to scan.
- Reusing one GTIN across variants. Each size and color gets its own number.
- Losing leading zeros. Format the column as text before pasting a list from a spreadsheet.
Related tasks: create a matching invoice with the Shopify invoice generator, or read the Shopify Google Shopping feed guide to see how barcodes flow into your product feed.