Free Shopify tool
Shopify Barcode Generator
Paste a SKU list, choose UPC-A, EAN-13, or Code 128, and get a scannable barcode for every row. Download the set as SVG or PNG, plus a Shopify product CSV.
No account, install, or email gate. Barcodes and CSV files are generated in your browser. The list stays in this page and, when it fits, in the URL so you can share the batch.
Barcodes
Invalid rows stay listed below and never enter a download.
No barcodes yet. Add at least one value.
SVG is vector; PNG is rendered at a print-friendly scale (about 1200 px wide for typical codes). Test-scan one label before printing a full run.
Shopify CSV rows import as drafts and create new products; a pasted SKU list uses the SKU as the title. It does not update existing products by SKU; match handles before importing.
| Barcode | SKU / value | Format | Check digit |
|---|
No barcodes yet. Add at least one value.
Rows that need a fix
How to generate Shopify barcodes from a SKU list
A barcode is a symbol that carries a value. A SKU is your internal identifier. A GTIN is a registered number that identifies a product across companies. The three are related, but they are not interchangeable. This page encodes the values you give it; it does not assign or register a number for you.
Choose the symbology before you print
| Format | Encodes | Typical use | Check digit |
|---|---|---|---|
| UPC-A | 12 digits | Retail products, mostly in North America | The 12th digit; the tool calculates or validates it |
| EAN-13 | 13 digits | Retail products, mostly outside North America | The 13th digit; the tool calculates or validates it |
| Code 128 | Printable ASCII (Set B) | Internal SKUs, warehouse labels, shelf and asset tags | A checksum inside the symbol, not a printed check digit |
A UPC-A number can be written as an EAN-13 by adding a leading zero: the GTIN value stays the same. That does not make an arbitrary SKU into a GTIN. If a marketplace or retailer asks for a real GTIN, use a number you are entitled to use, not a made-up 12-digit string.
How the UPC-A and EAN-13 check digits work
UPC-A encodes 11 data digits and one check digit. EAN-13 encodes 12 data digits and one check digit. Both use a weighted sum:
- UPC-A: multiply the 11 data digits alternately by 3 and 1, sum them, then use the digit that brings the total to the next multiple of 10.
- EAN-13: do the same with weights 1 and 3, starting with 1 on the left.
Example: the UPC-A data digits 03600029145 produce check digit 2, so the full number is 036000291452. The EAN-13 data digits 400638133393 produce check digit 1, so the full number is 4006381333931. Paste 11 or 12 data digits and this tool adds the last digit; paste the full number and it checks the last digit instead of changing it.
What to paste or upload
In the text box, put one SKU or barcode value per line. Outer whitespace is trimmed. Spaces and hyphens are ignored in UPC-A and EAN-13 mode, so a printed number such as0-36000-29145-2 works. Code 128 keeps the remaining characters and supports printable ASCII only; it will reject a Chinese or other non-ASCII SKU rather than silently encode a different value.
A CSV upload can read a current or older Shopify product export. The tool looks for aSKU or Variant SKU column and falls back to aVariant Barcode or Variant Barcodes cell when the SKU is blank. ATitle column is kept for the Shopify CSV export. Duplicate values are reported as errors, because two identical labels usually mean a pasted list went wrong.
Import the CSV into Shopify
The Shopify export uses the current product CSV columns:Title, URL handle, Status, SKU,Variant Barcodes, Option1 name, and Option1 value. Rows are written as draft products so you can review titles, handles, and barcodes before publishing. A pasted SKU list uses the SKU as the product title; upload a CSV with a Title column when you need real names. The file creates new products; it does not update existing products by SKU. If you are updating an existing catalog, match on the URL handle and check Shopify’s import preview.
The barcode cell uses a type prefix for GTIN formats: upc:036000291452 orean:4006381333931. A Code 128 value is written as a custom barcode. Shopify can hold multiple barcodes on one variant, but this tool writes one value per row.
Print, scan, and check the label
A barcode that looks right on screen can still fail on paper. Print a single test sheet before a full run. Shopify’s barcode guidance recommends at least 300 DPI, a symbol at least 1.5 inches wide and 1 inch tall, black ink, and a scan test. Do not crop the quiet zone, fold the label, or place tape over the bars. The SVG download is vector and can be placed at the label size your printer expects; the PNG download is rasterized at a print-friendly scale (about 1200 px wide for typical codes).
For stock counts and packing, the printed value is only useful if it matches the record. See Shopify inventory reports for the counts that use SKUs, and Shopify packing slips for where the SKU appears on a fulfillment document.
What this tool will not do
- It does not assign a GS1 company prefix, register a UPC/EAN, or verify that a number belongs to you.
- It does not check whether the same barcode is already used elsewhere in your catalog.
- It does not guarantee that a retailer, marketplace, warehouse, or scanner will accept the symbol.
- It does not set Shopify’s barcode type in your admin; Shopify decides the type from the value you import.
Sources
- GS1 — GTIN (Global Trade Item Number) checked 2026-11-05
- GS1 US — Check digit calculator checked 2026-11-05
- Shopify Help — Using barcodes for your products checked 2026-11-05
- Shopify Help — Using CSV files to import and export products checked 2026-11-05
- Shopify Changelog — Multiple barcodes in variants (2026-09-08) checked 2026-11-05
Questions about Shopify barcodes
Does Shopify accept Code 128 barcodes?
Yes, as a Custom barcode. Shopify’s Custom type accepts non-GTIN values such as Code 39 and Code 128; GTIN, UPC, EAN, ISBN, and ASIN types validate their own formats. This tool does not set Shopify’s barcode type for you.
Can I use my SKU as a barcode?
Yes for an internal Code 128 label. A SKU is not a GTIN, so do not put it in a UPC/EAN field or use it where a marketplace requires a real GTIN. Keep the SKU in the SKU field and the scannable value in Barcodes.
What is the difference between UPC-A and EAN-13?
UPC-A has 12 digits and is used mostly in North America; EAN-13 has 13 digits and is used internationally. A UPC-A number can be represented as an EAN-13 by adding a leading zero; the GTIN value is the same.
Does the tool calculate the check digit?
Yes. Enter 11 digits for UPC-A or 12 for EAN-13 and the last digit is added. If you enter the full 12 or 13 digits, the tool checks the last digit and reports the expected one when it is wrong.
Can I import the CSV into Shopify?
The Shopify CSV uses the current Title, URL handle, SKU, Variant Barcodes, Option1 name, and Option1 value columns. Rows import as drafts and create new products; it is not an update-by-SKU tool. Review Shopify’s import preview before confirming.
Shopify Help — Using CSV files to import and export products
Why is my barcode shown as Custom in Shopify?
Shopify uses Custom for values that do not match a GTIN format, including Code 128. If you enter a valid UPC or EAN, Shopify can recognize it as a GTIN; the type is Shopify’s decision, not a claim this tool makes.
Are the numbers unique or ready for retail?
Only if you supply unique numbers you are allowed to use. GS1 assigns company prefixes and registers GTINs; this tool does not check ownership, duplicate use across your catalog, or retailer requirements.
Why does Code 128 reject Chinese characters?
Code 128 Set B encodes printable ASCII only. A Chinese SKU can stay in Shopify, but this tool will not silently change it into a different scannable value. Use an ASCII SKU or a separate barcode value for the label.
Do my SKUs leave the browser?
No. The barcode symbols, ZIP files, and CSV files are created in the page. There is no upload, account, or email gate.