What Makes a Barcode "2D"?

A standard 1D barcode encodes data in only one direction — horizontal. A laser scanner reads a single line across the bars to decode the number underneath. That limits storage to roughly 20–80 characters depending on the format, and there is no built-in error correction: one smudged bar means a failed scan.

A 2D barcode encodes data in both the horizontal and vertical directions. Instead of parallel bars, it uses a grid of cells — dots, squares, or hexagons — that a 2D image sensor reads as a complete picture. The payoff is dramatic: far more data in the same physical space, plus Reed-Solomon error correction that lets the scanner reconstruct the original data even if up to 30% of the symbol is obscured or damaged.

The trade-off is that you need a 2D imager or a smartphone camera to read them — an older laser scanner designed for 1D codes will not work.

QR Code — The Universal 2D Barcode

QR Code was invented in 1994 by Denso Wave in Japan, originally to track automotive parts on the assembly line. It became ubiquitous worldwide after smartphones adopted it as a standard camera feature, and today it is the most recognized 2D barcode format on the planet.

Data capacity: up to approximately 3 KB — 7,089 numeric characters or 4,296 alphanumeric characters. In practice, a URL or a block of product data fits comfortably.

Error correction: four levels — L (7%), M (15%), Q (25%), and H (30%). The H level allows up to 30% of the symbol to be destroyed and still scan correctly, which is why you often see QR codes with logos overlaid on them.

Scanner requirement: any modern smartphone camera. No dedicated hardware needed, which makes it the best choice for consumer-facing use cases.

Best for: marketing campaigns (URLs, menus, business cards), mobile payments, e-commerce packaging, restaurant ordering, and any situation where the end user has a phone but not a scanner.

Data Matrix — The Industrial Compact Code

Data Matrix originated in the 1980s for industrial part marking and remains the preferred format wherever space is critical and conditions are harsh. A Data Matrix symbol can be as small as 1 mm² and still encode meaningful data — a property that makes it uniquely suited for direct part marking on metal, plastic, and glass via laser etching or dot-peen engraving.

Data capacity: up to approximately 1.5 KB (3,116 numeric or 2,335 alphanumeric characters). Smaller than QR Code, but more than sufficient for a part number, serial number, or batch identifier.

Error correction: Reed-Solomon at a fixed level equivalent to roughly 30% damage recovery — similar to QR Code's H level, but always on.

Scanner requirement: a 2D imager is required. Data Matrix is not typically scannable by a standard smartphone camera app without a dedicated barcode-reader app, though newer phones are improving here.

Best for: electronics components (PCB boards), medical devices and pharmaceutical packaging, aerospace parts, jewelry and small-item tagging, and any surface that must be marked permanently rather than labeled.

PDF417 — The High-Capacity Stacked Code

PDF417 looks like a series of short 1D barcodes stacked on top of each other — each row is a codeword, and there can be up to 90 rows. Despite its linear appearance it is a fully 2D symbology that encodes data both horizontally and vertically.

Data capacity: up to approximately 1.1 KB (1,850 numeric or 1,108 text characters). Not the densest format, but it can also encode binary data such as compressed images or biometric templates.

Error correction: Reed-Solomon with levels 0–8. At the highest levels, up to 50% of the symbol can be reconstructed — better damage tolerance than QR Code or Data Matrix.

Scanner requirement: a 2D imager. The stacked format means PDF417 symbols are typically taller and wider than an equivalent QR Code, so they are not practical for very small labels.

Best for: government-issued identity documents (US driver's licenses use PDF417 on the back), airline boarding passes (legacy), shipping manifests, and anywhere a large plain-text payload needs to be machine-readable. The AAMVA standard mandates PDF417 on all US and Canadian driver's licenses.

Aztec Code — The Compact Transit Code

Aztec Code is recognizable by its concentric square "bullseye" pattern at the center. It was designed for maximum density in a small footprint and does not require a quiet zone around the symbol — a significant advantage when label space is limited.

Error correction: up to 95% of codewords can be recovered, far exceeding other formats, which matters when printing on crumpled paper tickets.

Aztec is the standard for European railway tickets (Deutsche Bahn, Eurostar, SNCF), metro tickets, and airline boarding passes under the IATA BCBP standard. If you have traveled by train in Europe recently, the code on your ticket was almost certainly Aztec. Outside transit and ticketing, it is rarely encountered in retail or manufacturing.

Side-by-Side Comparison

The table below summarizes the key differences across all four major 2D formats.

Feature QR Code Data Matrix PDF417 Aztec
Shape Square grid Square grid Stacked rows Square with bullseye
Max data ~3 KB ~1.5 KB ~1.1 KB ~3 KB
Error correction Up to 30% Up to 30% Up to 50% Up to 95%
Minimum size ~1 cm² <1 mm² ~2 cm² ~0.5 cm²
Quiet zone needed Yes Yes Yes No
Smartphone camera Yes (native) With app With app With app
Best for Marketing, retail, payments Industrial, medical, tiny labels ID cards, boarding passes Transit tickets, rail
Supported on this site Yes Yes Planned Planned

1D vs 2D — Which Should You Use?

The right barcode format depends on your selling channel, label size constraints, and what data you need to store. Here is a practical decision framework:

Quick decision guide

IF

You sell in supermarkets, pharmacies, or on Amazon and need global retail compliance

→ EAN-13 or UPC-A (1D)
IF

You manage internal inventory, a warehouse, or a fulfilment operation with alphanumeric SKUs

→ Code 128 (1D)
IF

You want customers to scan with their phone to reach a URL, menu, or payment link

→ QR Code (2D)
IF

Your label space is extremely small — under 5 mm — and you have 2D scanners on your line

→ Data Matrix (2D)
IF

You mark metal, plastic, or glass parts directly with laser etching or dot-peen

→ Data Matrix (2D)
IF

You issue ID documents, boarding passes, or transport tickets with a large text payload

→ PDF417 or Aztec (2D)

For most small business use cases — retail labels, inventory management, product packaging — the choice is between Code 128 for internal systems and QR Code when you want customers to be able to scan with their phones. Data Matrix is the right call when you need extreme miniaturization.

How to Generate 2D Barcodes in Bulk

If you have a product list in Excel or CSV, you do not need to generate barcodes one at a time. Upload your spreadsheet, select QR Code or Data Matrix as the symbol type, and the generator creates one barcode per row automatically. You can then download a print-ready PDF, a ZIP of individual PNGs, or SVG files for use in label design software.

1

Prepare your spreadsheet

Create a column for the data you want to encode — URLs, SKUs, serial numbers, or any text. Each row becomes one barcode. There is no row limit.

2

Upload and select QR Code or Data Matrix

Drag your CSV or Excel file into the tool. Choose the 2D format that fits your use case from the symbol type selector. QR Code for consumer-facing, Data Matrix for industrial or miniature labels.

3

Download print-ready files

Export as PDF for direct printing, PNG for individual images, or SVG for vector-quality artwork. All processing happens in your browser — your data never leaves your device.

Generate QR Code and Data Matrix barcodes in bulk — upload your product list to Bulk Barcode Generator and download print-ready labels in seconds. Free, no signup, no watermark.

Generate 2D Barcodes Free →