Digital Link Examples
Paste the URI you are about to print. This one is allowed to say no.
runs in your browser · no signup to get an answer
A checker that never says no is worth nothing
Digital Link is a strict grammar and most mistakes with it are small: a qualifier in the wrong order, a check digit off by one, an attribute not permitted in a query string. Validation that waves those through is worse than none, because it tells you the URI is fine.
- A URI that looks correct and is rejected for a reason no message spells out.
- Qualifier order that seems arbitrary until you know it is part of the grammar.
- Check digits that fail silently in tools that do not validate them.
- A validator that reports the failure and then lets you continue anyway.
Examples worth pasting into the box above
A plain identifier
The simplest valid form: one primary key and its value, check digit included and validated.
/01/09506000134352With a batch, then with a serial
Qualifiers follow the key in canonical order. Batch is AI 10, serial is AI 21, and each has its own permitted format.
/01/09506000134352/10/LOT2026AThen break it on purpose
Change the last digit of the identifier and the check digit fails. Put the serial before the batch, as the box above does, and it is refused for canonical order.
/01/09506000134352/99/BAD
What the rejections teach
- It is the resolver own verdict
The demo calls the same parser the live resolver runs, so the rejection wording is the product own rather than a description written for this page.
- Check digits, before the print run
Alter one digit and the parse fails immediately, which is the behaviour you want at artwork stage rather than at delivery.
- Canonical order is not optional
Out-of-order qualifiers are rejected rather than silently reordered, which is what keeps the codes machine-readable.
- Qualifier against attribute
A qualifier is part of the identity and lives in the path. An attribute is extra data in the query string. Some AIs are permitted in one position and not the other.
- 16 primary keys
A GLN, an SSCC and a GTIN all parse differently, because their grammars differ.
- 541 AI codes recognised
The application identifier table is family-expanded, so the number is larger than the count of rows usually quoted.
Questions
Is the demo really running the production parser?
Yes. It calls the same function the resolver runs on a live scan, which is why the rejection messages are the resolver own wording rather than approximations of it.
Why is my Digital Link rejected when it looks correct?
The three usual causes are a check digit that does not validate, a qualifier not permitted for that primary key, and qualifiers in a non-canonical order. The box above names which of the three it is.
Does anything leave my browser?
The parse runs in the page. You do not need an account to get an answer, and there is no step where the URI is submitted anywhere to find out whether it is valid.
Do unrecognised query parameters get dropped?
No. The whole query string is passed through to the destination, because a numeric-looking parameter that is not in the AI table may well be somebody legitimate tracking parameter.
Can I check a URI before committing it to a print run?
That is what this page is for. Paste the exact URI you intend to print. If it parses here it parses at the resolver, because it is the same code.