Aztec Code

What is an Aztec code?

Aztec Code is a two-dimensional barcode symbology that was invented by Andrew Longacre and Robert Hussey at Welch Allyn, Inc in 1995. It uses less space than other matrix barcodes due to its lack of a quiet zone. With a unique finder pattern that resembles an Aztec pyramid in the middle of the symbol, an Aztec Code can be located easily. Aztec Code is defined in ISO/IEC 24778:2008.

Specifications and Imaging Geometry


Aztec Code
  • Finder pattern: Also called a bulls-eye pattern. Data is encoded in concentric square rings around the bulls-eye pattern.
  • Orientation patterns: The first layer outside the outermost ring of the finder pattern contains chevron-shaped orientation patterns in each corner so the code can be read correctly if rotated or reflected.

    a. The upper left corner has three black modules.

    b. The upper right corner has one white module followed by two black modules.

    c. The lower right corner has one black module followed by two white modules.

    d. The lower left corner has three white modules.

  • Mode Message: In the same layer as the orientation patterns is a Mode Message that specifies the symbol size and the length of the data.
  • Reference grid: Serves as an extension of the finder pattern to help accurately map the data field.
  • Data layers: The layers that contain data and check characters are read in a clockwise direction. (Like the image above shows, the first data layers surround the Orientation patterns and Mode Message. The second data layers surround the first data. The rest data layers can be done in the same manner)


Aztec Code is a high-density two-dimensional barcode. Aztec Codes are approximately 30 times smaller than Code 39 encoding the same data.

Code Size

Aztec Code can contain from 1 to 32 data layers, but because there are two sizes of four-layer symbols, there are a total of 33 different symbol sizes. The smallest is 15 x 15 modules, and the largest is 151 x 151 modules. The Aztec Code barcode is always square. There is no limit on module size.

Character Set and Capacity

  • FNC1, an escape symbol used to mark the presence of an application identifier, in the same way as in the GS1-128 standard.
  • ECI, an escape symbol followed by a 6-digit Extended Channel Interpretation code, which specifies the character set used to interpret the following bytes.

By default, Aztec Code supports any ASCII character (value 0-127). It can encode 3,832 numeric, 3,067 alphanumeric characters, or 1,914 bytes.

Error Detection and Correction

Aztec Code uses the Reed-Solomon algorithm for error correction. The user can specify the percentage of the data region that is to be used by error correction codewords; the recommended level (which is also the default minimum) is 23 percent of symbol capacity plus three more codewords.

Where is an Aztec code used?

Aztec Codes are used in transport ticketing (e.g., railway tickets, airplane boarding passes), car registration and tax systems, and on companies'bill payment systems.


  • Transportation
  • Government
  • Commercial