DotCode Generator
High-speed 2D code printed by inkjet for cigarette track-and-trace at production line speed.
How DotCode is structured
DotCode is built entirely from isolated round dots: no bar, line or edge in the symbol is continuous, so nothing has to dry as a solid stroke. A dotted finder pattern sits in the centre and a reference grid lets the reader correct for the movement of the substrate. That design is what allows an inkjet head to mark a product that is already moving past at production line speed.
DotCode check digit
Error correction is Reed-Solomon, the same family used by the other 2D symbologies, and the amount is set by the encoder. There is no separate check digit to print or validate — integrity is entirely in the correction codewords, which is also what lets a symbol survive a fast, rough print process.
DotCode compared with Data Matrix
Data Matrix draws continuous modules and is denser and easier to mark by laser or dot-peen on a stationary part, which is why it owns direct part marking. DotCode trades some density for print speed and motion tolerance, so it is used where the product cannot stop: tobacco track-and-trace, high-speed inkjet coding and serialisation at line rate. Compare the Data Matrix generator page for the same breakdown of structure, check digit and use cases.
Common DotCode problems
The printer cannot place dots accurately
DotCode assumes a print engine that can position individual dots; a process that bleeds or wicks turns neighbouring dots into blobs and the symbol stops decoding. Match the print technology to the symbology before committing a line to it.
The symbol is read from a stationary camera too close
Because nothing in the symbol is continuous, focus and motion blur matter more than for Data Matrix. Set the exposure for line speed and verify the read rate over a full shift rather than on a single test piece.
Low contrast on the substrate
Isolated dots give the reader fewer edges to lock onto, so a low-contrast print — light ink on kraft board, for example — fails where a continuous symbol might still read. Increase contrast or add a primer patch under the code.
Where DotCode is used
- Cigarette and tobacco track-and-trace coding at line speed
- High-speed inkjet serialisation on moving products
- Marking curved, rough or non-stop surfaces in manufacturing
Not sure this is the right symbology? The barcode format guide groups every supported 1D and 2D format by industry with its character set and limits.