Barcode Types

Compare barcode and QR code formats side by side: 12 linear (1D) formats and 5 matrix or stacked (2D) formats, including the data they carry, their integrity checks, typical uses, and whether this site currently scans or generates them.

Barcode format comparison table

“Scan” means the format appears in the shipped scanner manifest. “Generate” means it appears in the shipped generator manifest. A supported format can still fail when an image is damaged, incomplete, too small, poorly lit, or outside the decoder’s practical limits.

Comparison of barcode types, encoded data, common uses, integrity checks, and support in this website’s scanner and generator.
Format Class Data Typical use Integrity or error control Scan Generate
UPC-A 1D 11-digit payload plus check digit Retail trade items using GTIN-12 Mandatory GS1 Mod 10 check digit Supported Supported
UPC-E 1D Zero-compressed UPC; 7 or 8 digits in this generator Small retail packages with compatible UPC values Check digit calculated from the expanded UPC-A value Supported Supported
EAN-8 1D 7-digit payload plus check digit Compact retail identifiers Mandatory GS1 Mod 10 check digit Supported Supported
EAN-13 1D 12-digit payload plus check digit Retail trade items using GTIN-13 Mandatory GS1 Mod 10 check digit Supported Supported
ITF-14 1D 13-digit GTIN payload plus check digit Cases, cartons, and packaging levels Mandatory GS1 Mod 10 check digit Supported Supported
Interleaved 2 of 5 1D Numeric digit pairs Internal logistics and numeric identifiers No universal check digit; application rules vary Supported Supported
Code 39 1D Uppercase letters, digits, space, and a limited symbol set Asset, inventory, and industrial identifiers Optional Mod 43 check character Supported Supported
Code 93 1D Alphanumeric; extended encodings can represent more characters Compact internal identifiers Two mandatory check characters Supported Not offered
Code 128 1D ASCII through Code Sets A, B, and C Shipping, logistics, and general identifiers Mandatory symbol check character Supported Supported
Codabar 1D Digits and selected symbols between A, B, C, or D delimiters Legacy library, laboratory, and internal workflows Application-specific or optional check digit Supported Supported
GS1 DataBar (RSS-14) 1D GTIN data in a compact linear symbol Compact GS1 trade-item identification Carries a GTIN with its check digit Supported Not offered
GS1 DataBar Expanded 1D GS1 Application Identifier element strings Variable-measure and extended GS1 data Symbol checks plus any check digits required by encoded data Supported Not offered
QR Code 2D Text or binary data Links, text, contact data, and structured payloads Built-in Reed–Solomon error correction Supported Supported
Data Matrix 2D Text or binary data Compact identifiers and small-item marking Built-in error correction Supported Supported
PDF417 2D Text or binary data in stacked rows Documents, transport, and identification workflows Configurable error correction Supported Not offered
Aztec 2D Text or binary data Tickets and compact matrix-code workflows Built-in error correction Supported Not offered
MaxiCode 2D Structured text and binary data High-speed parcel and logistics workflows Built-in error correction Supported Not offered

How to choose a barcode format

Choose the format required by the organization or system that will read the code. A technically valid symbol is not useful when the receiving workflow expects another symbology or data structure.

Retail trade-item numbers

Use the UPC, EAN, or ITF-14 format required by the applicable retail or packaging workflow. Do not invent registration or ownership claims from a valid check digit.

General internal identifiers

Code 128 is dense and flexible. Code 39 is simpler but larger. Code 93 may suit an existing system that already requires it.

Numeric logistics identifiers

Interleaved 2 of 5 is numeric and pair-based. ITF-14 is the defined packaging application that carries a GTIN-14.

Small labels and direct marking

Data Matrix is commonly selected when a compact matrix symbol is needed. Printing method, module size, contrast, and the target scanner still matter.

Links and structured text

QR Code is convenient for text and URLs, but the encoded destination must be reviewed. A successful decode does not make a website safe.

Existing document or transport systems

PDF417, Aztec, MaxiCode, Codabar, and GS1 DataBar should normally be used because a specific downstream system already requires them.

1D and 2D barcodes are not interchangeable

1D or linear formats

Linear barcodes encode information across bars and spaces. They are often appropriate for short identifiers, especially when a database supplies the associated product or record details.

2D, matrix, and stacked formats

Two-dimensional formats can carry more data and include error-correction mechanisms, but they still require adequate module size, contrast, focus, and a decoder that supports the chosen symbology.

The same 1D and 2D barcode scanner reads both classes, so a 2D barcode scan works exactly like a linear one. Read the dedicated 1D versus 2D barcode guide for a deeper comparison.

Format details

UPC-A

1D

UPC-A prints a 12-digit retail identifier. The final digit checks the number structure, but it does not confirm that a product exists or is authentic.

Data
11-digit payload plus check digit
Typical use
Retail trade items using GTIN-12
Integrity or error control
Mandatory GS1 Mod 10 check digit

UPC-E

1D

UPC-E shortens certain number-system 0 or 1 UPC-A values by suppressing zeroes. Not every UPC-A number can be represented as UPC-E.

Data
Zero-compressed UPC; 7 or 8 digits in this generator
Typical use
Small retail packages with compatible UPC values
Integrity or error control
Check digit calculated from the expanded UPC-A value

EAN-8

1D

