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.

Build the batch

One value per line. Use a GTIN for UPC-A or EAN-13; use Code 128 for alphanumeric SKUs and internal codes.

Barcode formatThe format applies to every row in this batch. Switching formats re-checks the whole list.The format applies to every row in this batch. Switching formats re-checks the whole list.
One value per line. Outer whitespace is trimmed. Spaces and hyphens are ignored in UPC-A/EAN-13 mode; Code 128 keeps the remaining characters (printable ASCII only).One value per line. Outer whitespace is trimmed. Spaces and hyphens are ignored in UPC-A/EAN-13 mode; Code 128 keeps the remaining characters (printable ASCII only).
Reads the SKU (or Variant Barcode) column. A Title column is kept for the Shopify CSV export.Reads the SKU (or Variant Barcode) column. A Title column is kept for the Shopify CSV export.

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.

No barcodes yet. Add at least one value.

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

FormatEncodesTypical useCheck digit
UPC-A12 digitsRetail products, mostly in North AmericaThe 12th digit; the tool calculates or validates it
EAN-1313 digitsRetail products, mostly outside North AmericaThe 13th digit; the tool calculates or validates it
Code 128Printable ASCII (Set B)Internal SKUs, warehouse labels, shelf and asset tagsA 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

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.

Shopify Help — Using barcodes for your products

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.

Shopify Help — Using barcodes for your products

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.

GS1 — GTIN (Global Trade Item Number)

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.

GS1 US — Check digit calculator

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.

Shopify Help — Using barcodes for your products

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.

GS1 — GTIN (Global Trade Item Number)

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.