Bulk Barcode Generator Open the Generator →
Reference glossary · Updated May 2026

Barcode Symbology Glossary — Every Format Small Businesses Use

A concentrated reference to UPC-A, EAN-13, Code 128, QR Code, FNSKU, and GTIN — with the specific differences that decide whether your product scans at a Walmart POS, whether Amazon accepts your FBA shipment, and whether your inventory system stays consistent. No wall of Wikipedia-style history; just what to pick, when, and why.

Generate Any Barcode Format Free →

People often ask "which barcode should I use?" and get a long answer that doesn't help. This glossary is organized around the practical decision points: whether the code needs to be registered somewhere (UPC, EAN, ISBN), whether it needs to be 1D or 2D, whether it will be scanned by a retail POS or an internal warehouse, and how much data has to fit in the label footprint. Each entry ends with a specific "use this when..." bullet so you can pick without reading the whole page.

Comparison at a glance

Format 1D or 2D Data capacity Registration required? Primary use
Code 1281D~48 char practicalNoInternal SKUs, warehouse, FNSKU
UPC-A1D12 digits fixedYes (GS1)Retail POS in US & Canada
EAN-131D13 digits fixedYes (GS1)Retail POS internationally
QR Code2DUp to ~4000 charNoURLs, marketing, tracking
FNSKU1D (Code 128)10 char fixedIssued by AmazonAmazon FBA inventory
GTINIdentifier only8, 12, 13, or 14 digitsYes (GS1)Umbrella identifier, encoded as UPC/EAN/ITF-14
Data Matrix2DUp to ~2300 charNoSmall parts, pharma, aerospace
Code 391D~30 char practicalNoLegacy internal, automotive
ITF-141D14 digits fixedYes (GS1)Outer case labels for retail cases

Code 128

The most flexible 1D barcode — and the right default for internal use

Type1D linear
Character setFull 128 ASCII
LengthVariable
Check digitAuto-calculated
RegistrationNone

Code 128 encodes any string that fits in the 128-character ASCII set — letters, numbers, punctuation. That flexibility makes it the standard for anything where you invent the SKU strings yourself: warehouse bin labels, internal product SKUs, shipping tracking numbers, Amazon FNSKUs, and any custom coding scheme your operation uses. Bar density is high enough that a 10–15 character code fits comfortably on a 1 × 2⅝ inch Avery 5160 label.

Practical maximum length: the format technically supports strings of any length, but scanning reliability drops off past about 48 characters because the bars become too dense for consumer-grade scanners and phone cameras. Keep values under 30 characters when possible.

Where it shows up: UPS and FedEx shipping labels (tracking barcode is Code 128), Amazon FNSKU labels, warehouse bin locators, restaurant date-code labels, most internal-use tracking systems.

Use this when: the barcode will be scanned by systems you control (your own warehouse, your own POS in an owned store), you don't need a registered prefix, and the underlying value can be alphanumeric.

Generate Code 128 →

UPC-A (Universal Product Code)

The US and Canada retail POS standard

Type1D linear
Character setDigits 0–9 only
Length12 digits (11 + 1 check)
Check digitLast digit, mod-10
RegistrationGS1 company prefix required

UPC-A is the barcode on virtually every packaged product on a US or Canadian retail shelf. The 12-digit structure is: a variable-length GS1 company prefix (usually 6–10 digits), a product identifier filling out the remaining digits, and a single check digit at the end for validation. The company prefix has to be issued by GS1 (or an authorized reseller) — you cannot invent a UPC number that will not conflict with an existing registered product.

Where the reseller vs GS1 debate matters: for Amazon sellers, resold UPC codes work for many product categories but Amazon is increasingly strict about UPC/brand matching for Brand Registry participants. For retail placement in Whole Foods, Costco, or most major-chain buyers, resold UPCs are rejected during vendor onboarding because the buyers verify the prefix against the GS1 database.

Excel gotcha: UPC codes stored in Excel as numbers lose their leading zero (a UPC starting with 012... becomes 12..., dropping to 11 digits and producing an invalid barcode). Format the SKU column as Text before saving, or prefix values with a single quote to force text mode.

Use this when: the product will be scanned at a retail point-of-sale in the US or Canada, and you have a GS1-registered prefix (or accept the tradeoffs of a reseller UPC).

Generate UPC-A →

EAN-13 (European Article Number)

The international retail POS standard

Type1D linear
Character setDigits 0–9 only
Length13 digits (12 + 1 check)
Check digitLast digit, mod-10
RegistrationGS1 country prefix required