EAN-8 carries an eight-digit retail identifier and is useful when the available label area is smaller than a typical EAN-13 symbol.

Data
7-digit payload plus check digit
Typical use
Compact retail identifiers
Integrity or error control
Mandatory GS1 Mod 10 check digit

EAN-13

1D

EAN-13 prints a 13-digit retail identifier. A structurally valid check digit is not evidence of registration, ownership, or product authenticity.

Data
12-digit payload plus check digit
Typical use
Retail trade items using GTIN-13
Integrity or error control
Mandatory GS1 Mod 10 check digit

ITF-14

1D

ITF-14 uses the Interleaved 2 of 5 bar pattern to carry a GTIN-14. It is distinct from a general-purpose Interleaved 2 of 5 identifier.

Data
13-digit GTIN payload plus check digit
Typical use
Cases, cartons, and packaging levels
Integrity or error control
Mandatory GS1 Mod 10 check digit

Interleaved 2 of 5

1D

Interleaved 2 of 5 encodes digits in pairs. This site’s generator prefixes an odd-length value with zero so the rendered data contains complete pairs.

Data
Numeric digit pairs
Typical use
Internal logistics and numeric identifiers
Integrity or error control
No universal check digit; application rules vary

Code 39

1D

Code 39 is straightforward to print and read, but it is less dense than Code 128. The shipped generator converts lowercase input to uppercase.

Data
Uppercase letters, digits, space, and a limited symbol set
Typical use
Asset, inventory, and industrial identifiers
Integrity or error control
Optional Mod 43 check character

Code 93

1D

Code 93 is denser than Code 39 and includes two check characters. The current site decoder supports it, while the current generator does not offer it.

Data
Alphanumeric; extended encodings can represent more characters
Typical use
Compact internal identifiers
Integrity or error control
Two mandatory check characters

Code 128

1D

Code 128 provides high data density for mixed identifiers. This site’s generator accepts printable ASCII and calculates the symbol check character.

Data
ASCII through Code Sets A, B, and C
Typical use
Shipping, logistics, and general identifiers
Integrity or error control
Mandatory symbol check character

Codabar

1D

Codabar values use start and stop delimiters. The generator validates those delimiters and the restricted interior character set before rendering.

Data
Digits and selected symbols between A, B, C, or D delimiters
Typical use
Legacy library, laboratory, and internal workflows
Integrity or error control
Application-specific or optional check digit

GS1 DataBar (RSS-14)

1D

The scanner manifest names this format RSS-14. The current decoder supports it, but the current generator does not expose a GS1 DataBar option.

Data
GTIN data in a compact linear symbol
Typical use
Compact GS1 trade-item identification
Integrity or error control
Carries a GTIN with its check digit

GS1 DataBar Expanded

1D

GS1 DataBar Expanded can carry more than a single GTIN by using GS1 Application Identifiers. The current site supports decoding but not generation.

Data
GS1 Application Identifier element strings
Typical use
Variable-measure and extended GS1 data
Integrity or error control
Symbol checks plus any check digits required by encoded data

QR Code

2D

QR Code supports several encoding modes and multiple error-correction levels. A decoded URL or action must still be reviewed before it is opened.

Data
Text or binary data
Typical use
Links, text, contact data, and structured payloads
Integrity or error control
Built-in Reed–Solomon error correction

Data Matrix

2D

Data Matrix can encode useful amounts of data in a compact square or rectangular symbol. The receiving system determines how the decoded text is interpreted.

Data
Text or binary data
Typical use
Compact identifiers and small-item marking
Integrity or error control
Built-in error correction

PDF417

2D

PDF417 is a stacked two-dimensional symbology designed for larger payloads than common linear codes. It is currently available in the decoder only.

Data
Text or binary data in stacked rows
Typical use
Documents, transport, and identification workflows
Integrity or error control
Configurable error correction

Aztec

2D

Aztec uses a central finder pattern and can work without the same surrounding quiet-zone requirement as QR Code. It is currently available in the decoder only.

Data
Text or binary data
Typical use
Tickets and compact matrix-code workflows
Integrity or error control
Built-in error correction

MaxiCode

2D

MaxiCode uses a fixed-size matrix with a central finder pattern. The current site decoder declares support, while the generator does not offer this format.

Data
Structured text and binary data
Typical use
High-speed parcel and logistics workflows
Integrity or error control
Built-in error correction

Barcode type questions

Does a valid check digit prove that a barcode is assigned?

No. A check digit verifies a mathematical relationship between digits. It does not prove registration, product existence, ownership, authenticity, or database membership.

Why can the scanner read a format that the generator does not create?

The decoder and generator use separate manifests and libraries. This page reports their current capabilities independently instead of assuming identical format coverage.

How do I scan a 2D barcode like QR Code or Data Matrix?

Any 2D barcode scan uses the same tools as a linear code: upload an image or open the camera. This 1D and 2D barcode scanner reads QR Code, Data Matrix, PDF417, Aztec, and MaxiCode alongside the linear formats.

Is QR Code always better than a linear barcode?

No. QR Code carries more data, while a linear format may be simpler, smaller in one dimension, or required by an established retail or logistics workflow.

Why does a supported barcode still fail to scan?

Possible causes include blur, glare, low contrast, missing quiet zones, distortion, cropped modules, excessive data density, or a symbol that does not follow the expected format.