Skip to content

GS1 Digital Link explained

Last updated June 12, 2026

One code for people and systems

A traditional barcode only carries a number. A web link only opens a page. GS1 Digital Link combines the two: a URL whose path is the product's GS1 identifier. That's the format every PassportCraft QR code uses, and it matters for Digital Product Passports because the same physical code must serve shoppers, retailers, customs, and recyclers. Our insights article on product passport QR codes and GS1 Digital Link covers why the EU landed on this standard; this page covers how it behaves in PassportCraft.

Anatomy of your passport's URL

  • passportcraft.com/01/0506012345678101 is the GS1 Application Identifier for GTIN, followed by your GTIN padded to 14 digits (the GS1 Digital Link format requires exactly 14).
  • passportcraft.com/01/05060123456781/21/SER123 — when the passport's Serial Number field is filled, the URL adds 21 (the Application Identifier for serial number), identifying the individual item rather than the product line.

You don't construct these URLs yourself; the QR panel builds them from the passport's GTIN and Serial Number, as covered in Downloading and printing QR codes.

What happens on a scan

The /01/ path on passportcraft.com is a GS1 Digital Link resolver, built to the GS1-Conformant Resolver standard (version 1.2.0). When a code is scanned:

  1. The resolver reads the GTIN (and serial, if present) from the URL. All standard GTIN lengths (8, 12, 13, and 14 digits) are accepted and matched to your passport.
  2. It looks up the passport for that GTIN. A serialized URL (/21/...) matches only a passport with that exact GTIN and Serial Number.
  3. It redirects to the passport's public page — the default destination for human visitors.

Software can ask for more than the default page. A request with ?linkType=linkset returns a machine-readable list of everything available for that product — the passport page plus a structured JSON-LD data endpoint. This only works for published passports: a linkset request for an unpublished passport returns a 404. The resolver also publishes a standard description of itself at /.well-known/gs1resolver, which is how GS1-aware tools find out what it supports.

Other GS1 qualifiers a scanner might add (batch/lot, expiry) don't break anything — the resolver ignores them and falls back to the product-level passport.

When a passport isn't live

What a scanner sees depends on the passport's state, covered in full in Drafts vs published passports:

Passport stateWhat a scan shows
PublishedThe live passport page
Draft (including after unpublishing)"This passport hasn't been published yet" — with a sign-in link so your own team can preview it
Deactivated (after a plan downgrade)"This Digital Product Passport has been temporarily deactivated. Contact the brand for product information."
No passport for that GTIN"This Digital Product Passport is not available"

In every non-published state, no product data is exposed — visitors get a neutral notice page.

Unpublishing doesn't break the URL — it changes what it shows

The URL printed in your QR codes never stops resolving. Unpublishing swaps the live passport for the "not published yet" notice, and republishing swaps it back — printed codes pick up the change immediately, with nothing to reprint. The walkthrough is in Publishing a passport.

Compatibility with retailer scanners

Because a GS1 Digital Link is a plain https URL in a standard QR code:

  • Consumers need nothing special — any phone camera opens the passport page.
  • Retail and logistics systems that understand GS1 Digital Link can parse the GTIN directly from the URL, so the QR code can double as a product identifier in their workflows.
  • Integrators can use the resolver's linkset responses to pull structured passport data programmatically.

What if a passport has no GTIN?

A passport without a GTIN can't have a GS1 Digital Link — its QR panel encodes a fallback URL of the form passportcraft.com/passport/{id} instead, and shows the prompt "Add a GTIN for a GS1-compliant URL". The fallback works for humans but carries no product identifier for systems, which is one of the reasons a GTIN is required to publish.

Frequently asked questions

Do I have to enter my GTIN as 14 digits?

No. Enter it as printed under your barcode: 8, 12, 13, or 14 digits. PassportCraft pads it to 14 digits in the URL automatically, and the resolver matches scanned codes back to your passport regardless of which form was entered.

Can shoppers scan the code with a normal phone camera?

Yes. A GS1 Digital Link is an ordinary https URL, so any phone camera or QR app opens the passport page directly, no special app needed. The GS1 structure is extra information for systems that know how to read it.

What does someone see if they scan a code for an unpublished passport?

A neutral notice, not an error. A draft shows 'This passport hasn't been published yet' with a sign-in option for the owner; a passport deactivated after a plan downgrade shows 'This Digital Product Passport has been temporarily deactivated'. No product data is exposed either way.

GS1 Digital Link explained | PassportCraft