2D barcodes store data in two dimensions — both horizontally and vertically — which lets them hold far more information than a traditional 1D barcode. A standard Code 128 barcode might store 20–80 characters; a QR code can store over 4,000 characters. This extra capacity makes 2D barcodes suitable for URLs, contact information, structured data, and document payloads.
Quick Comparison
| Format | Max data | Shape | Best for |
|---|---|---|---|
| QR Code | ~4,296 chars | Square matrix | URLs, mobile campaigns, Wi-Fi, vCards |
| Data Matrix | ~2,335 chars | Square matrix | Small items, electronics, healthcare |
| PDF417 | ~1,800 chars | Stacked rows | IDs, boarding passes, shipping forms |
| Aztec Code | ~3,832 chars | Square bull's-eye | Tickets, transport, boarding passes |
| MaxiCode | ~138 chars | Hexagonal circles | UPS shipping labels, logistics sorting |
QR Code
QR Code (Quick Response Code) is by far the most recognized 2D barcode format. Introduced by Denso Wave in 1994, it was originally designed for tracking automotive parts but became ubiquitous for marketing, payments, and mobile content because it can be read by smartphone cameras without a dedicated scanner.
QR Code supports four encoding modes: numeric (most compact for digit-only data), alphanumeric, binary/byte (for UTF-8 text and URLs), and Kanji. The maximum capacity depends on the mode and error correction level — up to 4,296 alphanumeric characters or 7,089 digits in the highest-capacity configuration.
- •Four error correction levels: L, M, Q, H — higher levels allow partial damage recovery
- •Version 1 (21×21 modules) to Version 40 (177×177 modules)
- •No minimum quiet zone — requires four modules of quiet zone on all sides
- •Best scanned with a camera; works well with laser scanners too
Data Matrix
Data Matrix is a square 2D matrix barcode that can be printed at very small sizes while remaining scannable with a camera or imager. The smallest Data Matrix can be printed as small as 1mm × 1mm and still read reliably. This makes it ideal for marking small components — circuit boards, electronic components, pharmaceutical ampoules, and surgical instruments.
Data Matrix uses Reed-Solomon error correction, which means the barcode can still be read even if a significant portion is damaged. It has no required quiet zone (unlike 1D barcodes), so it can be placed close to other markings on a label or directly marked onto a surface by laser engraving or dot peening.
- •Used in FDA and GS1 healthcare standards for pharmaceutical labeling
- •Common in aerospace, electronics manufacturing, and medical device tracking
- •Direct part marking: can be laser-engraved or chemically etched onto metal and plastic
- •Requires an imager scanner (not a laser scanner) to read
PDF417
PDF417 is a stacked 2D barcode — it is essentially multiple rows of a 1D barcode stacked on top of each other. The name stands for Portable Data File 417, where each codeword consists of 4 bars and 4 spaces totaling 17 modules. PDF417 can store large amounts of data including text, binary data, and structured records.
PDF417 is widely used in government-issued identification documents. In the United States, PDF417 is the standard barcode on driver's licenses and state IDs, encoding name, address, date of birth, and license number. It is also used on boarding passes, postage, and shipping labels.
- •US driver's licenses use PDF417 per the AAMVA standard
- •Boarding passes use PDF417 per the IATA standard (Aztec is also common)
- •Can store up to approximately 1,800 text characters in a single barcode
- •Readable by area imager scanners; not usually readable by laser scanners
Aztec Code
Aztec Code is a compact 2D barcode developed by Welch Allyn in 1995. It is named for its resemblance to an Aztec pyramid when viewed from above. Unlike QR Code and Data Matrix, Aztec Code has no required quiet zone — the central "bull's-eye" finder pattern means the barcode can be read right up to its edge.
Aztec Code is the format used on many railway tickets and boarding passes in Europe and other regions. The International Air Transport Association (IATA) adopted Aztec Code as one of the standards for boarding pass barcodes. It is also used on mobile ticketing apps.
MaxiCode
MaxiCode is a 2D barcode used almost exclusively by UPS for parcel routing and logistics. It was developed by UPS in the early 1990s and standardized by ISO. MaxiCode has a fixed size (1 inch × 1 inch) and a characteristic circular pattern with a central "bulls-eye". It is designed for high-speed scanning on automated sorting equipment.
MaxiCode stores a relatively small amount of data (up to 138 characters) but this is sufficient for its purpose: encoding structured shipping information including postal code, country code, class of service, and carrier-specific tracking data.
MaxiCode is mainly encountered in logistics software integration and carrier testing. For most general barcode use cases, QR Code, Data Matrix, or PDF417 are more appropriate choices.
Which 2D Barcode Should You Use?
- •Marketing, URLs, Wi-Fi, vCards: QR Code — universally readable by smartphones
- •Small item marking, electronics, healthcare: Data Matrix — can be printed or engraved tiny
- •IDs, documents, boarding passes (IATA): PDF417 — large data capacity
- •Train/bus tickets, mobile ticketing: Aztec Code — no quiet zone needed
- •Carrier parcel labels (UPS integration): MaxiCode — required by UPS specification