Shopify Barcode Requirements: UPC, GTIN, and Variant Rules for 2026

The guide covers Shopify Fulfillment Network barcode requirements, Google’s rules for GTINs and the identifier exists attribute, and what to do when a product has no GTIN

Jasmine WangCreated on October 22, 2026Last updated on October 22, 202611 min. read
Shopify Barcode Requirements: UPC, GTIN, and Variant Rules for 2026

Shopify barcode requirements come down to three rules. Each product variant should carry its own unique barcode. The barcode should follow an industry standard such as GTIN, UPC, EAN, or ISBN when one applies. And the value should match the barcode printed on the physical product. Shopify stores barcodes at the variant level, lets you attach up to 20 per product or variant, and checks typed barcodes against each standard's length and format.

Whether you need a barcode, and which type, depends on where you sell and how you fulfill orders. Some sales channels require a GTIN before they will publish a product, and fulfillment services have their own rules. This guide walks through each requirement, explains the common mistakes, and shows how to add and check barcodes before you list.

What a Shopify barcode is, and how it differs from a SKU

A barcode is the machine-readable code on a product or its packaging, and it identifies that specific product wherever it is scanned. A SKU, or stock keeping unit, is a code you create to track inventory inside your own business. Shopify keeps the two in separate fields because they do different jobs.

According to Shopify's fulfillment documentation, SKUs are used to identify and track inventory, while barcodes identify the product itself. Shopify's product details page describes barcodes as identifiers used for scanning and for product identification on online marketplaces. In practice, a warehouse team scans a barcode to find a product, while an operations team searches for the SKU when it updates stock.

Both fields can exist on the same variant. Many sellers use an internal SKU for their own tracking and the manufacturer's barcode for scanning and channel listings.

Which barcode types Shopify accepts

Shopify accepts six barcode types: Custom, GTIN, UPC, EAN, ISBN, and ASIN. Custom is the default, and it accepts any value up to 255 characters. The other types have fixed length rules, and Shopify checks typed values against those rules when you enter them.

TypeLengthTypical use
CustomUp to 255 charactersInternal codes, or any value without an industry standard
GTIN8, 12, 13, or 14 digitsManufacturer-assigned global product number, the umbrella standard
UPC8 or 12 digitsRetail products, mostly in North America (UPC-A is GTIN-12)
EAN8 or 13 digitsRetail products, mostly outside North America (EAN-13 is GTIN-13)
ISBN10 or 13 characters, may include XBooks, including the 13-digit ISBN-13
ASIN10 letters or digitsAmazon catalog numbers, which are not GTINs

GTIN is the umbrella term. UPC, EAN, JAN, ISBN-13, and ITF-14 are all GTIN formats. Shopify's developer documentation notes that one value can satisfy more than one standard, so you should declare the standard your manufacturer or supplier assigned. If you don't declare a type, Shopify stores the value exactly as you entered it and treats it as Custom.

Where barcodes go, and the 20-barcode limit

Yo can attach up to 20 barcodes to a product or a variant. The same value can't appear twice on the same product or variant. Shopify's product details page documents this limit and explains that a barcode can be a custom value or a number issued through a global registry such as GTIN.

Multiple barcodes are a recent change. Shopify's developer changelog, published September 8, 2026 and effective in API version 2026-10, explains that a variant used to hold one barcode value. Extra identifiers often ended up in metafields, tags, or outside Shopify entirely. A variant can now store a manufacturer UPC alongside a marketplace ASIN or a private-label EAN, so one product can be matched across channels.

The order of the list matters. The first barcode is the one the single barcode field returns, and it sorts first in the full barcode set. The changelog warns that an integration reading only the single field can miss the other barcodes without any signal, so developers who sync identifiers to an ERP, marketplace, or supplier feed should read the full set. If you use an app that exports barcodes, check which field it reads.

Shopify's POS changelog adds that staff can find a variant with any of its associated barcodes at the point of sale, as long as the extra barcodes were first added to the variant in the Shopify admin.

Uniqueness rules for variants

Each variant needs its own barcode, and no two variants should share one. If they do, scans can point to the wrong product, and inventory counts can break. Shopify's fulfillment documentation requires a unique variant identifier and barcode for each product sent through its network. Google's product guidance takes the same position: each product and variant has its own GTIN, and you should submit the correct value for each.

Duplicating a variant is a common source of trouble. A Shopify community member reported that duplicating a variant copies the original barcode, which later triggers a duplicate barcode warning when the item is scanned. The fix is simple: clear the barcode on the copy and enter a new value before you save. The same care applies to SKUs. Shopify's product documentation says each SKU needs to be unique so that inventory and sales reporting stay accurate.

Barcode rules for Shopify Fulfillment Network (SFN)

If you fulfill orders through Shopify Fulfillment Network, each variant needs a barcode that is not empty, uses a recognized format, and matches the barcode on the physical product. The variant also needs a unique SKU that exists in your Shopify admin. Shopify's SFN order processing guidance lists these conditions as prerequisites for fulfilling an order.

Shopify's SFN barcode guidance says the barcodes you send must be industry-standard barcodes with a GTIN, including UPC, EAN, or ISBN. If you need a GTIN, Shopify suggests requesting it from your manufacturer or buying one through GS1. SFN can also assign a barcode to a product that has none when you add it to the network. Review that assigned value before you rely on it elsewhere, because it may not be the manufacturer's GTIN.

Printing matters as much as the data. Shopify recommends printing the GTIN number below the barcode symbol, so SFN can confirm the correct product if there is a discrepancy. For single products, place the label in a highly visible area on a flat surface. For sets, make sure only one barcode is visible. You can resize a barcode to fit a label, within limits: it can be reduced by up to 80 percent or increased by up to 200 percent. Shopify's barcode guide also advises against cutting off the top or bottom of a barcode to make room for a label, and recommends following GS1 placement guidelines.

