Supported Symbologies

The Scandit SDK supports the following 1D and 2D barcode symbologies. Configuration options for each symbology can be found on the C API symbologies page. Details about the supported GS1 Composite Codes can be found on the Composite Codes page.

Retail 1D Symbologies

European Article Number (EAN)

ean13
  • Also known as Japanese Article Number (JAN).
  • Encodes a Global Trade Identification Number (GTIN).
  • Contains 8 (EAN-8) or 13 (EAN-13) numerical digits.
  • Last digit serves as a mod10 checksum.
  • Additional data can be stored in an EAN-2 or EAN-5 add-on code.
  • It has been standardised under ISO/IEC 15420.

Universal Product Code (UPC)

upca
  • Encodes a Global Trade Identification Number (GTIN).
  • Contains 6 (UPC-E) or 12 (UPC-A) numerical digits.
  • Last digit serves as a mod10 checksum.
  • Additional data can be stored in an EAN-2 or EAN-5 add-on code.
  • It has been standardised under ISO/IEC 15420.

EAN-2 / EAN-5 Add-On

ean13 with add-on code
  • Encode additional product data like issue number, date or price.
  • Can only be used in combination with an EAN-8, EAN-13, UPC-A or UPC-E code.
  • EAN-2 encodes two digits, EAN-5 encodes five digits.
  • Additional information can be found on the Add-On / Extension Codes page.

GS1 DataBar

GS1 DataBar Expanded Stacked
  • Used to encode a Global Trade Identification Numbers (GTIN) along with variable additional information defined by application identifiers (AI). Examples are price, weight or expiry date.
  • Valid application identifiers (AI) are defined in the GS1 specification.
  • Supports variable length data content.
  • Barcode data is verified by an implicit checksum.
  • Does not require quiet zones around the barcode.
  • It has been standardised under ISO/IEC 24724.
  • DataBar-14 is supported in the omnidirectional, truncated and stacked flavour.
  • DataBar Expanded is supported in the normal and stacked flavour.
  • DataBar Limited is supported since SDK version 4.11.

Industrial 1D Symbologies

Code 128

code128
  • Used in a wide range of applications.
  • The barcode data can be encode numerical data only or two different subsets of the ASCII table. Combinations of the three different modes can be used in a single code.
  • Supports variable length data content.
  • A mandatory checksum is verified.
  • It has been standardised under ISO/IEC 15417.
  • Includes support for EAN-128 and GS1-128.

Code 39

code39
  • Mostly used in logistics to encode application specific identifiers.
  • The standard version can encode numbers 0-9, capital letters A-Z, symbols -.$/+% and space.
  • Supports variable length data content.
  • Narrow to wide bar ratios from 1:2 up to 1:3 are supported. 1:2.5 is recommended.
  • By default no checksum is verified, but an optional mod43 checksum can be enforced.
  • All ASCII characters including control characters encoding support can be enabled on demand.
  • It has been standardised under ISO/IEC 16388.

Code 93

code93
  • Mostly used in logistics to encode application specific identifiers.
  • Data in standard encoding (numbers 0-9, capital letters A-Z, symbols -.$/+% and space) and Full ASCII mode (including control characters) are supported.
  • Supports variable length data content.
  • Two mod47 checksums are verified.

ITF (Interleaved 2 of 5)

itf
  • It is used primarily in the distribution and warehouse industry.
  • Encodes an even number of numerical characters.
  • Supports variable length data content.
  • Narrow to wide bar ratios from 1:2 up to 1:3 are supported. 1:2.5 is recommended.
  • By default no checksum is verified.
  • It has been standardised under ISO/IEC 16390.
  • An optional mod10 checksum can be enforced.
  • Alternative names for this symbology include Leitcode, or Identcode. Both of these have a mandatory mod10 checksum.

Legacy 1D Symbologies

Code 11

code11
  • Primarily used for labelling telecommunication equipment. Also known as USD-8.
  • The barcode data can be encode numerical data, the dash and dot character.
  • Supports variable length data content.
  • For up to 10 data digits a single check digit is used, otherwise two check digits are used.


Code 25

code25
  • Also known as Standard 2 of 5, Industrial 2 of 5 or Discrete 2 of 5.
  • Legacy numerical barcode format with a low data density.
  • Supports variable length data content.
  • By default no checksum is verified.
  • An optional mod10 checksum can be enforced.
  • Support has been added in the SDK version 4.13.

