Skip to content

PosiCode

Terry Burton edited this page Oct 15, 2026 · 17 revisions

PosiCode

PosiCode is a continuous, variable length, non-self-checking, bidirectional barcode symbology that is designed for use within printing processes where it is difficult to precisely control the width of a bar.

Uses:

  • Direct part marking where bar widths are hard to control, such as laser engraving, chemical etching, dot peen or indent marking.

Standards: ITS PosiCode.

Data and Options

  • The data field can hold the following:
    • For standard symbols: Any extended ASCII data. The default interpretation of data by readers is in accordance with ISO/IEC 8859-1.
      • FNC4 function characters will be inserted automatically to allow the encoding of extended ASCII characters.
    • For limited symbols: letters A-Z, digits 0-9, symbols - and .
  • The version option is used to specify the variant of the symbol, either:
    • version=a (default)
    • version=b
    • version=limiteda
    • version=limitedb
  • The rows option stacks the symbol in 2 to 5 rows (Stacked PosiCode), each row being a complete symbol whose check character identifies the row. The rows are of equal length, the last taking any remainder.
  • For stacked symbols, the rowheight option sets the height of the rows, and the sepheight option the space between them, in units of the grid spacing. By default the rows are approximately 15% of their length in height and are separated by twice the grid spacing.
  • 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, e.g. ^029 for GS, etc.
  • When the parsefnc option is specified, non-data function characters can be specified by escape sequences:
    • ^FNC1: FNC1
    • ^FNC2: FNC2
    • ^FNC3: FNC3
    • ^FNC@: FNC1 in second position, written before an AIM application indicator of one letter or two digits at the start of the data, e.g. ^FNC@T... or ^FNC@99.... See FNC1 in second position. It is not available in the limited versions.
  • The inkspread option can be used to adjust the width of the bars.

Examples

PosiCode

Equivalent ways to generate a PosiCode A symbol:

Data:    Abc123
Options: 
Encoder: posicode
Data:    Abc123
Options: version=a
Encoder: posicode

PosiCode A including a GS (ASCII 29) character:

Data:    AB^029CD
Options: parse
Encoder: posicode

PosiCode A including an FNC2 special character:

Data:    AB^FNC2CD
Options: parsefnc
Encoder: posicode

PosiCode B symbol with widened bars:

Data:    Abc123
Options: version=b inkspread=-1
Encoder: posicode

Limited PosiCode

Limited PosiCode A:

Data:    ABC-12.3
Options: version=limiteda
Encoder: posicode

Limited PosiCode B:

Data:    ABC-12.3
Options: version=limitedb
Encoder: posicode

Stacked PosiCode

Stacked PosiCode B in three rows:

Data:    PosiCode B Stacked
Options: version=b rows=3
Encoder: posicode


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