Skip to content

DotCode

Terry Burton edited this page Oct 12, 2026 · 19 revisions

DotCode

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

Also known as: Ribbon Code.

Uses:

  • High-speed marking on production lines, such as by inkjet.
  • Unit packets of tobacco products under EU traceability Regulation (EU) 2018/574.

Variants:

Standards: AIM - ISS DotCode.

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).
  • When the parse option is specified, any instances of ^NNN in the data field are replaced with their equivalent ASCII value. This is useful for specifying unprintable characters.
  • When the parsefnc option is specified, non-data function characters can be specified by escape sequences:
    • ^FNC1: FNC1. Recommendation: Consider GS1 DotCode for encoding GS1 AI syntax data.
    • ^FNC3: FNC3
    • ^ECI000000 to ^ECI999999: ECI indicators
    • ^FNC@: FNC1 in second position, written before an AIM application indicator of one letter or two digits at the start of the data or of a message segment that follows FNC3, e.g. ^FNC@T... or ^FNC@99.... See FNC1 in second position.
    • ECIs are not available with FNC1 in first or second position.
  • The ratio option sets the width-to-height ratio of the symbol. The default is 1.5.
  • The columns and rows options are used to specify the size of the symbol, each from 5 to 200, with an odd sum. When these are not specified a symbol is generated that maintains the selected aspect ratio.
  • The mask option selects mask 0 to 3 instead of the best one.
  • Deprecated. The fast option is used to enable the optional high-speed symbol masking algorithm.
  • The sampos and samtotal options make the symbol one of a Structured Append sequence of 2 to 35 symbols, which a reader reassembles into a single message. Both are required:
    • sampos is the position of the symbol in the sequence, from 1 to samtotal.
    • samtotal is the number of symbols in the sequence.
    • The position and total are encoded at the end of the data, followed by FNC2.
    • Structured Append is not available with FNC3, for reader initialisation or symbol separation, nor for GS1 DotCode symbols.

Examples

A basic symbol:

Data:    This is DotCode
Options: inkspread=0.16
Encoder: dotcode

A symbol with custom aspect ratio:

Data:    Code 2.5
Options: ratio=2.5
Encoder: dotcode


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