Skip to content

GS1 barcode decoder

Paste the content from your scanner and we split out the GTIN, serial number, expiration date and batch, and validate the check digit and the fields required for pharma serialization. Decoding happens in your browser.

Free tool · Serialization

Decoding happens only in your browser; the content you enter is never sent to any server.

Results appear here. The bracketed (01)… format or raw scanner output (with <GS>, {GS} or ASCII 29 as separator) is accepted.

01

How to use it

  1. A

    Paste the scanner output or the bracketed text from the label into the box.

  2. B

    Fields are split into a table; date, check digit and character rules are checked instantly.

  3. C

    Copy the human-readable or raw format for your systems or printer template.

02

What is inside a GS1 barcode?

GS1 DataMatrix and GS1 QR carry data as fields that start with an application identifier (AI): (01) GTIN, (21) serial number, (17) expiration date, (10) batch, and so on. The scanner signals a GS1 code with the ]d2 (DataMatrix) or ]Q3 (QR) prefix.

Some fields have a fixed length: GTIN 14 digits, dates 6 digits (YYMMDD). Fields such as serial and batch numbers are variable-length; unless they come last they must be followed by a separator (FNC1 / ASCII 29, shown as <GS> on most screens).

03

Pharma serialization and medical device UDI

Pharma serialization codes, such as those in Türkiye's ITS and in the EU FMD, carry four fields: GTIN (01), serial number (21), expiration date (17) and batch (10). The tool checks for all four separately.

For medical devices, a UDI consists of the product identifier (01) and at least one production identifier (batch, serial, production or expiration date).

04

Common mistakes

Missing separator: without a GS after the serial number, scanners read the following fields as part of the serial. The tool catches this as a field-length overflow.

Check digit: the last digit of a GTIN is computed from the others; a single wrong digit invalidates the code.

Dates use YYMMDD; day “00” means the last day of the month. Spaces and accented letters are not part of the GS1 character set.

FAQ

Is the barcode content I enter sent anywhere?
No. Decoding is done entirely by code running in your browser; the content is never transmitted to a server or stored.
My scanner does not show the separator. What should I do?
Many scanners send ASCII 29 as an invisible character; paste it as is and the tool recognizes it. If your scanner writes the separator as <GS>, {GS} or [GS], those are accepted too.
Does the tool check whether a code is registered in a national system?
No. The tool checks conformance with GS1 rules and the expected field structure; it does not query whether a product or serial number exists in any national register.
Which application identifiers are supported?
The ones common in pharma, medical devices and logistics: GTIN, SSCC, GLN, serial and batch numbers, date fields, net weight, national healthcare reimbursement numbers (PZN, CIP, NDC…) and company-internal fields. An identifier not in the table is reported as unrecognized.

Code generation and verification on your line

Our serialization software talks directly to printers and cameras, prevents duplicate codes and tracks case–pallet aggregation end to end.