Blog
Wild & Free Tools

Barcode Format Comparison: Which One Is Right for Your Project?

Last updated: February 13, 2026 7 min read

Table of Contents

  1. CODE128 — The Swiss Army Knife
  2. CODE39 — Legacy Format
  3. EAN-13 — International Retail
  4. UPC-A — North American Retail
  5. ITF-14 — Shipping Cartons
  6. Pharmacode — Pharmaceutical Packaging
  7. Format Selector: Quick Decision Table
  8. Frequently Asked Questions

There are dozens of barcode symbologies in existence, but six formats cover virtually every real-world use case: CODE128, CODE39, EAN-13, UPC-A, ITF-14, and Pharmacode. Picking the wrong one wastes time and money — a retail barcode that no scanner recognizes, or an inventory barcode that your WMS cannot parse.

This guide explains exactly what each format does, where it is used, and how to decide which one to generate.

CODE128 — The General-Purpose Format

CODE128 encodes the full 128-character ASCII set in a compact, high-density format. It is the default choice for any internal labeling application where you control both the printer and the scanner.

PropertyValue
Character setFull ASCII (letters + numbers + symbols)
DensityHigh — shorter than CODE39 for the same data
ChecksumMandatory (auto-calculated)
Variable lengthYes

Use for: Inventory labels, shipping labels, asset tags, event tickets, employee badges, healthcare wristbands, anything internal.

CODE39 — The Legacy Standard

CODE39 was developed in 1974 and was the first alphanumeric barcode. It encodes 43 characters (uppercase A-Z, digits 0-9, and 7 special characters). It is less dense than CODE128 (the same data produces a wider barcode) but still widely used in legacy systems.

PropertyValue
Character setUppercase A-Z, 0-9, 7 symbols
DensityLow — wider than CODE128
ChecksumOptional
Variable lengthYes

Use for: Automotive parts (original AIAG standard), military (DoD still uses CODE39 in some systems), legacy WMS that do not support CODE128. If you are starting a new system, use CODE128 instead.

EAN-13 — International Retail Standard

EAN-13 encodes exactly 13 digits and is used on virtually every retail product sold outside North America (and accepted in North America since 2005). The first 2-3 digits are a GS1 country prefix.

Use for: Retail products intended for international distribution, products sold in Europe/Asia/Australia, books (ISBN-13 is EAN-13 with 978/979 prefix).

Do not use for: Internal inventory, shipping cartons, or non-registered numbers for public retail.

Sell Custom Apparel — We Handle Printing & Free Shipping

UPC-A — North American Retail Standard

UPC-A encodes exactly 12 digits and is the checkout barcode standard in the United States and Canada. Technically a subset of EAN-13 (UPC-A with a prepended 0 = valid EAN-13).

Use for: Products sold at US/Canadian retail checkout — grocery, drug, hardware, department stores.

Relationship to EAN-13: Any US retailer scanner accepts EAN-13 barcodes. If you only need US distribution, UPC-A is traditional. If you want global distribution, generate EAN-13.

ITF-14 — Shipping Carton Standard

ITF-14 encodes exactly 14 digits and is used on outer packaging and shipping cartons (the box that contains multiple retail units). It is a GS1 standard specifically for logistics and distribution.

The 14 digits are typically the inner product EAN-13 prefixed with a packaging indicator digit (0-8).

Use for: Outer shipping cartons, pallets, master cases for warehouse receiving. Required by many major retailers for case-level scanning in distribution centers.

Note: ITF-14 is printed larger than retail barcodes and often includes a bearer bar (rectangular frame around the barcode).

Pharmacode — Pharmaceutical Packaging Only

Pharmacode (also called Code 32 in some contexts) is a specialized barcode used exclusively in pharmaceutical packaging. It encodes a number from 3 to 131,070 in a compact, high-tolerance format optimized for high-speed packaging lines.

Use for: Pharmaceutical packaging machines that require Pharmacode specifically. Not for general use.

Do not use for: Retail, inventory, shipping, or any non-pharma application.

Quick Format Selector

Your SituationUse This Format
Internal inventory, warehouse, asset tagsCODE128
Product for sale at US/Canadian retailUPC-A
Product for international retailEAN-13
Book / ISBN barcodeEAN-13 (978/979 prefix)
Shipping carton / outer packagingITF-14
Legacy system that only reads CODE39CODE39
Pharmaceutical packaging linePharmacode

Try It Free — No Signup Required

Runs 100% in your browser. No data is collected, stored, or sent anywhere.

Open Free Barcode Generator

Frequently Asked Questions

Which barcode format is most widely supported?

CODE128 is supported by virtually every barcode scanner manufactured in the last 30 years. For retail, EAN-13 and UPC-A are the universal standards. If you are unsure what scanner your use case involves, CODE128 is the safe default.

Can I use CODE128 for retail products at a store checkout?

No. Retail POS systems are configured to scan EAN-13 and UPC-A specifically. A CODE128 barcode on a consumer product will not ring up correctly at a store checkout. CODE128 is for internal/logistics use; EAN-13/UPC-A are for retail.

Is there a barcode format that encodes more data than CODE128?

For 1D barcodes, no — CODE128 is the most data-dense linear format. For significantly more data, you need a 2D format like QR code (up to 4,296 characters) or Data Matrix. Those are different tools from traditional barcodes.

Chris Hartley
Chris Hartley SEO & Marketing Writer

Chris has been in digital marketing for twelve years as an independent consultant. He covers SEO tools, meta-tag generators, and content optimization — writing for marketers who need practical tools, not theory.

More articles by Chris →
Launch Your Own Clothing Brand — No Inventory, No Risk