Why Google and marketplaces care about GTINs

Google and many marketplaces use GTINs to match your product to an existing catalog entry. Google's GTIN help documentation says that products submitted without any unique product identifier are harder to classify and may not be eligible for every Shopping program, and that a missing or incorrect GTIN can reduce visibility. Shopify's product details page adds that some sales channels might require a GTIN before a product can be published there.

Google accepts GTIN-format numbers: UPC, EAN, JAN, ISBN-13, and ITF-14, with 8, 12, 13, or 14 digits. Each number must have a correct check digit, and Google asks merchants not to guess or invent a value. Google also rejects restricted ranges that begin with 02, 04, or 2, and coupon ranges that begin with 05, 98, or 99. Because an ASIN is not a GTIN, it won't satisfy Google's GTIN field, even though it is valid for Amazon.

If you list through Doba Pilot, the Walmart and TikTok Shop workflows include attribute completion and UPC upload before batch publishing, so you can check identifiers before anything goes live. Pilot's Shopify flow can build the store and prepare listings, and it shows you results for review before publishing. Whether a given product carries a GTIN depends on its product data, so check the barcode field on each listing before you publish. For the current Walmart and TikTok Shop workflow, see Doba Pilot now lists on Walmart and TikTok Shop.

What to do if your product doesn't have a GTIN

If a product doesn't have a GTIN, first ask the manufacturer or supplier for one. If you produce the product yourself, you can buy GTINs through GS1, the standards body that issues them. Don't create a number yourself and enter it as a GTIN. An internal code is still useful, but it belongs in a Custom barcode field, not in the GTIN field.

Store-brand and private-label products often don't have a manufacturer GTIN. Google's guidance for these products is to leave the GTIN blank and submit the brand and MPN, which is the manufacturer part number, instead. Google's identifier exists attribute covers products that have no GTIN, MPN, or brand. Google says to set it to no only when you are certain the product has no unique identifiers, and that a product marked no while evidence of an identifier exists will receive a warning. Google's examples of products that may lack identifiers include custom or handmade goods and products made before GTINs were introduced, such as some vintage items.

Dropshipping adds a complication. Supplier data often doesn't include a GTIN, so it is worth checking the barcode field during product selection rather than discovering the gap after a channel rejects the listing.

Adding barcodes in bulk with a CSV file

For a larger catalog, use the bulk editor or a CSV import rather than editing each variant. In a Shopify product CSV, the column is called Barcodes. It can hold one barcode or several, up to 20, separated by semicolons. Prefix each value with its type and a colon. Shopify's CSV documentation gives this example.

Several rules apply. A barcode with no type prefix imports as Custom. Your file can't include both the older singular Barcode column and the Barcodes column, and a file with both will fail to import. If you export a file that still uses the singular column, Shopify converts it to Barcodes on the next export. To include a backslash, semicolon, or colon inside a value, escape it with a double backslash, a backslash before the semicolon, or a backslash before the colon.

Watch the overwrite setting. When you import with the option to overwrite products with matching handles selected, a blank Barcodes cell overwrites the existing barcode with a blank. Export the current file first, confirm which rows will change, and then import. Shopify's CSV documentation also warns that changing option values creates new variant IDs, which can break third-party systems that depend on them, so keep option values stable in the same file.

For smaller edits, Shopify support staff have pointed merchants to the bulk editor. Open the Add fields menu, choose the barcode field, and enter a unique value for each variant.

Checking barcodes for errors before you list

Check each barcode for length, format, check digit, duplicates, and restricted ranges before you publish. Shopify validates typed barcodes against each standard's rules, but untyped values are stored as entered and are not validated. Shopify can't confirm that a number matches the product in your hand, so the final check is always the packaging.

CheckWhy it mattersHow to fix it
Correct length for the typeWrong length fails validation or channel matchingConfirm the digit count against the type table above
Valid check digitInvalid GTINs are rejected by Google and other channelsVerify with the GS1 check digit calculator, then re-enter the value from the packaging
No restricted or coupon prefixesGoogle rejects restricted ranges (02, 04, 2) and coupon ranges (05, 98, 99)Replace the value with the manufacturer's GTIN
Unique per variantShared barcodes break scanning and inventory countsAssign a new value to each variant and check duplicates
Matches the packagingMismatches cause fulfillment problems and listing errorsScan or read the printed barcode and compare it to the field
Correct type declaredTyped values are validated, and untyped values are notSet the type to GTIN, UPC, EAN, ISBN, or ASIN where it applies

You can also test barcodes in the Shopify admin. Scanning works on the desktop admin with a USB barcode scanner, and it searches product variant barcodes only. If a scanned barcode doesn't match any product, Shopify offers to add a new product with that barcode or assign it to an existing product that has no barcode.

Frequently asked questions

Q1:Can two variants share a barcode?

They shouldn't. Shopify doesn't allow the same value to appear twice on one product or variant, and fulfillment and Google both expect a unique identifier for each variant. Shared values lead to scanning errors and inventory mismatches.

Q2:Do I need a barcode to sell on Shopify?

Not in every case. Shopify's product documentation notes that some sales channels might require a GTIN before a product can be published there, and fulfillment services such as SFN require barcodes on every variant. I did not find a source that makes a barcode mandatory for a basic Shopify storefront, so check the requirements of each channel you plan to use.

Q3:Can one product have more than one barcode?

Yes, up to 20 per product or variant. This is useful when a product has a manufacturer UPC and a marketplace ASIN, for example. Keep in mind that Google's GTIN field accepts only GTIN-format values, so an ASIN in that position won't count, and single-barcode systems will read the first value in the list.

Like this article? Share to