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.