TL;DR
- Eine GS1-Digital-Link-URI ist eine Webadresse mit fester Grammatik: eine Domain, ein Primärschlüssel wie
/01/mit einem 14-stelligen GTIN, optionale Schlüsselqualifikatoren im Pfad und Datenattribute im Query-String. - Ihre Zahlen sind GS1-Datenbezeichner (Application Identifiers, AIs), dieselben wie in GS1-128-Barcodes, sodass sich eine URI ohne Verlust von GS1-Daten in einen traditionellen Element-String umwandeln lässt und zurück.
- Die Regeln, an denen viele scheitern: GTINs auf 14 Stellen aufgefüllt, mit gültiger Prüfziffer; Qualifikatoren in fester Reihenfolge (
22,10,21); Attribute nur nach?; Sonderzeichen in Werten prozentkodiert.
Eine GS1-Digital-Link-URI ist eine HTTPS-Adresse, die GS1-Identifikatoren in einer standardisierten Struktur trägt, sodass ein Smartphone sie öffnen und ein Scanner die Identifikatoren daraus entnehmen kann. Der Pfad enthält die Identität; der Query-String enthält zusätzliche Daten und Anweisungen an den Resolver. Die Begriffe erklären die Grundlagen von GS1 Digital Link, was nach einem Scan passiert, der Resolver-Leitfaden.
Die URI-Syntax von GS1 Digital Link auf einen Blick
| Muster | https://{domain}/{key AI}/{value}/{qualifier AI}/{value}?{attribute AI}={value} |
| Identität | Im Pfad: genau ein Primärschlüssel, dann optionale Schlüsselqualifikatoren in fester Reihenfolge |
| Zusätzliche Daten | Im Query-String: Datenattribute wie das Verfallsdatum 17 oder das Nettogewicht 310n |
| GTIN-Format | Immer 14 Stellen, mit führenden Nullen aufgefüllt, mit einer gültigen Prüfziffer am Ende |
| Sonderzeichen | Prozentkodiert: Ein / in einer Chargennummer wird zu %2F |
| Anweisungen an den Resolver | linkType im Query-String, etwa linkType=gs1:pip oder linkType=linkset |
Aus welchen Teilen besteht eine GS1-Digital-Link-URI?

