Reference

Application Identifiers in a digital link

Every AI KuikCode validates, its format, an example and where it travels. Generated from the same table the editor and the resolver run on.

What an Application Identifier is

A GS1 Application Identifier is a two to four digit prefix that says what the data after it means. 01 means a GTIN, 10 means a batch or lot number, 17 means an expiry date. Retail barcodes have carried them for decades; a digital link carries the same identifiers inside a web address, so a register and a phone read one symbol.

https://gs1-acme.kuikco.de/01/09506000134352/10/LOT42/21/SER9?17=271231&3102=001250

HRI  (01)09506000134352(10)LOT42(21)SER9(17)271231(3102)001250

The table below lists every identifier KuikCode knows by name. It is rendered from the validation table inside the product, so a format here is a format the editor enforces and the resolver parses.

The identifiers

AINameTravels asFormatExampleIn the editor
01GTINPrimary key, in the pathExactly 14 digits(01)09506000134352GTIN-14GTIN field
22Consumer product variantQualifier, in the pathUp to 20 characters, GS1 character set 82(22)RED-XLAs writtenOwn field
10Batch or lot numberQualifier, in the pathUp to 20 characters, GS1 character set 82(10)LOT42As writtenOwn field
21Serial numberQualifier, in the pathUp to 20 characters, GS1 character set 82(21)SER9As writtenOwn field
11Production dateAttribute, in the queryDate, YYMMDD, 6 digits(11)27123131 December 2027Attribute dropdown
13Packaging dateAttribute, in the queryDate, YYMMDD, 6 digits(13)27123131 December 2027Attribute dropdown
15Best before dateAttribute, in the queryDate, YYMMDD, 6 digits(15)27123131 December 2027Attribute dropdown
16Sell by dateAttribute, in the queryDate, YYMMDD, 6 digits(16)27123131 December 2027Attribute dropdown
17Expiration dateAttribute, in the queryDate, YYMMDD, 6 digits(17)27123131 December 2027Attribute dropdown
30Count of itemsAttribute, in the queryUp to 8 digits(30)1212 itemsAttribute dropdown
3100Net weight (kg)Attribute, in the query6 digits, 0 implied decimals(3100)0012501250 kgCustom AI row
3101Net weight (kg, 1 decimal)Attribute, in the query6 digits, 1 implied decimal(3101)001250125.0 kgCustom AI row
3102Net weight (kg, 2 decimals)Attribute, in the query6 digits, 2 implied decimals(3102)00125012.50 kgAttribute dropdown
422Country of originAttribute, in the queryCountry, ISO 3166 numeric, 3 digits(422)840United StatesAttribute dropdown
710National healthcare reimbursement numberAttribute, in the queryUp to 20 characters, GS1 character set 82(710)A123456789As writtenCustom AI row

Anything not listed can still be added as a custom AI. See the rules below.

Data attributes rows in the KuikCode editor: an expiration date row holding 271231 and a country of origin row holding 840
Attribute rows in the editor. The dropdown carries the curated identifiers; Custom AI takes any other code.

Where each identifier travels

The Digital Link standard splits identifiers into two places. The primary key and its qualifiers form the path, in a fixed order: 01, then 22, then 10, then 21. A link may skip qualifiers it does not need, but it may not reorder them. Every other identifier is a query parameter, keyed by its AI, in any order.

/01/09506000134352            primary key
/01/…/22/RED-XL               + consumer product variant
/01/…/10/LOT42                + batch or lot
/01/…/21/SER9                 + serial
?17=271231&3102=001250        attributes

The human-readable line puts every identifier in brackets in the same order, path first, then attributes. It never shows the web address.

Dates

All GS1 dates are six digits, YYMMDD. 271231 is 31 December 2027. The year is read relative to the current date, so the two-digit form is unambiguous within a 100-year window. GS1 allows 00 as the day on several date identifiers to mean the last day of that month, which is how many expiry dates are printed. KuikCode's editor checks the six digits as you type, month and day included, on named and custom rows alike.

Weights and implied decimals

Measures such as net weight are always six digits, and the last digit of the identifier says where the decimal point goes. 3100 is whole kilograms, 3101 has one decimal, 3102 has two. The value 001250 therefore means 1250 kg under 3100, 125.0 kg under 3101 and 12.50 kg under 3102. The editor's curated dropdown offers 3102 because two decimals suit most consumer packaging.

Custom identifiers

The GS1 General Specifications define far more identifiers than any editor should list. KuikCode accepts any 2 to 4 digit AI as a custom row and applies the general rules: the value uses GS1 character set 82, which is letters, digits and a fixed set of punctuation, and it stays within 90 characters. The identifier's own format rules, such as a fixed length, are yours to follow from the specification.

Identifiers that carry an implied decimal or a unit, or that require a fixed length, are worth adding to the named table so the editor can validate them. Tell us which ones your packaging needs.

Questions, answered

01Can I use an AI that is not in this table?+

Yes. Any 2 to 4 digit Application Identifier can be added as a custom row. KuikCode checks that the value uses GS1's allowed character set and stays within 90 characters, and passes it through to the link and the HRI line. The format rules for that AI in the GS1 General Specifications are yours to follow.

02Why do dates have only two digits for the year?+

That is the GS1 format: YYMMDD. Scanners and trading partners read 271231 as 31 December 2027. GS1 also allows 00 as the day to mean the end of the month, which is common on expiry dates. The editor checks the six digits as you type.

03Why must lot come before serial in the path?+

The Digital Link standard fixes the order of the path qualifiers: variant (22), then lot (10), then serial (21). A resolver may reject a link with the qualifiers in another order. KuikCode always writes them in the mandated sequence, whichever order you fill them in.

04Where does a weight like 3102 get its decimal point?+

From the last digit of the AI. 3100 has no decimals, 3101 has one, 3102 has two, so 001250 under 3102 means 12.50 kilograms. The value is always six digits, and the meaning line in the table shows the result.

Early access

Start with the QR codes you will never need to reprint.

Join the beta for branded design, editable destinations, hosted sites, bulk CSV creation, and live scan analytics.

Free during beta
Change links anytime
Live scan proof

Request beta access

One email when your workspace is ready. No spam.

Free while in beta - no spam, one email when you're in