GS1 Digital Link Decoder
Paste a GS1 Digital Link URL, a (AI)value element string, or a raw FNC1-separated payload. We'll extract the GTIN, batch, expiry, serial and any other recognised Application Identifiers — all in your browser.
Result
Paste a GS1 Digital Link URL or element string and press Decode. The detected Application Identifiers will appear here as cards.
Supported Application Identifiers
The most commonly scanned GS1 AIs are recognised by AI number or by Digital Link short name (e.g. /gtin/, /lot/, /expiry/).
| AI | Meaning | Notes |
|---|---|---|
| (01) | GTIN | 14-digit Global Trade Item Number. |
| (10) | Batch / Lot | Variable, up to 20 characters. |
| (17) | Expiry | YYMMDD, formatted to YYYY-MM-DD. |
| (21) | Serial number | Variable, up to 20 characters. |
| (11/13/15) | Production / packaging / best-before dates | YYMMDD. |
| (00) | SSCC | 18-digit Serial Shipping Container Code. |
| (414) | GLN | 13-digit Global Location Number. |
| (240/22/30/37) | Variants & counts | Variant codes and count fields. |
| (8003/8004/8006/8010/8017/8018) | Asset & service identifiers | GRAI, GIAI, ITIP, CPID, GSRN. |
What is GS1 Digital Link?
GS1 Digital Link is a syntax that turns GS1 identifiers into a regularhttps://URL. The path encodes Application Identifiers as key/value pairs: a GTIN sits under /01/, a batch under /10/, expiry under /17/, and so on. That URL is then encoded into a 2D barcode — usually a QR code or a GS1 DataMatrix.
The result is one barcode that does two jobs: a shopper's phone resolves the URL to a web page, while a retail or hospital scanner uses the same payload to extract the GTIN, batch and serial for inventory and traceability. No more separate marketing QR plus EAN-13.
https://id.gs1.org/01/07640156790000/10/ABC123?17=260131&21=42 │ │ │ │ │ │ │ │ │ └─ serial (21) │ │ │ │ │ │ │ └──────── expiry (17), 2026-01-31 │ │ │ │ │ └──────────────── batch / lot (10) │ │ │ └──────────────────────────────── GTIN value │ │ └──────────────────────────────────── GTIN AI (01) │ └────────────────────────────────────────────────── GS1 resolver host └─────────────────────────────────────────────────────────── any https:// host works
About this GS1 Digital Link decoder
This GS1 Digital Link decoder parses GS1-formatted URLs and element strings into their underlying Application Identifiers. Paste a scanned QR code value (often something like https://id.gs1.org/01/…), a bracketed element string from a Data Matrix, or a raw FNC1-separated payload — the decoder figures out which shape you gave it and breaks it down.
It's the fastest way to inspect a GS1 QR code without spinning up a full supply-chain stack. Everything is parsed locally; nothing is sent to a server.
When to use it
- Inspecting a GS1 QR code on a product to confirm the GTIN, batch and expiry match the printed label.
- Debugging why a Digital Link URL isn't routing correctly in your e-commerce stack.
- Comparing a supplier's GS1 DataMatrix payload against the spec they sent you.
- Teaching colleagues how GS1 Application Identifiers map to Digital Link path segments.
- Preparing for Sunrise 2027 by validating that your brand's 2D codes parse cleanly.
How it works
- 1Step 1Paste a payload
Drop in a Digital Link URL, an (AI)value element string, or a raw GS1 payload using ^ / {GS} as separators.
- 2Step 2Auto-detect the shape
URLs are parsed via the Digital Link path/query syntax; bracketed strings via element-string rules; raw strings via the AI tables.
- 3Step 3Resolve each AI
Each segment is matched against the known Application Identifier table — fixed-length AIs are split deterministically, variable ones end at the GS separator.
- 4Step 4Render result cards
Each AI becomes a card with its number, label, raw value and human-friendly formatting (e.g. 260131 → 2026-01-31).
- 5Step 5Copy what you need
Copy any individual value, or grab the whole normalised element string to pass to another tool.
What to avoid
- Treating this as an official GS1 verifier — it parses structure, it does not certify compliance.
- Pasting an arbitrary URL and expecting Digital Link semantics. The path must follow /AI/value/AI/value/… or the GS1 shortName equivalents.
- Assuming every (01) value is a registered GTIN — only that the digits are present.
- Stripping the GS / FNC1 separators from a raw GS1 payload — variable-length AIs need them to know where to stop.
- Relying on the date formatter for partial dates (DD = 00 means 'last day of month' in GS1).
Tips & tricks
- If a date looks wrong, remember GS1 uses YYMMDD with the GS1 century rule (YY ≤ 50 → 20YY, else 19YY).
- Variable-length AIs like (10) batch and (21) serial cap at 20 characters per the GS1 General Specifications.
- Need to validate the GTIN inside a Digital Link? Copy the (01) value into the GTIN Validator.
- Some scanners deliver GS1 payloads with the GS group separator replaced by ']' or '^' — both are handled here.
- Brands often expose multiple Digital Link redirects per GTIN (consumer page, technical product info). The decoder shows the structured data regardless of where the URL routes.
Frequently asked questions
Preparing for Sunrise 2027
Sunrise 2027 is GS1's global initiative for retail point-of-sale systems to accept 2D codes carrying GS1 Digital Link by the end of 2027. If you're auditing your supplier feeds or your own packaging artwork, this decoder is the fastest way to confirm a code parses cleanly. Read the Sunrise 2027 guide.