Ein vollständiges Beispiel:
https://id.example.com/01/09506000134352/22/2A/10/LOT42/21/1234?17=271231&3103=000750
| Teil | Im Beispiel | Regel |
|---|---|---|
| Domain | id.example.com | Jede Domain, nach https://. Sie entscheidet, welcher Resolver einem Smartphone antwortet, ist aber nicht Teil der Identität des Produkts |
| Primärschlüssel | /01/09506000134352 | Genau einer pro URI: ein AI, gefolgt von seinem Wert |
| Schlüsselqualifikatoren | /22/2A/10/LOT42/21/1234 | Optional, im Pfad, in der für diesen Schlüssel festgelegten Reihenfolge |
| Datenattribute | ?17=271231&3103=000750 | Optional, als Paare AI=value, verbunden mit &, in beliebiger Reihenfolge |
Von links nach rechts gelesen: GTIN 09506000134352, Konsumentenproduktvariante 2A, Charge LOT42, Seriennummer 1234, Verfallsdatum 31. Dezember 2027, Nettogewicht 0,750 kg.
Welche Primärschlüssel kann ein GS1 Digital Link verwenden?
Der GTIN ist der Schlüssel für Konsumgüter, doch die Syntax deckt auch die anderen GS1-Schlüssel ab:
| GS1-Schlüssel | AI | Identifiziert | Schlüsselqualifikatoren |
|---|---|---|---|
| GTIN, Global Trade Item Number | 01 | Einen Handelsartikel, auf jeder Verpackungsebene | 22, 10, 21 |
| SSCC, Serial Shipping Container Code | 00 | Eine logistische Einheit wie eine Palette (18 Stellen) | Keine |
| GLN, Global Location Number | 414 | Einen physischen Ort (13 Stellen) | 254 GLN-Erweiterungskomponente |
Schlüssel für Anlagegüter (Assets) wie der GRAI (8003) und der GIAI (8004) folgen demselben Muster.
Wie funktionieren Schlüsselqualifikatoren für einen GTIN?
Schlüsselqualifikatoren grenzen einen GTIN von einem Produkt auf eine Variante, eine Charge oder eine einzelne Einheit ein. Sie stehen im Pfad, in dieser Reihenfolge:
| Reihenfolge | AI | Qualifikator | Format | Identifiziert |
|---|---|---|---|---|
| 1 | 22 | Konsumentenproduktvariante (CPV) | Bis zu 20 Zeichen | Eine Variante innerhalb eines GTIN |
| 2 | 10 | Charge oder Los | Bis zu 20 Zeichen | Einen Produktionslauf |
| 3 | 21 | Seriennummer | Bis zu 20 Zeichen | Eine Einheit |
Jeder davon kann entfallen, doch die verwendeten behalten diese Reihenfolge:
| Pfad | Gültig? |
|---|---|
/01/09506000134352/10/LOT42/21/1234 | Ja |
/01/09506000134352/21/1234 | Ja: eine Seriennummer ohne Charge |
/01/09506000134352/21/1234/10/LOT42 | Nein: Die Seriennummer steht vor der Charge |
/01/09506000134352/17/271231 | Nein: Das Verfallsdatum gehört in den Query-String |
Ein Resolver nutzt die Qualifikatoren, um seinen genauesten Eintrag zu finden, und fällt sonst auf die Produktebene zurück.
Welche Datenattribute gehören in den Query-String?
Datenattribute beschreiben den Artikel, ohne seine Identität zu ändern:
| AI | Attribut | Format | Beispiel |
|---|---|---|---|
17 | Verfallsdatum | JJMMTT | 17=271231: 31. Dezember 2027 |
15 | Mindesthaltbarkeitsdatum | JJMMTT | 15=270630: 30. Juni 2027 |
310n | Nettogewicht in kg, n = Anzahl der Dezimalstellen | 6 Ziffern | 3103=000750: 0,750 kg |
422 | Ursprungsland | 3-stelliger numerischer Code nach ISO 3166 | 422=380: Italien |
Jedes Attribut erscheint einmal, in beliebiger Reihenfolge. Ein Resolver gibt den Query-String bei der Weiterleitung unverändert weiter, sodass die Zielseite ihn lesen kann.
Wie sollte ein GTIN in einem GS1 Digital Link geschrieben werden?
Immer mit 14 Stellen. Kürzere GTINs erhalten führende Nullen, die weder die Nummer noch ihre Prüfziffer verändern:
| GTIN unter dem Barcode | In der URI |
|---|---|
GTIN-12 (UPC-A): 614141123452 | /01/00614141123452 |
GTIN-13 (EAN-13): 9506000134352 | /01/09506000134352 |
Die letzte Ziffer ist eine Prüfziffer. Für 9506000134352 multiplizieren Sie die zwölf Ziffern davor, von rechts beginnend, abwechselnd mit 3, 1, 3, 1 und so weiter und addieren die Ergebnisse: 78. Die Prüfziffer ergänzt diese Summe auf das nächste Vielfache von zehn: 80 − 78 = 2.
Welche Zeichen müssen prozentkodiert werden?
Buchstaben, Ziffern, -, . und _ bleiben, wie sie sind. Andere Zeichen in Chargen-, Seriennummern- oder CPV-Werten werden prozentkodiert, damit sie nicht mit der Struktur der Adresse verwechselt werden:
| Zeichen | Kodiert als | Wert | In der URI |
|---|---|---|---|
/ | %2F | AB/12 | /10/AB%2F12 |
% | %25 | 50%OFF | /10/50%25OFF |
& | %26 | A&B | /21/A%26B |
Bei Werten wird zwischen Groß- und Kleinschreibung unterschieden, LOT42 und lot42 sind also verschiedene Chargen, und Leerzeichen sind nicht erlaubt.
Was ist die komprimierte Form?
Der Standard definiert auch eine komprimierte Form für sehr kleine Codes: Alles nach der Domain wird in eine kurze Zeichenkette aus Buchstaben, Ziffern, - und _ gepackt, die mit bloßem Auge nicht lesbar ist und die der Resolver vor der Prüfung entpackt. Verwenden Sie die unkomprimierte Form, sofern die Symbolgröße Ihnen keine andere Wahl lässt: Sie lässt sich vor dem Druck leichter prüfen, und ein komprimierter Code funktioniert nur dort, wo jeder Scanner und jede App in Ihrer Kette ihn dekomprimieren kann.
Wie passen linkType und Linksets in die URI?
linkType ist kein Identifikator, sondern eine Anweisung an den Resolver, geschrieben im Query-String:
| URI | Was der Resolver liefert |
|---|---|
https://id.example.com/01/09506000134352 | Eine Weiterleitung zum Standardlink, meist der Produktseite |
https://id.example.com/01/09506000134352?linkType=gs1:recallStatus | Eine Weiterleitung zum Link für den Rückrufstatus, sofern es einen gibt |
https://id.example.com/01/09506000134352?linkType=linkset | Die vollständige Liste der Links für diesen GTIN, in einem maschinenlesbaren Format |
Link-Typen stammen aus dem GS1 Web Vocabulary, etwa gs1:pip (Produktinformationsseite), gs1:instructions und gs1:allergenInfo. Die Sprache wird nicht in der URI festgelegt: Der Resolver liest sie aus der Anfrage des Smartphones.
Wie verhält sich ein GS1 Digital Link zu einem Element-String?
Beide tragen dieselben GS1-Daten in zwei Syntaxen:
| Format | Beispiel | Verwendet in |
|---|---|---|
| Element-String | (01)09506000134352(10)LOT42(17)271231 | GS1-128-Barcodes und dem Klartext unter GS1-Symbolen |
| GS1-Digital-Link-URI | https://id.example.com/01/09506000134352/10/LOT42?17=271231 | QR-Codes und Data-Matrix-Symbolen, die Smartphones öffnen können |
In einem Element-String erscheinen die Klammern nur im gedruckten Klartext, und ein Wert variabler Länge wie eine Charge endet mit einem Trennzeichen, wenn ein weiterer AI folgt; in der URI übernehmen die Schrägstriche, ? und & diese Aufgabe. Bei der Umwandlung einer URI in einen Element-String bleiben jeder AI und jeder Wert erhalten, während Domain und Resolver-Anweisungen wegfallen. Genau das tut eine 2D-fähige Kasse, ohne Internetverbindung. Zur Wahl des Symbols siehe QR-Code vs. Data Matrix.
So erstellen Sie eine gültige GS1-Digital-Link-URI: sieben Schritte
- Wählen Sie die Domain. Beginnen Sie mit
https://und einer Domain, die Sie kontrollieren, etwaid.yourbrand.com, damit die Codes Ihnen gehören, egal welcher Anbieter den Resolver betreibt. - Wählen Sie den Primärschlüssel. Für ein Produkt AI
01und seinen GTIN:/01/. - Schreiben Sie den GTIN mit 14 Stellen. Füllen Sie mit führenden Nullen auf und prüfen Sie die letzte Ziffer:
9506000134352wird zu09506000134352. - Ergänzen Sie die benötigten Schlüsselqualifikatoren in der richtigen Reihenfolge. CPV
/22/, Charge/10/, Seriennummer/21/. - Kodieren Sie die Werte. Behalten Sie Buchstaben, Ziffern,
-,.und_, und prozentkodieren Sie den Rest:AB/12wird zuAB%2F12. - Ergänzen Sie Datenattribute nach dem
?. Schreiben Sie jedes alsAI=value, verbunden mit&:?17=271231&3103=000750. - Prüfen Sie vor dem Druck. Wandeln Sie die URI in einen Element-String um und kontrollieren Sie jeden Wert, öffnen Sie sie in einem Browser, und scannen Sie dann den gedruckten Code mit mehreren Smartphones und einem 2D-Scanner. Der Leitfaden zur Fehlerbehebung listet die üblichen Fehler auf.
Das Ergebnis für eine Charge mit Verfallsdatum: https://id.yourbrand.com/01/09506000134352/10/AB%2F12?17=271231.
Wo die Plattform Digital Link ins Spiel kommt
Digital Link, die Plattform hinter dieser Website, schreibt diese URIs für Sie. Sie prüft jeden GTIN beim Anlegen eines Links und ergänzt Charge oder Los, Seriennummer, Verfallsdatum, Nettogewicht, Ursprungsland, Verpackungsdatum oder Konsumentenproduktvariante als Varianten eines Links, jede mit eigenen Links. Codes lassen sich in großen Mengen aus einer CSV-Datei erstellen, auf Ihrer eigenen Subdomain oder auf der enthaltenen Domain dlink.is.
Erstellen Sie Ihren ersten GS1-Digital-Link-QR-Code
Häufig gestellte Fragen
Braucht ein GS1 Digital Link einen 14-stelligen GTIN?
Ja. Ein GTIN-8, GTIN-12 oder GTIN-13 wird mit führenden Nullen auf 14 Stellen aufgefüllt, 9506000134352 wird also /01/09506000134352 geschrieben. Die Prüfziffer bleibt dieselbe und muss gültig sein.
In welcher Reihenfolge stehen die Schlüsselqualifikatoren?
Bei einem GTIN: Konsumentenproduktvariante 22, dann Charge oder Los 10, dann Seriennummer 21. Jeder kann entfallen, doch die verwendeten behalten diese Reihenfolge.
Ändert die Domain die Identität des Produkts?
Nein. Die Domain entscheidet, welcher Resolver einem Smartphone antwortet, doch die Identität bilden der Primärschlüssel und seine Qualifikatoren. Derselbe GTIN unter zwei Domains ist dasselbe Produkt.
Was ist der Unterschied zwischen einer GS1-Digital-Link-URI und einem Element-String?
Dieselben Daten in zwei Formaten. Ein Element-String wie (01)09506000134352(10)LOT42 ist das Format von GS1-128-Barcodes. Eine GS1-Digital-Link-URI schreibt dieselben Daten als Webadresse, die Smartphones öffnen können.
Sollte ich die komprimierte Form verwenden?
Nur wenn das Symbol für die vollständige Adresse zu klein ist. Ein komprimierter Code funktioniert nur dort, wo jeder Scanner und jede App ihn dekomprimieren kann.





