2D Ready

GS1 Digital Link builder

Enter a domain and GTIN to get a canonical GS1 Digital Link URI and a live QR code, built entirely in your browser.

About GS1 Digital Link URIs

A GS1 Digital Link is a standard way of encoding GS1 identification keys — most commonly a GTIN — as a web URI, so the same barcode a point-of-sale scanner reads for checkout can also be scanned by a shopper's phone and opened as a normal web link. The canonical path always starts with the primary identifier, /01/{gtin14}, zero-padded to 14 digits regardless of whether the product was originally allocated a GTIN-8, UPC-A, EAN-13 or GTIN-14. Optional qualifiers follow in a fixed order defined by the standard — /22/ for CPV (consumer product variant), then /10/ for lot or batch number, then /21/ for serial number — because qualifiers narrow the identity of what's being pointed at, and a resolver needs a single unambiguous order to match against.

Data attributes that describe the product rather than identify it — like expiry date, AI 17, encoded as YYMMDD — are not part of the path at all. They're appended as query string parameters (?17=271231), because they don't change which real-world thing the link points to, just what's known about it at scan time.

The QR code this tool renders uses error correction level M and a 4-module quiet zone, matching GS1's general-purpose barcode guidance: EC-M gives roughly 15% damage tolerance, a reasonable middle ground for codes that get printed small on packaging and handled a lot, and the 4-module quiet zone is the minimum clear border scanners need to reliably detect the code's edges against surrounding print. Both are baked directly into the SVG's viewBox here, not added separately downstream.

Crucially, a point-of-sale scanner never contacts a server to read this code. It parses the URI's path and query string directly, by syntax, to extract the AIs it needs (GTIN, batch, expiry) — the same way it would read a legacy GS1-128 barcode. The web-resolvable part only matters when a browser or phone camera opens the link; checkout lanes work entirely offline.

Need a Digital Link you can point somewhere new after the code is already printed, plus scan analytics? A static URI like the one above can't be edited after printing — 2dready.com/register gives you a redirect you control instead.