Skip to content

Ultracode

Terry Burton edited this page Oct 21, 2026 · 11 revisions

Ultracode

The Ultracode symbology is a colour, 2D matrix-style barcode symbology that can encode full 256 character extended-ASCII.

Standards: AIM ISS - Ultracode, ISO/IEC CD 25449.

Data and Options

  • The data field can contain any extended ASCII data. The default interpretation of data by readers is in accordance with ISO/IEC 8859-1. When supported by the receiver, characters from other code pages can be encoded using Extended Channel Interpretation (ECI).
  • The encoder chooses the shortest encodation, compacting digits in Numeric Submode and text in C43 groups.
  • The encoder compresses ISO/IEC 15434 messages in Format 06 into a single codeword, except in a Structured Append symbol.
  • When the parse option is specified, any instances of ^NNN in the data field are replaced with their equivalent ASCII value, useful for specifying unprintable characters.
  • When the parsefnc option is specified, non-data function characters can be specified by escape sequences:
    • ^FNC1: FNC1
    • ^FNC3: FNC3
    • ^ECI000000 to ^ECI811799: ECI indicators
    • ECIs are not available with FNC1 in first position, and FNC1 is not available in second position.
  • The readerinit option denotes that the symbol is used for programming the barcode reader, by placing FNC3 at the start of the data. With the raw option it precedes the raw codewords, other than with link1, whose codewords can include FNC3 directly. It is not available with FNC1 in first position, nor with Structured Append.
  • The eclevel option is used to specify the error correction level:
    • eclevel=EC1 - Low
    • eclevel=EC2 - Medium (default)
    • eclevel=EC3
    • eclevel=EC4
    • eclevel=EC5 - Highest
  • The fixedeclevel option will prevent the error correction level from being opportunistically raised when a better fit to the current symbol is possible.
  • Deprecated: eclevel=EC0, error detection only, is accepted only with rev=1, the legacy revision.
  • The rows and columns options are used to specify the size of the symbol:
    • rows is the number of rows of tiles, from 2 to 5.
    • columns is the number of data columns, including the secondary vertical clock tracks, which are columns 15, 31 and 47. Valid ranges are 5 to 21 for 2 rows, 13 to 30 for 3 rows, 22 to 43 for 4 rows and 29 to 60 for 5 rows.
    • If rows and columns are unspecified the encoder will default to creating the smallest symbol that holds the data.
  • The adctype option links the symbol to an Associated Data Carrier that holds the remaining data, such as adctype=8 for a secure website URL or adctype=20 for an RFID transponder. The value is a type from ISO/IEC CD 25449 Table 11, from 0 to 69, excluding the reserved values. It is not available with Structured Append.
  • The sampos and samtotal options make the symbol one of a Structured Append Group of 2 to 8 symbols, which a reader reassembles into a single message. Both are required:
    • sampos is the position of the symbol in the group, from 1 to samtotal.
    • samtotal is the number of symbols in the group.
    • The optional File Number of a Structured Append Group is not supported.
    • Structured Append is not available for revision 1 symbols, with FNC1 in first position, with FNC3 or with the raw option.
  • The raw option denotes that the data field is providing the input as pre-encoded codewords in ^NNN format, suitable for direct low-level encoding:
    • The start option gives the Start Character, 257 by default. It is also accepted with rev=1.
    • The link1 option signals that the codewords begin with a Symbol Control Region.
  • The rev option selects the revision of the specification: rev=2, the default, is ISO/IEC CD 25449; rev=1 is the legacy AIM Ultracode 2016, which encodes the data without compaction.

Examples

A symbol with increased error correction:

Data:    Nice colours!
Options: eclevel=EC3
Encoder: ultracode


Symbologies Reference

Point of Sale

GS1 DataBar

Supply Chain

Two-dimensional Symbols

One-dimensional Symbols

Postal Symbols

Pharmaceutical Symbols

Less-used Symbols

GS1 Composite Symbols

Raw Symbols

Partial Symbols

Clone this wiki locally