Guide

Barcodes for Amazon FNSKU and Retail GS1: A Practical Guide

FNSKU, UPC, EAN, Code 128 — what each one actually is, who issues it, and how to print a label that scans on the first try.

Sellers new to Amazon FBA or retail distribution run into an alphabet soup of barcode terms almost immediately: FNSKU, UPC, EAN, GS1, Code 128, and it's genuinely confusing which one applies where, who you need to pay, and which one goes on the actual box. This guide untangles it in plain terms, with our free barcode generator covering the symbologies you'll actually need to produce yourself.

FNSKU: Amazon's own fulfillment barcode

FNSKU stands for Fulfillment Network Stock Keeping Unit, and it's a barcode Amazon generates internally to track a specific listing inside its own fulfillment centers. It is not a barcode you create yourself with arbitrary data; you generate it from within Seller Central for a specific ASIN, download the label Amazon produces, and print that exact label onto your units before shipping them to an FBA warehouse.

The reason FNSKU exists at all is that a single UPC can sometimes be shared across bundled or private-label variations in ways that would confuse Amazon's own inventory system, or a product might arrive from a manufacturer already printed with a UPC that Amazon can't reliably tie back to your specific seller account and listing. FNSKU removes that ambiguity: it's unique to your listing inside Amazon's system, regardless of what's printed elsewhere on the packaging.

When you need an FNSKU label vs. when you don't

Make your own custom QR code

Scan it — this code opens our free custom QR generator.

Create yours free

If you're enrolled in "Fulfilled by Amazon" (FBA) and your product isn't already commingled under Amazon's Manufacturer Barcode program, you'll need to apply an FNSKU label to each unit, usually covering or placed near the original manufacturer barcode so Amazon's scanners read the FNSKU rather than the underlying UPC. Amazon's own labeling requirements specify sizing and placement, and Seller Central will flag units that arrive without a valid, scannable label.

If you fulfill orders yourself (FBM, Fulfilled by Merchant) rather than using Amazon's warehouses, you generally don't need an FNSKU at all, since there's no Amazon fulfillment center inventory to track; your product's UPC/EAN is what matters for the listing itself.

What GS1 actually is, and what it issues

GS1 is the global nonprofit standards organization that allocates company prefixes, the block of digits that becomes the basis for your product's UPC (in North America) or EAN-13 (used almost everywhere else, including as a superset that reads UPC-A as EAN-13 with a leading zero). You don't buy "a barcode" from GS1 exactly, you license a company prefix, then generate specific product numbers within that prefix range yourself, using GS1's own tools or numbering rules.

This distinction matters because a barcode you generate with random or self-assigned digits, even if it's technically valid Code 128 or EAN-13 format, is not a real GS1 identifier and can collide with another company's legitimately registered number. Retailers and marketplaces that validate against the GS1 database (Amazon included, for new listings) will reject or flag a UPC that isn't properly licensed.

UPC vs EAN: do you need both?

UPC-A (12 digits) is the standard in the United States and Canada; EAN-13 (13 digits) is the international standard used almost everywhere else and is functionally a superset, any EAN-13 scanner reads UPC-A fine, treating it as EAN-13 with an extra leading zero. If you're selling only in North America, a UPC-A is sufficient. If you sell or plan to sell internationally, an EAN-13 avoids needing a second number later.

You do not need separate UPC and EAN numbers for the same product; the two formats are interoperable specifically so a single GS1-issued number works across both without modification.

Code 128: the workhorse for everything GS1 doesn't cover

Code 128 is a completely different symbology from UPC/EAN. It encodes the full ASCII character set rather than just digits, at high density, and needs no registration with anyone, which makes it the default choice for shipping cartons, pallet labels, internal warehouse racking, and any asset-tracking use case where you control both ends of the scanning system. Amazon's own FNSKU labels are, under the hood, printed using Code 128 symbology, though the data encoded is Amazon-generated rather than something you construct yourself.

