GS1 Application Identifiers Explained: GTIN, Batch, Serial, Expiry, and More

This guide explains the most important GS1 Application Identifiers used for product identification, traceability, retail, and packaging.
Create QR Code Explore Solutions

A GS1 Digital Link can carry far more than a product number. It can identify the product itself, the batch it came from, a specific unit, its expiry date, country of origin, weight, and other useful details.

GS1 organizes this information using Application Identifiers, or AIs. Each AI is a numeric code that tells scanners and software how to interpret the value that follows. For example, (01) represents a GTIN, (10) a batch or lot number, (21) a serial number, and (17) an expiration date.

This guide explains the most important GS1 Application Identifiers used for product identification, traceability, retail, and packaging.

Key Takeaways:

  • GS1 AIs tell systems what each product data value represents.
  • GTIN identifies the product; batch and serial add traceability.
  • Use only the AIs your product and workflow actually need.
  • Date, origin, and weight AIs add context without changing identity.
  • Custom AI must use a valid GS1-defined code and format.

What are GS1 Application Identifiers?

A GS1 Application Identifier (AI) is a numeric code that tells a system what the following data represents.

Take this example:

(01)09524000059109(17)271231(10)ABC123

The numbers in brackets tell the system what each value means. (01) says that 09524000059109 is a GTIN. (17) identifies 271231 as an expiration date. (10) tells the system that ABC123 is a batch number.

Without those identifiers, scanners and other systems would not know how to interpret the values consistently.

GS1 defines many AIs, but only a smaller group is commonly needed for product-level GS1 Digital Links.

Important GS1 Application Identifiers for products

Product informationApplication IdentifiersWhat it tells
Global Trade Item Number (GTIN)01Identifies the trade item or product
Consumer Product Variant22Which variation of a retail consumer item it is
Batch/Lot Number10Which production batch it belongs to
Serial Number21Which individual unit it is
Expiration Date17When the product expires
Packaging Date13When the product was packed
Sell By Date16When the product should be sold by
Country of Origin422Which country the product originates from
Net Weight, kg310nNet weight of a variable-measure item in kilograms

These identifiers do different jobs. GTIN provides the main product identity. Consumer Product Variant, Batch/Lot Number, and Serial Number make that identity more specific. Dates, origin, and weight add product information.

For example:

https://example.com/01/09524000059109/10/ABC123?17=271231

Here, 01/09524000059109 identifies the product, 10/ABC123 identifies the batch, and 17=271231 adds the expiration date.

Let’s look at each Application Identifier in detail. 

GTIN (01)

Meaning: Global Trade Item Number
Type: Primary identification key

A GTIN tells you exactly which trade item the product is.

Different trade items need different GTINs. A 500 ml bottle and a 1-liter bottle of the same product, for example, have different GTINs because the declared net content differs. Identical units of the same trade item normally share the same GTIN.

A product-level GS1 Digital Link usually starts with it:

https://example.com/01/09524000059109

Here, (01) tells the system that the value after it is a GTIN.

The GTIN alone does not tell you which batch the product came from or which individual unit it is. Those details can be added separately.

For example:

/01/09524000059109/10/ABC123

identifies a specific batch, while:

/01/09524000059109/21/000045

identifies a particular serialized unit.

Consumer Product Variant (22)

Meaning: Consumer Product Variant
Type: Key qualifier

A Consumer Product Variant distinguishes a variation of a retail consumer trade item when that variation does not require a new GTIN.

That last part matters. AI (22) should not replace a new GTIN when GS1’s GTIN allocation rules require one.

Instead, it is useful when a retail consumer product has a variation that needs to be distinguished while keeping the same GTIN.

For example:

https://example.com/01/09524000059109/22/HOLIDAY

The GTIN identifies the retail consumer trade item, while HOLIDAY identifies the specific variation.

It can also be combined with another qualifier:

https://example.com/01/09524000059109/22/HOLIDAY/10/ABC123

This identifies batch ABC123 of that product variation.

Batch/Lot Number (10)

Meaning: Batch or lot number
Type: Key qualifier

A batch or lot number tells you which production group a product belongs to.

Several units of the same product can share one batch number. The manufacturer decides what that batch represents. It may refer to a production run, shift, machine, time period, or another internal grouping.

For example:

https://example.com/01/09524000059109/10/ABC123

The GTIN identifies the product. ABC123 tells you which batch it came from.

This becomes especially useful for traceability. If a quality issue affects only one production batch, the company can isolate that lot instead of treating every item with the same GTIN as affected.

Serial Number (21)

Meaning: Serial number
Type: Key qualifier

A serial number identifies one individual physical unit.

Two products can have the same GTIN because they are the same trade item, yet each can carry a different serial number.

For example:

https://example.com/01/09524000059109/21/000045

The GTIN identifies the product, while 000045 identifies that particular unit.

