A GS1 Digital Link is a web address that carries a product's GS1 identifiers, such as its GTIN, batch, serial number, and expiry date, so one QR code can send a shopper to product information and still hold the data a scanner needs to identify the item. This generator builds that address from your GTIN and optional fields, in your browser. It does not register your GTIN, host a resolver, or check that the GTIN is valid.
How do you make a GS1 Digital Link QR code?
- Leave the Resolver Domain as
https://id.gs1.org, or enter your own brand domain if you run a resolver. - Enter the GTIN (01). Shorter GTINs are padded with zeros to 14 digits.
- Optionally add a Batch / Lot (10), Serial (21), and Expiry (17, YYMMDD).
- Download the code and test both the link and the scan.
With GTIN 09506000134352, batch ABC123, serial 10000000001, and an expiry of 31 December 2027, the code holds:
https://id.gs1.org/01/09506000134352/10/ABC123/21/10000000001?17=271231
With just the GTIN it is a short address, and a short address gives a sparser, easier-to-scan code:
https://id.gs1.org/01/09506000134352
Why is some data in the path and some in the query?
In GS1's Digital Link syntax, the primary key (the GTIN, Application Identifier 01) and the qualifiers that narrow it to a specific lot or item (batch 10, serial 21) form the path. Other attributes, such as the expiry date (17), follow as query parameters. The generator follows that structure, which is what a resolver expects.
| Field | Application Identifier | Where it goes | Format |
|---|---|---|---|
| GTIN | 01 | Path | 14 digits (padded) |
| Batch / lot | 10 | Path | Text, percent-encoded |
| Serial number | 21 | Path | Text, percent-encoded |
| Expiry date | 17 | Query | YYMMDD, six digits |
What does the generator not check?
It does not verify the GTIN's check digit. The last digit of a GTIN is calculated from the others, and a wrong one produces a code that looks fine and resolves to nothing. For the example above, the check digit of 0950600013435 is 2, which is why the full GTIN ends in 2. Calculate or verify the check digit with your GS1 tools before you print.
It also does not check that the domain resolves. If you use your own brand domain, make sure it serves the path structure and redirects shoppers to a real page.
Will it replace the barcode at checkout?
Not by itself. GS1 Sunrise 2027 is the industry target for retail systems to be able to read 2D barcodes at the point of sale. A code printed today from a general-purpose tool is best treated as an extra, scannable-by-consumer link placed alongside the existing barcode. A symbol intended for checkout scanners has to meet GS1's specifications for size, quality, and placement, which this tool does not verify. Ask your GS1 member organization about the rules for your category before you rely on it at the register.
To see how ready your business is, try the GS1 Sunrise readiness checker. For background, read GS1 Digital Link QR codes, GS1 Sunrise 2027, and digital product passport QR codes.
What should the code point to?
A resolver takes the identifiers and sends the shopper to the right page: product details, instructions, recycling information, or a registration form. With id.gs1.org, the resolution is neutral; with your own domain, you control the destination and can change it later without reprinting, since the identifiers stay the same. That is the practical reason to run a resolver you control.
How do you test it?
Open the link in a browser and confirm it resolves to sensible content. Scan the printed code with several phones and a barcode scanner if you have one. Use the payload decoder to confirm the exact text, and the QR validator for contrast and quiet zone. Test the finished label after printing, on the real material.
This article is general information, not legal or compliance advice. Regulatory and industry timelines can change; check GS1 and the relevant authorities.