Skip to content
barcoder

Standards/dotcode

DotCode

Type2D Matrix
Completeness81%high

Overview

DotCode is a two-dimensional matrix barcode symbology made up of disconnected round dots distributed on a white background, rather than the continuous bars or contiguous square modules used by most other 2D codes 1 3. The dot-based structure is its defining feature: it was designed specifically to be printed and read reliably when applied with high-speed inkjet or laser dot-marking equipment, where continuous lines are difficult to reproduce cleanly at speed 1 3. DotCode is a public-domain symbology defined by AIM (Association for Automatic Identification and Mobility) and is widely deployed for tobacco track-and-trace under EU regulation 1 3.

History

DotCode is standardised by AIM as the ISS (International Symbology Specification) DotCode specification. The current edition, version 4.0, was ratified in July 2019 and expanded the symbology-specific print-quality (verification) parameters onto a more granular scale 1 2. The symbology is public domain and requires no licence 1.

DotCode's most significant deployment driver is European tobacco traceability. Commission Implementing Regulation (EU) 2018/574 (of 15 December 2017) lays down the technical standards for the traceability system required under Article 15 of the Tobacco Products Directive 2014/40/EU 6 8. That regulation permits several optical data carriers — Data Matrix, QR Code, DotCode, and Code 128 — for the unique identifier; DotCode in particular is permitted for unit packets, while aggregated-packaging carriers are limited to Data Matrix, QR Code, and Code 128 8. The traceability system became mandatory for cigarettes and roll-your-own tobacco from 20 May 2019 and for all other tobacco products from 20 May 2024 8. DotCode was adopted by major tobacco manufacturers because it can be applied at speeds exceeding 1,000 codes per minute on high-speed production lines 1 7.

Technical specification

Dot-matrix structure. A DotCode symbol is a grid of typically black, disconnected dots on a white background; the symbol as a whole is rectangular 1 4. The minimum height is seven dots, and rectangular DotCodes of virtually any size and width-to-height proportion can be produced, with practical widths up to roughly 124 dots 1.

Error correction. DotCode uses strong Reed–Solomon error correction; its message-encoding scheme is inspired by Code 128 1. In practice roughly one-third of the codewords in a symbol are error-correction codewords 5.

Data capacity. DotCode can encode all ASCII and extended-ASCII characters — digits, lowercase and uppercase letters, punctuation, and special characters 1. Reported maximum capacity is on the order of approximately 450 characters or about 900 numeric digits in a single symbol, and it supports ECI encoding and GS1-formatted data 5.

GS1 DotCode. The variant used by the GS1 System is called GS1 DotCode; a symbol whose data begins with two digits encodes GS1-formatted data, and a default FNC1 mode enables encoding of GS1 Application Identifiers 4.

Use cases

DotCode's principal use case is high-speed industrial marking where the carrier must be applied by inkjet or laser at production-line speed. Its flagship deployment is EU tobacco track-and-trace: GS1 DotCode is used to meet the unique-identifier requirements of EU regulation 2018/574 to combat illicit trade in tobacco products, carried on cigarette and other tobacco unit packets 4 8. Beyond tobacco, the dot-based, high-speed-printable nature of DotCode has been examined for the beverage, distribution, and FMCG (fast-moving consumer goods) markets where direct marking at line speed is required 1 7.

Implementations

  • Zint — C; ~771 stars; active in 2026. The Zint library lists DotCode among its supported 2D symbologies, with adjustable symbol width, ECI and GS1 support, and roughly one-third of codewords devoted to error correction 3 5.
  • BWIPP — Barcode Writer in Pure PostScript — PostScript; ~499 stars; active in 2026. Renders DotCode among its symbology set [7b].

Comparison

DotCode and Data Matrix are the two carriers most commonly weighed for tobacco and high-speed FMCG marking, and both are permitted by EU 2018/574 8. The key difference is print technology: Data Matrix relies on contiguous square modules, which are well suited to thermal-transfer and label printing, whereas DotCode's disconnected dots are explicitly designed for high-speed inkjet and laser dot marking, where rendering continuous, abutting modules cleanly at 1,000+ items per minute is difficult 1 3. DotCode therefore tends to win where the code is jetted directly onto packaging at line speed, while Data Matrix remains the default for pre-printed labels and aggregated packaging 7 8. Like Data Matrix, a DotCode can be read by a dedicated scanner or a camera-equipped smart device with a suitable reader 1.

Fun facts

  • DotCode is built from individual dots precisely because round inkjet droplets, not crisp rectangular modules, are what high-speed marking heads naturally produce — the symbology embraces the printer's physics instead of fighting it 1 3.
  • Although best known for cigarette packs, DotCode is a fully general ASCII/GS1 carrier; the "two leading digits ⇒ GS1 data" convention is the same FNC1 trick used to make a GS1 symbol out of a generic one 4.

Status

Active and current. DotCode is defined by the AIM ISS DotCode Symbology Specification version 4.0 (2019), is public domain, and is an approved data carrier under EU tobacco-traceability regulation 2018/574 1 2 8.

Sources

1 DotCode Barcode Symbology — Scandit, 2026 2 DotCode Symbology Specification Published — AIM North America, 2019 3 Zint barcode encoding library — Zint Project / GitHub, 2026 4 What is GS1 DotCode? — GS1, 2026 5 Two-Dimensional symbols — Symbology reference — symbology.dev, 2026 6 Commission Implementing Regulation (EU) 2018/574 — EUR-Lex / European Union, 2018 7 DotCode and Data Matrix Codes in the Tobacco Industry — Dynamsoft, 2026 7b Barcode Writer in Pure PostScript (BWIPP) — Terry Burton / GitHub, 2026 8 Systems for tobacco traceability and security features — European Commission, 2026

Deployments

No country reports mention this standard by name.

Regions / aggregations not mapped to a single country

  • Universal
source · content/standards/dotcode/index.md