Application identifiers, not a string
A GS1 DataMatrix holds a sequence of application identifiers. (01) is the GTIN, (10) the batch, (17) the best-before date as YYMMDD, (21) the serial number and (30) the quantity. Leading zeros and variable lengths make raw data useless without a parser, which is why each field is shown separately.
The scanner handles compact GS1 element strings with FNC1 separators as well as GS1 Digital Link URLs where the identifiers sit in the path and query, for example /01/04012345678901/10/ABC123?17=270101. Both forms are normalised and rendered identically.
Where these codes appear
In logistics you meet Data Matrix on VDA 4902 labels, KLT accompanying notes and Odette transport labels. Retail uses GS1 DataMatrix on medicines and fresh produce; industry marks components with serial and production batch.
The SSCC (00) of a shipping label identifies the consignment, while (02) holds the GTIN of the trade unit. When a code fails, the printer is usually the cause: Data Matrix needs a quiet zone and at least two module widths per 25 mm. Our label generator ships print-ready templates with correct quiet zones.
Why your images never leave the device
The decoder is JavaScript running in your browser. Camera frames are drawn into a canvas and read there; uploaded images are read through FileReader. There is no upload endpoint for image data. That is an architectural decision, not a slogan: the application has no route that accepts image content.
To improve the tool we store anonymous counters only — detected format, payload category (Wi-Fi, product code and so on), interface language, and whether decoding succeeded. No decoded content, no filenames, no IP-based profiling. Scan history lives in your browser’s localStorage and is deleted with one click.
When a code will not scan
The usual suspects are low contrast, a code that is too small, or reflections on a laminated label. Steady the camera, zoom slightly, and make sure the quiet zone around the code is visible. For a photo, rotating it often helps the decoder find the alignment pattern.
For damaged codes, try a second angle. For product barcodes we validate the EAN-13 check digit and tell you immediately when the number cannot be genuine. Industrial Data Matrix payloads (VDA 4902, GS1) are also supported — and our label generator handles the printing side.
Preguntas
Preguntas frecuentes
What is a GS1 DataMatrix?
A 2D code that structures data with GS1 application identifiers. It is used mainly in logistics, industry and healthcare.
What do the bracketed numbers mean?
They are application identifiers. (01) GTIN, (10) batch, (17) best-before date, (21) serial number.
Are GS1 Digital Link URLs supported?
Yes. The scanner reads identifier structure from the path and query parameters and shows the same fields as a compact GS1 string.
Can I scan VDA 4902 labels?
The embedded Data Matrix payload is decoded. To generate and print the labels themselves, use our label generator.
What happens to the batch and serial data?
Nothing leaves your device. The data is only rendered in the browser and discarded on close unless you copy it.