GS1 TDS v2.3 Decoder and Encoder SGTIN+ · DSGTIN+ · SGTIN++ · DSGTIN++

GTIN-14 (Barcode) and Serial Number

Flow Arrow
Flow Arrow

Barcode Information

Flow Arrow

RFID Control Information

Flow Arrow
Flow Arrow

AIDC Data

Flow Arrow

GS1 Digital Link URI

Flow Arrow

RFID Tag EPC (binary)

RFID Tag EPC (hexadecimal)

What this tool does

This page is a dynamic online decoder and encoder for the four next-generation EPC schemes defined in the GS1 Tag Data Standard v2.x (current release TDS v2.3): SGTIN+, DSGTIN+, SGTIN++ and DSGTIN++. Start from whichever value you have; a GTIN-14 and serial number, a GS1 Digital Link URI, or the raw hexadecimal read straight off a tag; and it translates between all of them live, including any +AIDC data the tag carries alongside its identity.

The translation engine is a GS1 TDS v2.3 implementation validated byte-for-byte against GS1’s own Tag Data Translation reference implementation across a 1,000-case ground-truth suite, so what you see here is what a conformant encoder or decoder will produce. EPCs using the classic SGTIN-96/SGTIN-198 schemes (headers 30/36) are handled by the companion EPC encoder & decoder.

How to use it

To encode, fill in the GTIN-14 and serial at the top, pick a Filter Value (encoding deliberately waits until you choose one), and optionally add a prioritised date, a Digital Link hostname, or +AIDC elements — the Digital Link, binary and hex populate downwards. +AIDC elements can be dragged into order, and that order is encoded verbatim into the EPC. To decode, paste tag hex into the bottom field or a GS1 Digital Link URI into its field, and everything above fills in; scheme, header, significant bits, dates, country names and encoding methods included. Show Example cycles through worked examples of all four schemes, and the green arrows show which way the data is flowing.

What’s new in GS1 TDS v2.x

The v2.x schemes rethink how a serialised GTIN is stored on a UHF (RAIN) RFID tag:

  • Variable length. Instead of fixed 96- or 198-bit layouts, the EPC is exactly as long as its content needs, padded to a 16-bit word boundary; the tool’s bit readout under the hex box shows both figures.
  • BCD GTIN, no partition bits. The GTIN-14 is stored digit-by-digit, and the company-prefix split is no longer encoded on the tag. That greatly simplifies encoding, but means the GS1 Company Prefix length must come from a prefix registry — which is why this tool attempts to resolve it server-side.
  • +AIDC data on the tag. Batch/lot, production and expiry dates, purchase order, country of origin and company-internal elements can ride on the tag itself, readable without any database lookup.
  • Native GS1 Digital Link. Every decode yields a resolvable Digital Link URI; the “++” schemes can even embed a custom hostname so the link resolves to your own domain rather than id.gs1.org.
  • Six serial encoding methods. Numeric, hex, alphanumeric and other serial styles each get a compact binary encoding, chosen automatically for the smallest fit.

The four schemes: SGTIN+, DSGTIN+, SGTIN++ and DSGTIN++

SGTIN+ (EPC header F7) is the base scheme: a BCD-encoded GTIN-14 and a compactly-encoded serial, optionally followed by +AIDC data elements.

DSGTIN+ (header FB) adds a prioritised date; one date AI (such as expiry or production date) promoted into the fixed part of the encoding, where readers can filter on it cheaply. The “D” stands for that date.

SGTIN++ (header FD) adds a custom hostname, compressed into the EPC via the TDS hostname tables, so the tag’s Digital Link resolves to a domain you choose.

DSGTIN++ (header FC) combines both: prioritised date and custom hostname.

The tool selects the scheme automatically from the fields you fill in — add a prioritised date and the scheme becomes DSGTIN+; add a hostname and it becomes SGTIN++; add both and you get DSGTIN++.