Serial numbers are useful when products need to be tracked one by one. Common examples include electronics, medical products, high-value equipment, and products with unit-specific warranties.

IdentifierWhat it answers
GTIN (01)Which product is this?
Batch/Lot (10)Which production batch is it from?
Serial Number (21)Which individual unit is this?

Expiration Date (17)

Meaning: Expiration or use-by date
Type: Data attribute
Format: YYMMDD

An expiration date tells you when the product reaches its expiry or use-by date.

For example:

17=271231

means December 31, 2027.

It can appear in a Digital Link like this:

https://example.com/01/09524000059109/10/ABC123?17=271231

The expiration date does not change the product’s identity. It simply adds information about the item that has already been identified.

This can support stock rotation, expiry monitoring, product recalls, food safety, and retail operations.

Packaging Date (13)

Meaning: Packaging date
Type: Data attribute
Format: YYMMDD

A packaging date tells you when the product was packed.

For example:

13=271001

means October 1, 2027.

In a Digital Link, it may appear as:

https://example.com/01/09524000059109?13=271001

Packaging dates can be useful for manufacturing records, traceability, inventory management, and product handling.

Sell By Date (16)

Meaning: Sell-by date
Type: Data attribute
Format: YYMMDD

A sell-by date tells a retailer when the product should be sold by.

For example:

16=271220

means December 20, 2027.

A sell-by date is not the same as an expiration date. Sell-by information mainly supports retail and inventory decisions, while an expiration or use-by date refers to a different stage in the product lifecycle.

Using different AIs for these dates allows systems to understand exactly what each one represents.

Country of Origin (422)

Meaning: Country of origin
Type: Data attribute

Country of Origin tells you which country the trade item originates from.

For example:

https://example.com/01/09524000059109?422=840

Here, (422) tells the system that the value represents the country of origin. The value itself uses a three-digit numeric country code. In this example, 840 represents the United States.

This information can support product transparency, sourcing, trade processes, and industry-specific requirements.

Net Weight, kg (310n)

Meaning: Net weight in kilograms for a variable-measure trade item
Type: Data attribute

The 310n family is used for variable-measure trade items, where the actual weight can differ from one unit to another.

Think of cheese, meat, fish, or other products sold in packs that do not all weigh exactly the same. In these cases, the actual weight becomes part of the data for that item.

The final digit in 310n tells the system how many decimal places to apply to the six-digit weight value. AI (3100) is the version with no decimal places.

For example:

3100=000005

means 5 kg.

If more precision is needed, GS1 provides 3101 through 3105. For instance:

3103=000500

means 0.500 kg, or 500 grams.

Use only one AI from the 3100 to 3105 range for an item’s net weight in kilograms. You should not encode both 3100 and 3103 for the same item.

In QRCodeChimp, the built-in Net Weight, kg field uses AI (3100). If your variable-measure product needs decimal precision, leave that field empty and add the appropriate AI from 3101 to 3105 through Custom AI instead.

The 310n family is not intended as a general way to repeat the declared weight of a fixed-weight product. For fixed-measure trade items, net content is normally maintained as part of the product’s master data.

How these identifiers work together

Not every product needs every AI. Start with the main product identity, then add more detail only where the use case requires it.

A basic Digital Link may contain only the GTIN:

https://example.com/01/09524000059109

If you need to identify a batch, add Application Identifier (10):

https://example.com/01/09524000059109/10/ABC123

If the product also needs unit-level identification, add the serial number:

https://example.com/01/09524000059109/10/ABC123/21/000045

You can then add attributes such as expiry and country of origin:

https://example.com/01/09524000059109/10/ABC123/21/000045?17=271231&422=840

A simple way to remember the structure is:

GTIN identifies the product. Qualifiers narrow it down to a variation, batch, or individual unit. Attributes provide more information about it.

Which identifiers should you use?

The right combination depends on the product and the process you need to support.

If you need to…Use
Identify the productGTIN (01)
Distinguish an eligible retail product variationConsumer Product Variant (22)
Track a production batchBatch/Lot Number (10)
Identify an individual unitSerial Number (21)
Record expiryExpiration Date (17)
Record packing datePackaging Date (13)
Record the selling deadlineSell By Date (16)
Show product originCountry of Origin (422)
Encode variable product weightNet Weight (310n)

A standard packaged product may need only a GTIN. A food product may also use a batch number and expiration date. A serialized electronic device may need a GTIN and serial number. Variable-measure products may also require a weight AI.

The aim is not to fill every available field. Use the identifiers that support the way the product needs to be identified, tracked, sold, or managed.

What if you need another GS1 identifier?

The identifiers above cover many common product use cases, but they are not the full GS1 AI list.

Your use case may call for another identifier, such as a production date, best-before date, measurement, logistics field, or industry-specific data point.

