2D · server-powered
DotCode generator.
DotCode was designed for very high-speed industrial printing: inkjet and laser marking on the fly, where square modules can't form cleanly. It's the standard for tobacco track-and-trace in the EU.
Dot-based 2D for high-speed industrial printing.
Standards-based quiet zones are always on. For production packaging, verify a printed sample with a barcode verifier.
Preview
Sample: type to make it yours- Renders on our servers, the one Plume tool that does.
- We keep the code type and content length, never what you encode.
- Free SVG vector + up to 600 DPI PNG, commercial use allowed.
- Full details in the privacy policy.
Valid DotCode input
Type any text. Our probes rendered accented Latin characters, Chinese text, and plain serial strings alike. The practical ceiling in this generator is 2000 characters of plain single-byte text: a 2000 character payload rendered, and 2001 was refused. Multibyte text occupies more of the symbol per character and hits the same limit sooner (a 2000 character Chinese payload was refused in our probes).
Everything you type is encoded literally, so bracket or parenthesis notation gets no special treatment on this page. For GS1 Application Identifier payloads with proper FNC1 framing, use Plume's separate GS1 DotCode generator instead.
Working sample: DotCode The sample text is just the format's name standing in for a real serial or traceability payload.
Where DotCode is used
- High-speed production lines
- EU tobacco traceability
- Inkjet direct marking
Common errors and how to fix them
- "The input data is too long"
- DotCode's encoder refused the payload. In our boundary tests 2000 plain-text characters rendered and 2001 did not, so trim to 2000 or fewer, and expect a lower ceiling when the text contains multibyte characters such as Chinese.
- "Content is too long (max 2048 characters)."
- Anything past 2048 characters is rejected before the encoder even runs. Shorten the data first, then mind the 2000 character DotCode ceiling.
- "Enter the content to encode."
- You rendered with nothing in the box. Add the serial or code text before generating.
Size and printing
DotCode is variable size and rectangular, so it stretches to fit your data rather than shrinking its dots. Each dot's diameter follows the module width setting; match it to what your marking hardware can reliably place, because merged or missing dots are the main failure mode for this symbology. For plate and laser workflows download the SVG, which keeps every dot as clean vector geometry at any reproduction size, and raster exports go up to 600 DPI.
DotCode questions
What is DotCode used for?
Mostly tobacco product traceability in the EU, plus general high-speed coding jobs where inkjet or laser marking cannot form the solid modules other 2D codes require.
Why does DotCode use dots instead of squares?
Each separated dot can be formed by a single ink drop or laser pulse while the product moves at line speed. Solid square modules would smear or merge under those conditions.
How many characters fit in a DotCode?
In this generator, 2000 characters of plain text. We verified the boundary directly: 2000 rendered and 2001 returned an error. Multibyte text such as Chinese hits the encoder's limit at lower character counts.
Can DotCode carry GS1 data?
The symbology can. This page encodes your text literally, so switch to Plume's GS1 DotCode type when you need Application Identifiers with FNC1 framing and validation.