Repository navigation
Ultracode
Terry Burton edited this page Oct 21, 2026
·
11 revisions
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.
- 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
^NNNin 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 -
^ECI000000to^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=EC3eclevel=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=8for a secure website URL oradctype=20for 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
^NNNformat, 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=1is the legacy AIM Ultracode 2016, which encodes the data without compaction.
A symbol with increased error correction:
Data: Nice colours!
Options: eclevel=EC3
Encoder: ultracode
Home | Download | Documentation (PDF) | Source | Support | Issues | Online Barcode Generator
Point of Sale
GS1 DataBar
- GS1 DataBar Omnidirectional
- GS1 DataBar Stacked Omnidirectional
- GS1 DataBar Expanded
- GS1 DataBar Expanded Stacked
- GS1 DataBar Truncated
- GS1 DataBar Stacked
- GS1 DataBar Limited
- GS1 North American Coupon Code
Supply Chain
- EAN-14
- ITF-14
- SSCC-18
- GS1-128
- GS1 DataMatrix
- GS1 DataMatrix Rectangular
- GS1 QR Code
- GS1 Digital Link Data Matrix
- GS1 Digital Link QR Code
- GS1 DotCode
Two-dimensional Symbols
- Aztec Code
- Compact Aztec Code
- Aztec Runes
- Data Matrix
- Data Matrix Rectangular
- Data Matrix Rectangular Extension
- DotCode
- Han Xin Code
- PDF417
- Compact PDF417
- MicroPDF417
- QR Code
- Micro QR Code
- Rectangular Micro QR Code
- Swiss QR Code
- EPC QR Code
- EMV QR Code
One-dimensional Symbols
Postal Symbols
- Australia Post
- Canada Post PostBar
- CEPNet
- DPD Parcel Label
- Deutsche Post Identcode
- Deutsche Post Leitcode
- Japan Post
- Korea Post
- MaxiCode
- UPS MaxiCode
- Royal Mail
- Royal Mail Mailmark
- Royal Mail Mailmark 4-state
- Royal TNT Post
- UPU S10
- USPS Intelligent Mail
- USPS POSTNET
- USPS PLANET
- USPS FIM symbols
Pharmaceutical Symbols
- Italian Pharmacode
- Pharmacode
- Two-track Pharmacode
- PZN
- PPN-Code
- HIBC Code 39
- HIBC Code 128
- HIBC PDF417
- HIBC MicroPDF417
- HIBC QR Code
- HIBC Data Matrix
- HIBC Data Matrix Rectangular
- HIBC Codablock F
- HIBC Aztec Code
Less-used Symbols
- BC412
- Channel Code
- Codabar
- Codablock F
- Codablock A
- Code 11
- Code 16K
- Code 25
- Ultracode
- IATA 2 of 5
- Marks & Spencer
- Matrix 2 of 5
- Datalogic 2 of 5
- COOP 2 of 5
- Code 49
- Code One
- Grid Matrix
- Datastrip 2D
- MSI Plessey
- Plessey
- Anker Code
- PosiCode
- Telepen
- Telepen Numeric
- Kodak Patch Codes
- VIN
- LOGMARS
- DX Film Edge
- Aztec Mesas
GS1 Composite Symbols
- EAN-13 Composite
- EAN-8 Composite
- UPC-A Composite
- UPC-E Composite
- GS1 DataBar Omnidirectional Composite
- GS1 DataBar Stacked Omnidirectional Composite
- GS1 DataBar Expanded Composite
- GS1 DataBar Expanded Stacked Composite
- GS1 DataBar Truncated Composite
- GS1 DataBar Stacked Composite
- GS1 DataBar Limited Composite
- GS1-128 Composite
Raw Symbols
Partial Symbols