EAN-13 is UPC-A's international cousin, adding a country prefix (the first 2–3 digits) to identify the country where the GS1 registration was issued. A US-issued EAN starts with 00–13; UK is 50; Germany is 400–440; China is 690–699. The remaining structure — company prefix + product number + check digit — mirrors UPC-A.

Compatibility with UPC-A: a UPC-A code can be represented as EAN-13 by prepending a single 0 (the "US country" prefix), which is why most modern scanners read both formats interchangeably. Retail POS systems in North America accept both; systems outside North America historically required EAN-13.

ISBN encoding: book ISBNs are encoded as EAN-13 with either a 978 or 979 prefix (called the "Bookland" prefix). This is why book barcodes look like normal retail barcodes but always start with those three digits.

Use this when: selling internationally through retail POS systems, publishing books (as ISBN→EAN-13), or when a distributor specifically requires EAN-13 format.

Generate EAN-13 →

QR Code

The 2D format for URLs, marketing, and dense data

Type2D matrix
Character setFull byte, numeric, alpha, Kanji
LengthUp to ~4300 characters
Error correction4 levels (L, M, Q, H)
RegistrationNone

QR Code encodes far more data per unit area than any 1D barcode and is readable by every phone camera manufactured in the last decade. The two most common uses are (1) short URL encoding for marketing — restaurant menus, event check-in, product landing pages — and (2) longer payload encoding for tracking codes, WiFi credentials, or vCard contact information.

Static vs dynamic: a "static" QR code encodes the destination URL directly into the pattern; scanning it always resolves to the same URL, and the code never expires. A "dynamic" QR code encodes a short URL pointing to a third-party redirect service that then forwards to your real URL — this is what enables scan analytics and destination editing, but also what makes the code stop working when the service you paid for expires. For most small-business use cases (a menu, a printed poster), static is safer.

Size limits and error correction: QR codes support four error-correction levels; higher levels tolerate more damage but reduce data capacity. For printed marketing, use level M (medium) unless the code will be exposed to weather or physical damage. Minimum readable size on printed material is roughly 1 × 1 cm for URLs under 40 characters.

Use this when: encoding a URL for phone-scanning users, encoding more than 30 characters of tracking data, or needing readability by phone cameras without a dedicated scanner.

Generate QR Code →

FNSKU (Fulfillment Network Stock Keeping Unit)

Amazon's SKU that ties inventory to your ASIN

TypeNot a symbology — a value encoded in Code 128
Character setAlphanumeric
Length10 characters
IssuerAmazon (via Seller Central)
Renderable asCode 128 barcode

FNSKU is not a barcode symbology. It's a 10-character identifier Amazon generates and assigns to a specific ASIN in your seller account. When you print FNSKU labels for FBA shipments, the FNSKU string is rendered as a Code 128 barcode. The confusion arises because most FBA guides say "print FNSKU barcodes," making it sound like FNSKU is a barcode type.

Every FNSKU starts with X00 for private-label products (products you own the ASIN for). For products where you're selling against a manufacturer-owned ASIN, FNSKU is optional — you can ship using the manufacturer's UPC. For any product you commingle or brand-register, FNSKU is mandatory.

What Amazon checks on FNSKU labels: (1) the barcode is a scannable Code 128, (2) the human-readable line below the barcode exactly matches the FNSKU string with no truncation, (3) the product title on the label matches the title on the Amazon listing, (4) the label completely covers any pre-existing manufacturer barcode on the box.

Use this when: sending inventory to Amazon FBA warehouses. Get the FNSKU string from your Amazon Seller Central account (Manage Inventory → Edit → barcode print option), then use our bulk barcode generator to lay out labels for Avery sheets or thermal printers.

Generate FNSKU labels →

GTIN (Global Trade Item Number)

An umbrella identifier, not a barcode format

TypeIdentifier standard, not a symbology
VariantsGTIN-8, GTIN-12, GTIN-13, GTIN-14
Encoded asUPC-A, EAN-13, EAN-8, or ITF-14
IssuerGS1

GTIN is a naming convention that sits above the individual barcode formats. Every UPC-A code is a GTIN-12; every EAN-13 is a GTIN-13; every ITF-14 case code is a GTIN-14; the small EAN-8 for constrained-space labels is GTIN-8. The word "GTIN" is used in enterprise systems (SAP, retailer vendor portals, Amazon's brand data feed) to refer to any of these in a format-agnostic way.

You never "encode a GTIN" as a barcode directly — you encode it as one of the underlying formats. When a retailer's vendor portal asks for a "GTIN," they usually want the 12-digit UPC-A number without any additional formatting. When Amazon asks for "GTIN" in a listing feed, they accept UPC-A (12), EAN-13 (13), ISBN-10, ISBN-13, or JAN (Japan's equivalent), and figure out the format from the length.

