Aztec · PDF417 · Data Matrix
The three non-QR 2D symbologies Abundera supports. They look similar, they all carry hundreds of bytes in a compact matrix, but they're optimised for different jobs and have different native-scanner support. This page is the field guide for picking the right one, and for knowing when a phone camera will and won't read what you print.
PDF417:ISO/IEC 15438:2015, the stacked-linear barcode on every US driver license back.
Data Matrix:ISO/IEC 16022:2006, the square matrix code on pharma vials, electronic parts, and medical devices.
Side-by-side comparison
| Aztec | PDF417 | Data Matrix | |
|---|---|---|---|
| Shape | Square, bullseye finder in centre | Rectangular, stacked linear | Square, L-shaped finder in two corners |
| Max capacity (alphanumeric) | ~3,067 chars | ~1,800 chars | ~2,335 chars |
| Module size at max | 151 × 151 | Variable (rows × cols) | 144 × 144 |
| Error correction | Reed-Solomon, 5%–95% selectable | Reed-Solomon, levels 0–8 (selectable) | Reed-Solomon, fixed by size (ECC 200) |
| Quiet zone required | None | 2× module width | 1 module |
| Natively made for | Low-contrast surfaces (phone screens, crumpled tickets) | Long payloads on standard paper (licenses, airbills) | Direct-part marking (DPM): laser-etched metal, pharma labels |
| Consortium / owner | Welch Allyn (now Honeywell), open | Symbol Technologies (now Zebra), open | ID Matrix (now Microscan/Omron), open |
Native-scanner support
This is the deciding factor for most real-world choices. None of the three are decoded natively by Apple iPhone Camera; Android Camera behaviour varies by OEM.
| Reader | Aztec | PDF417 | Data Matrix |
|---|---|---|---|
| iOS Camera (iOS 15+) | No | License-aware flow in iOS 17+ for AAMVA payloads | No |
| Android Camera (stock Google, Pixel) | Some OEMs | Partial | Yes (Google Lens) |
| Google Lens | Unreliable | Unreliable | Yes |
| Zebra / Honeywell / Datalogic industrial imager | Yes | Yes | Yes |
| Scandit SDK | Yes | Yes | Yes |
| Airline / transit gate reader | Yes (canonical use) | Some boarding passes | No |
| US DMV / bar / kiosk reader | No | Yes (canonical use) | No |
| Pharma / medical DPM reader (ISO 29158) | No | No | Yes (canonical use) |
Pick the right one
Use Aztec when
You're generating a boarding pass, transit ticket, or electronic ID that will be scanned by a dedicated gate reader or phone screen. Aztec is the only 2D symbology designed to decode reliably from a low-contrast phone display behind a thumb smudge; that's why IATA BCBP chose it for boarding passes in 2005.
Use PDF417 when
You need a long ASCII payload (1–2 KB) on flat paper that will be read by a 1D/2D laser scanner at close range. Canonical uses: the back of every US driver license (AAMVA), FedEx airbills, US passports, CA healthcare cards, many government forms.
Use Data Matrix when
You're marking small physical parts, pharma vials (FDA UDI, EU MDR), electronic components, surgical instruments, jet-engine blades. Data Matrix survives laser-etching, direct-part marking, and dot-peen on metal where no other symbology does. ISO/IEC 29158 defines DPM-grade quality scoring specifically for it.
Use QR instead when
The target is a consumer phone camera. Every smartphone reads QR natively; none read these three reliably. If your print will be scanned by the general public, use QR and accept the slightly lower data density, the tradeoff of universal decodability is worth it.
Canonical test vectors
| Symbology | Payload | Expected substring(s) |
|---|---|---|
| Aztec, short URL | https://example.com/board/AB12 | example.com/board/AB12 |
| Aztec, long ticket payload | M1DOE/JOHN EABC123 AB1234 DEPART ARR 12JAN … | M1DOE/JOHN |
| PDF417, GS1 airbill | 123456789012345 FEDEX 2026-04-20 | FEDEX |
| PDF417, AAMVA driver license | @\n\x1e\rANSI 636014100002DL… | ANSI 636014 |
| Data Matrix, pharma UDI | (01)09506000134352(17)270630(10)ABC123 | 09506000134352 |
| Data Matrix, electronic part SN | PN:4321-ABC SN:00001234 | 4321-ABC |
Common pitfalls
- Consumer phone cameras won't decode these. This is the single most common mistake, printing a PDF417 or Aztec on marketing material. iPhone Camera returns nothing; most Android cameras do the same. Use QR for general consumer signage.
- Quiet zones are different per symbology. Aztec needs none; PDF417 needs 2 modules; Data Matrix needs 1. QR-specific rules don't transfer.
- Direct-part marking requires ISO/IEC 29158 grading. Phone-camera verification is not sufficient for pharma or aerospace DPM. Use a DPM verifier (Microscan, Cognex, Dynamsoft).
- AAMVA payloads must use PDF417. The spec mandates PDF417 specifically, not QR, not Aztec, not Data Matrix. See the AAMVA standards page.
- ECC selection matters. Aztec 5% ECC is extremely fragile; 23% is the default for a reason. PDF417 level 5 is the real-world default. Data Matrix ECC is tied to symbol size (ECC 200 is fixed).
- Styling disabled for all three. QR-only features (custom dots, eyes, gradients, centre logos) don't apply. Abundera disables the Style panel for these types, see capability banner.
See also
- Aztec code generator · PDF417 generator · Data Matrix generator.
- AAMVA standards page, the canonical PDF417 use case (driver licenses).
- Standards index, back to the reference hub.
- /test-vectors/, round-trip fixtures for each symbology.