Barcodes Aztec Code Round-trip verified Runs in your browser

Aztec Code Generator

Generate Aztec codes for transport tickets and boarding passes.

Your data is processed locally in your browser and is not uploaded to our servers.

What an Aztec code is

Aztec Code is a two-dimensional symbology defined by ISO/IEC 24778. It is built outwards from a bullseye finder pattern of concentric squares at the centre, with data spiralling around it in layers.

Two things follow from that design. It needs no quiet zone — the finder is in the middle, so there is nothing to find at the edges — which makes it the most space-efficient 2-D symbology for short payloads. And it degrades gracefully: because data spirals outward, damage at the edge costs the least important information first.

How to create one

Enter the data and the symbol appears immediately.

  1. Type or paste your content — a ticket reference, URL or record.
  2. Choose an error-correction percentage if you need one. The default is 23% of the symbol, the value the standard recommends.
  3. Set module size and colours. A quiet zone of 2 modules is applied by default even though the standard does not require one.
  4. Download SVG for print or PNG for screens.

Error correction, expressed as a percentage

Unlike QR's four named levels, Aztec takes error correction as a percentage of the symbol given over to recovery data, from 5% to 95%. The standard recommends 23%, and that is what the encoder uses unless you say otherwise.

Raising it grows the symbol. Lowering it below the default saves space but leaves little margin for a scuffed ticket or a phone screen with a crack across it — which is precisely the environment these symbols live in. There is rarely a good reason to go below 23%.

Where Aztec is used

Rail and transport ticketing. The dominant format for European train tickets, both printed and on phone screens, and the carrier for the UIC 918.3 barcode standard.

Airline boarding passes. Used alongside PDF417 for the IATA BCBP record.

Vehicle registration. Several countries encode registration documents in Aztec.

The common thread is a small symbol displayed on a screen or a small ticket, scanned by a fixed reader at a gate. No quiet zone means it works right up to the edge of a cramped layout.

Printing and screen display

Aztec's tolerance for a missing quiet zone is a real advantage on a ticket, but do not read it as tolerance for everything. Contrast still has to be strong, modules still have to be resolvable, and a symbol displayed on a phone still needs the screen brightness turned up — a dimmed screen is the single most common reason a gate reader refuses a mobile ticket.

This tool applies a 2-module quiet zone by default because it costs almost nothing and helps handheld scanners that hunt for a symbol boundary. Reduce it to zero if your layout genuinely demands it.

Privacy and security

Encoding happens in your browser. Ticket references, booking codes and any personal data you encode are never sent to us or stored anywhere.

Limitations

The symbol is static and cannot be changed after it is issued.

This tool produces standard Aztec symbols. It does not implement Aztec Runes — the tiny 11×11 subset that encodes a single byte — nor structured append across multiple symbols, nor the reader-initialisation variant.

It does not build UIC 918.3 or IATA BCBP records. Those formats have their own field structure and, in the rail case, a cryptographic signature; if you need one, generate the record with your ticketing system and paste the result here.

Frequently asked questions

Does an Aztec code really need no quiet zone?

Correct — ISO/IEC 24778 requires none, because the finder pattern is at the centre. This tool still adds 2 modules by default, since it costs little and helps handheld scanners.

How much data fits?

Up to roughly 3,000 characters or 3,800 digits at the largest size with default correction. Ticketing payloads are typically far shorter.

What error correction should I use?

The default 23% unless you have a specific reason. Going lower saves space but leaves little margin on a scuffed ticket or a cracked screen.

Can I make a train ticket with this?

You can encode a record you already have. Real rail tickets carry a signed UIC 918.3 payload issued by the operator's system — that signature is what makes the ticket valid, and it cannot be produced here.

Aztec or QR code?

QR for the public with phone cameras. Aztec where the space is tight, the reader is a fixed gate scanner, or an existing transport standard requires it.

Will my phone scan the symbol I just made?

Most recent phones read Aztec. Where your browser exposes a detector, the Verify button on this page decodes the generated symbol and compares it against what you typed.

Curious how we build and check these codes? Read our methodology.