Use this term when: filling out a retailer vendor portal, an Amazon product feed, or an ERP field labeled "GTIN." Encode the value as UPC-A or EAN-13 depending on your market.

Generate UPC-A / EAN-13 →

Others worth knowing: Data Matrix, Code 39, ITF-14

Data Matrix

A 2D format like QR Code but denser and typically physically smaller. Widely used in pharmaceutical manufacturing, aerospace parts (military standard MIL-STD-130), and small-component labeling. Reads well even when partially damaged — better error tolerance than QR at the same size. If you need a 2D barcode on a tiny label (under 1 × 1 cm), Data Matrix outperforms QR.

Code 39

Older 1D format supporting a limited character set (uppercase letters, digits, a few symbols). Common in automotive and government/military applications where legacy systems require it. For new implementations, Code 128 is a strict upgrade in every dimension (character set, bar density, scanning reliability). Support Code 39 only if a downstream system specifically requires it.

ITF-14

The "interleaved 2 of 5" 14-digit variant used exclusively on outer shipping cases for retail — the barcode on a case of 12 units that gets scanned at the retailer's receiving dock. If you're shipping cases to Walmart, Target, or Costco, they will require an ITF-14 case code (a GTIN-14) in addition to the UPC-A on each individual unit. The generator's Code 128 or ITF-14 output can render these, though most small businesses producing case labels get them printed by their contract packager.

Decision tree

Three questions get you to the right format in under 30 seconds.

  1. Will the barcode be scanned by a retail POS system?
    • Yes, US/Canada → UPC-A with GS1-registered prefix.
    • Yes, international → EAN-13 with GS1-registered prefix.
    • Yes, for a book → EAN-13 encoding your ISBN with 978/979 prefix.
    • No → go to question 2.
  2. Is this for an Amazon FBA shipment?
    • Yes → FNSKU from Seller Central, rendered as Code 128.
    • No → go to question 3.
  3. What kind of data are you encoding?
    • An SKU or alphanumeric string, under 30 characters → Code 128.
    • A URL or long text (30–4000 chars) → QR Code.
    • An SKU on a very small label (under 1 cm) → Data Matrix.
    • Legacy system requires it → Code 39.

FAQ

What's the difference between "UPC" and "UPC-A"?

UPC-A is the 12-digit standard everyone means when they say "UPC" in North America. UPC-E is a compressed 8-digit variant used on very small retail packaging (individual cosmetic samples, small candy). Both encode a GS1-registered product identifier.

Can I invent my own UPC codes?

Technically the barcode generator will render any 12 digits as UPC-A, but if you use a prefix that isn't registered to your GS1 account, you'll either (a) collide with an existing registered product (rejected at retail), or (b) violate GS1 rules (subject to takedown by marketplaces that verify prefixes). Use Code 128 for internal SKUs where no external registration is needed.

What's the difference between GTIN and UPC?

UPC-A is one specific encoding of a GTIN-12 (a 12-digit GTIN). GTIN is the umbrella term; UPC-A is the specific barcode symbology used to represent it visually. When a retailer asks for a GTIN, they usually want the 12-digit UPC-A number (as text, not as an image).

Do QR codes ever expire?

Static QR codes never expire — the URL is encoded directly into the black-and-white pattern. Dynamic QR codes (which use a third-party redirect service) expire if the service is discontinued or the subscription lapses. Use static QR codes unless you specifically need to change the destination URL after printing.

Is Code 128 the same as Code 128B or Code 128C?

Code 128 has three subsets — A, B, and C — that optimize bar density for different character types. The generator automatically picks the most efficient subset based on your input (C for numeric-only sequences, B for mixed, A for legacy). You don't need to specify a subset.

Which format has the best error tolerance?

Among 1D formats: Code 128 has a mandatory check digit. Among 2D: Data Matrix, at the same size, tolerates more damage than QR Code — its error correction is designed for industrial environments where labels get scratched, dirty, or partially covered.

What does the "quiet zone" mean for barcodes?

The white space around a barcode that lets the scanner locate the start and end of the pattern. For 1D barcodes, quiet zone should be at least 10× the width of the narrowest bar (usually about 2.5 mm on printed labels). For 2D codes, at least 4 modules (the smallest square) around all four sides. Barcodes that fail to scan are frequently a quiet-zone problem, not a bar-width problem.

Ready to generate? Open the bulk barcode generator and select the format from your decision-tree answer above. See also the Avery templates guide for label-sheet dimensions, the thermal printer guide for direct print output, and Barcodes by Industry for use-case-specific guidance.