Skip to content

Code 16K

Terry Burton edited this page Oct 24, 2026 · 29 revisions

Code 16K

The Code 16K barcode symbology is a 2D stacked-linear barcode that can encode any byte values with the use of the FNC4 shift character.

Also known as: USS-16K.

Standards: ANSI/AIM BC7 - USS Code 16K, BS EN 12323.

Data and Options

  • The data field can consist of any byte values. The 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 byte values 128 to 255.
  • When the parse option is specified, any instances of ^NNN in the data field are replaced with their equivalent byte value, useful for specifying unprintable characters.
  • 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 with Structured Append.
  • The readerinit option denotes that the symbol is used for programming the barcode reader, by placing FNC3 at the start of the data. It is not available with FNC1 in first or second position, nor with the raw option, whose codewords can include FNC3 directly.
  • The sam option specifies this symbol to be part of multi-part structured data held in up to nine symbols. For example sam=25 specifies this to be the second symbol in a group of five symbols.
  • The sampos and samtotal options are an alternative to sam that give the position and the total separately, for example sampos=2 samtotal=5. They cannot be combined with sam.
  • The rows option specifies the number of rows in the symbol, between two and sixteen.
  • If rows is unspecified the encoder will default to the smallest number of rows that can hold the given data.
  • 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 rowheight option specifies the height of the bars in each row in modules, from 8 to 50. The default is 8.
  • The sepheight option specifies the height of the separator bars enclosing the rows in modules, from 1 to 5. The default is 1.

Examples

A basic symbol:

Data:    Abcd-1234567890-wxyZ
Options:
Encoder: code16k

A symbol with a fixed number of rows:

Data:    Code 16K
Options: rows=10
Encoder: code16k

A symbol with custom row and separator heights:

Data:    Tall bars, fat separators
Options: rows=8 rowheight=12 sepheight=2
Encoder: code16k


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