QRCodeChimp provides a Custom AI option for this. Enter the required GS1 AI code along with its value.

Custom AI does not mean creating a new identifier. The code should already be defined by GS1, and the value should follow the format specified for that AI.

Using these identifiers in QRCodeChimp

When creating a GS1 QR Code in QRCodeChimp, begin with the GTIN and add only the product information your use case needs. This may include Consumer Product Variant, Batch/Lot Number, Serial Number, Expiration Date, Packaging Date, Sell By Date, Country of Origin, or Net Weight.

If another GS1-defined identifier is needed, add it through Custom AI by entering its code and value.

For larger product catalogs, QRCodeChimp also supports bulk creation of GS1 QR Codes, making it easier to generate product-specific codes at scale.

Common mistakes to avoid

Most mistakes with Application Identifiers come from choosing the wrong AI, adding unnecessary information, or using a field in a way GS1 does not intend. A little care at setup can prevent confusing or invalid product data later.

Adding every available AI

More data does not automatically make a GS1 Digital Link more useful. Every field creates information that has to be generated, maintained, and kept accurate.

Add an AI when it supports a real requirement, such as identification, traceability, inventory, retail, or another operational process. If the data has no clear purpose, it usually does not need to be encoded. GS1’s own QR Code best practices make the same point.

Using Consumer Product Variant when a new GTIN is required

AI (22) is meant for a variation of a retail consumer trade item that does not require a new GTIN.

If a product change falls under GS1’s GTIN allocation rules and requires a new GTIN, AI (22) should not be used to avoid assigning one. For example, a change in declared net content requires assignment of a new GTIN.

Confusing batch and serial numbers

Batch and serial numbers answer different questions. A batch number identifies a group of products made under the same production reference, while a serial number points to one individual unit.

Before choosing one, decide whether you need to identify a group of items or a specific physical product.

Using the wrong date field

Packaging date, sell-by date, and expiration date can all appear on the same product, but they refer to different events.

Use Packaging Date (13) for when the product was packed, Sell By Date (16) for the retail selling deadline, and Expiration Date (17) for the expiry or use-by date. Choosing the right AI allows other systems to understand what that date actually means.

Using 310n incorrectly

The 310n family is intended for the net weight of a variable-measure trade item. Do not use it simply to repeat the declared weight of a standard fixed-weight product.

Also, use only one kilogram net-weight AI from 3100 to 3105 for an item. If the correct value requires 3103, do not also encode 3100.

Putting every value in the URL path

Not every AI belongs in the same part of a GS1 Digital Link.

GTIN and key qualifiers such as Consumer Product Variant, batch, and serial number form part of the identification path. Data attributes such as expiration date, country of origin, and weight belong in the query string.

Keeping those roles separate helps preserve the expected GS1 Digital Link structure.

Treating Custom AI as a free-form field

Custom AI is for additional GS1-defined identifiers. It is not a way to invent a new code for your own data.

Before adding one, confirm that the AI exists in the GS1 system and that the value follows the correct format.

Conclusion

GS1 Application Identifiers give product data a consistent structure. GTIN identifies the trade item, while product variants, batch numbers, and serial numbers can make that identity more specific. Dates, origin, and variable-measure data add useful context.

You do not need every identifier on every product. Start with the information your process depends on, then add more only where there is a clear reason.

With QRCodeChimp, you can create GS1 QR Codes using these commonly needed identifiers and add other GS1-defined fields through Custom AI when required.

Create your GS1 QR Code with QRCodeChimp.
Get Started

Frequently asked questions

What are GS1 Application Identifiers?

GS1 Application Identifiers are numeric codes that tell scanners and software what the data that follows represents. For example, AI (01) identifies a GTIN, while AI (17) identifies an expiration date.

What is the difference between GTIN, batch number, and serial number?

Do I need to use every available GS1 Application Identifier?

Can Consumer Product Variant AI (22) be used instead of assigning a new GTIN?

Can I create my own GS1 Application Identifier using Custom AI?

You may also like

Digital Business Card

Steps to Integrate Microsoft Entra ID (Azure AD) with QRCodeChimp

Learn how to connect Microsoft Entra ID with QRCodeChimp to automate digital business card creation, improve security, and simplify onboarding.

QR Code

Bulk QR Codes for Business: Use Cases and Benefits

Discover how bulk QR codes for business can streamline product packaging, employee cards, events, multi-location campaigns, inventory, and more 

guide

How to Send QRCodeChimp Form Responses to HubSpot

Learn how to connect QRCodeChimp Forms with HubSpot, map form fields, send responses directly to your CRM, and verify successful data transfers.

GS1 QR Code

How to Prepare Your GS1 QR Codes for Targeted Product Recalls

Learn how GS1 QR Codes can support batch-level and item-level product recalls, and use a 7-step mock recall to test whether your systems are ready.

Tips and Tutorials