Codabar

codabar
  • This symbology is used by U.S. blood banks, photo labs, libraries, and on FedEx airbills.
  • Encodes numbers and the characters –$:/.+
  • First and last symbols (the guard patterns) are one of A, B, C, or D. They are returned as part of the data string.
  • Supports variable length data content.
  • Some standards that use Codabar will define a check digit, but there is no agreed-upon standard checksum algorithm.
  • The width ratio between narrow and wide can be chosen between 1:2.25 and 1:3.
  • Different checksum algorithms are in use, though they are not standardized. Supported optional checksums are a mod11 and mod16 checksum.

MSI Plessey

msi plessey
  • MSI is used primarily for inventory control, marking storage containers and shelves in warehouse environments.
  • Encodes any number of numerical characters.
  • By default a mod10 checksum is verified. Alternative supported checksum options are mod11, mod1010 and mod1110.

2D Symbologies

QR Code

qr code
  • Supports variable length data content.
  • Data encoding modes support numeric, alphanumeric, binary data and kanji characters.
  • Different sizes (called versions) and error correction levels can be defined.
  • It has been standardised under ISO/IEC 18004.

Data Matrix

data matrix
  • Supports variable length data content.
  • Encodings and sizes defined in the Data Matrix ECC 200 standard are supported.
  • Different error correction levels can be defined.
  • It has been standardised under ISO/IEC 16022.
    direct part marking
  • The decoder supports the Data Matrix Rectangular Extension (DMRE) as defined in the AIM-D Symbology Specification Revision 1.01.
  • Data Matrix code are often used for direct part marking (DPM). For scanning these types of codes, it is recommended to enable the direct_part_marking extension_mode.

PDF417

pdf417
  • Used in a wide range of applications such as transport tickets and document processing.
  • Supports variable length data content.
  • The number of rows and columns are configurable.
  • Different error correction levels can be defined.
  • It has been standardised under ISO/IEC 15438.
  • Truncated PDF417 (Compact PDF417) codes can be used to save space.

MicroPDF417

micropdf417
  • More space efficient version of PDF417 without start and end patterns.
  • Used in GS1 Composite Codes type A (CC-A) and B (CC-B).
  • Supports variable length data content using one to four columns and up to 44 rows.
  • All size versions have a fixed error correction level.
  • It has been standardised under ISO/IEC 24728.

Aztec Code

aztec code
  • Used for tickets in the transport industries, e.g. railway companies.
  • Data can be encoded in ASCII or extended ASCII.
  • Supports variable length data content.
  • Different error correction levels can be defined.
  • It has been standardised under ISO/IEC 24778.

MaxiCode

maxicode
  • Fixed size 2d symbology originally created by UPS in 1992.
  • Used for tracking and managing shipments of packages.
  • It has been standardised under ISO/IEC 16023.
  • Supports encoding of a Structured Carrier Message or data in extended ASCII.
  • Uses Reed-Solomon error correction.

GS1 DotCode

dotcode
  • Public Domain optical data carrier designed to be printed reliably at very high speed.
  • Flexible code shape: rectangular codes of virtually any size and width/height proportion can be used.
  • Strong error correction by using message encoding inspired by Code 128 and strengthened by Reed-Solomon.
  • Allows to apply real time data with GS1 application identifiers, such as expiration date, lot number and serial number to products at production line speeds.
  • It has been standardised in the AIM specification AIMD013 Revision 3.0.

Postal Code Symbologies

RM4SCC (Royal Mail 4 State Customer Code)

RM4SCC
  • Postal code symbology used by Royal Mail and Singapore Post for encoding the destination address.
  • It enables UK postcodes as well as Delivery Point Suffixes (DPSs) to be easily read by a machine at high speed.
  • Uses a checksum digit for verifying data.

KIX (Klant Index)

KIX
  • Uses the same symbol alphabet as RM4SCC.
  • Does not use a checksum for data verification, nor does it have a start/end pattern.
  • KIX codes can be read from left-to-right or right-to-left. Depending on the reading direction, the data is completely different. To determine which of the two orientations is correct, the Scandit BarcodeScanner SDK matches the data against a set of encoding rules and returns the data that matches the rule.