GS1-128 is Code 128 with a standardized layer of Application Identifiers on top, letting you encode structured fields like batch number, lot number, or expiry date in one scan, in a format any GS1-compliant partner's system can parse automatically. This shows up commonly in food and pharmaceutical supply chains where lot tracking is a compliance requirement, not just a convenience.

Retail requirements beyond Amazon

Brick-and-mortar retailers that stock physical inventory almost universally require a valid GS1-issued UPC or EAN on the product packaging before they'll accept it into their point-of-sale and inventory systems; this is separate from and in addition to any Amazon-specific FNSKU requirement. If you plan to sell both on Amazon and through physical retail, budget for both: a legitimate GS1 prefix for the product itself, and Amazon's FNSKU labeling on top for any units going through FBA specifically.

Some big-box retailers layer their own vendor-specific requirements (specific label placement, minimum barcode size, GS1-128 shipping carton labels with vendor-assigned SSCC codes) on top of the base GS1 number, so always check the specific retailer's vendor compliance guide rather than assuming a bare UPC is sufficient for every chain.

Printing barcodes that actually scan on the first try

Barcode scan failures are almost always a printing problem, not a barcode problem. The most common cause is printing below the symbology's minimum size: EAN-13 and UPC-A have a defined minimum module width, and shrinking the barcode below roughly 80% of nominal size to fit a small label makes the bars too thin for many scanners to resolve reliably. Always check your barcode generator's size guidance rather than eyeballing it to fit a label template.

The quiet zone, the blank margin of empty space directly surrounding the barcode, is just as important as the bars themselves; a scanner needs that blank buffer to recognize where the code starts and ends. Never crop or overlap other text, logos, or borders into that margin, even if it looks fine visually.

Contrast and finish matter more than most people expect. Dark bars on a light background scan far more reliably than any color combination with lower contrast, and a glossy laminate or shrink-wrap film can introduce glare that defeats a scanner even when the printed code itself is perfect. If your packaging uses a glossy finish, test a physical sample under real store lighting, not just on a monitor.

A practical checklist before you print in bulk

Confirm you're using a properly licensed GS1 number if the barcode needs to identify a retail product (not a random or self-assigned digit string). Confirm whether Amazon FBA requires an FNSKU label on top of, or instead of, your product's UPC for the units going into its warehouses. Choose Code 128 or GS1-128 for anything internal, like shipping cartons, where no registration is needed. Print a physical test label at full size on your actual production printer and stock, then scan it with at least two different scanner types (a dedicated retail scanner and a smartphone camera app) before committing to a full print run.

Frequently asked questions

What is an FNSKU and how is it different from a UPC?

A UPC is a globally unique product identifier issued through GS1 that identifies what a product is across any retailer. An FNSKU is Amazon's own internal fulfillment barcode that identifies a specific listing tied to a specific seller inside Amazon's warehouses, and is required on most FBA inventory even if the product already has a UPC printed on the packaging.

Do I need to buy a UPC from GS1 to sell on Amazon?

You need a GS1-issued UPC/EAN to create most new product listings on Amazon, since Amazon validates the barcode against the GS1 database. However, once your listing exists and you're enrolled in FBA, the physical units in Amazon's warehouse are typically identified by an FNSKU label rather than the original UPC.

Can I use Code 128 for my Amazon FBA labels?

Amazon generates and requires its own FNSKU barcode (which itself uses Code 128 symbology) for units enrolled in FBA labeling; you print the label Amazon provides in Seller Central rather than generating your own Code 128 code with arbitrary data. Code 128 is used elsewhere in retail and logistics, such as shipping cartons and internal warehouse labels, where you do control the encoded data.

Why does my barcode fail to scan even though it looks correct on screen?

The most common causes are printing the barcode too small for its symbology's minimum module width, insufficient quiet zone (blank margin) around the code, low contrast or a glossy laminate causing glare, and stretching or skewing the barcode image non-proportionally when resizing it for a label template.

Related guides