Published · August 9, 2026
Aztec Codes: The 2D Barcode Behind Transit Tickets and Boarding Passes
That square barcode with a target pattern in the middle on your train ticket or boarding pass isn't a QR code — it's an Aztec code. Here's what makes it different, why airlines and railways picked it, and how to scan one.
What it is
An Aztec code is a square 2D barcode built around a bullseye pattern instead of the three corner squares a QR code uses. Data spirals outward in rings around that center. The format also skips the blank border ("quiet zone") most matrix barcodes need, so it packs a lot into a small printed space. It was invented in 1995 by Andrew Longacre Jr. and Robert Hussey, published by AIM Inc. in 1997, and named for the way its finder pattern resembles an Aztec pyramid seen from above. The patent went public domain early on — that's part of why the format spread so widely, especially on the one thing you've almost certainly scanned or flashed without knowing its name: a boarding pass or a train ticket.
How it actually works
The bullseye and concentric rings
Instead of a QR code's three corner squares, an Aztec code centers everything on a single bullseye — 9x9 or 13x13 pixels, surrounded by a ring that encodes the symbol's parameters. Data spirals outward from there in concentric square rings. Because the scanner locates the code from that center point, Aztec doesn't need the blank quiet-zone border other matrix codes rely on. That's how it stays more space-efficient than most competing formats — useful when a ticket is printed on the smallest possible label.
Layers, capacity, and error correction
Aztec codes scale in "layers." A compact symbol runs 1 to 4 layers (15x15 up to 27x27 pixels) — enough for a short reference number. A full-size symbol scales up to 32 layers at 151x151 pixels, holding as much as 3,832 digits, 3,067 letters, or 1,914 bytes, plenty for a record locator, passenger name, and flight details in one code. Reed-Solomon error correction protects the data, and orientation marks in the core's corners let a scanner read it correctly even upside down or under screen glare. For how it stacks up against a QR code: same square footprint, different finder pattern, different sweet spot.
Where you'll see it
Aztec code's biggest use case is travel. IATA's Bar Coded Boarding Pass standard names Aztec code as one of three symbologies accepted for mobile boarding passes, alongside Data Matrix and QR code, while paper boarding passes stick with PDF417. That standard became an industry mandate by the end of 2010. Today, Aztec codes show up on tickets from Eurostar, Deutsche Bahn, British National Rail, Trenitalia, SNCF, Swiss Federal Railways, Via Rail, and dozens of other rail operators worldwide. A conductor or turnstile scanner reads the code straight off your phone screen or a printed slip to validate the ticket.
It's not limited to transit — vehicle registration documents in Poland and tax notices from Russia's Federal Tax Service both use Aztec code too. For the wider picture, the full tour of barcode formats your phone can read covers the rest.
Tips, gotchas, and a quick how-to with QRDock
Aztec code's damage tolerance is a big part of why transit systems like it: a ticket that's been folded, creased, or partially scuffed is more likely to still scan than an equivalent QR code. The main thing to watch is contrast. Turn your phone brightness up before holding a mobile ticket under a scanner — the reader still needs to clearly resolve that center bullseye. Next time an app hands you a boarding pass or train ticket with that target-shaped barcode, point QRDock's scanner at it. It reads Aztec codes the same way it reads QR codes, with no ads and no tracking involved.
Frequently Asked Questions
What is an Aztec code?
A square 2D barcode with a bullseye pattern in the center instead of the corner squares QR codes use. Data spirals outward in rings around that bullseye, and the format skips the blank "quiet zone" border most matrix barcodes need, so it packs more into less printed space.
Why do airlines and trains use Aztec codes instead of QR codes?
IATA's Bar Coded Boarding Pass standard names Aztec code as one of three accepted formats for mobile boarding passes (with Data Matrix and QR code), and operators favor it because it tolerates screen glare, folds, and partial damage better than a same-size QR code — useful for a ticket that's been screenshotted, printed, and stuffed in a pocket.
Can QRDock scan an Aztec code?
Yes. QRDock reads Aztec codes the same way it reads QR codes — point your camera at the ticket or pass and it decodes automatically, with no ads or tracking involved.
Is an Aztec code the same as a QR code?
No. Both are square 2D matrix barcodes, but they use different finder patterns (Aztec's bullseye vs QR's three corner squares) and different typical uses — QR dominates URLs and marketing, Aztec dominates transit and boarding passes.
How much data can an Aztec code hold?
A compact symbol (1-4 layers) holds up to about 13 digits or 12 letters at its smallest; a full-size symbol scales up to 32 layers and can encode as much as 3,832 digits, 3,067 letters, or 1,914 bytes.
The takeaway
An Aztec code is the compact, damage-tolerant 2D barcode quietly running transit and boarding-pass systems worldwide — built around a bullseye instead of corner squares, and standardized by IATA for the mobile boarding passes airlines send straight to your phone. Next time a ticket flashes that target-shaped pattern, you'll know what it is. And QRDock reads it just as easily as a QR code.