Serialisation considerations when encoding EPC on RAIN RFID tags

Modified on Wed, 13 Nov at 12:40 AM

(Excepted from TDS section 12.3.1, "EPC Binary Coding Schemes")

 

Serialisation restrictions when using legacy (pre-TDS-2.x) binary coding schemes

In general, the shorter binary coding schemes (e.g., SGTIN-96, GIAI-96, etc.) result in fewer bits and therefore permit the use of less expensive RFID tags containing less memory, but are restricted in the range of serial numbers that are permitted. 

The longer binary coding schemes (e.g., SGTIN-198, GIAI-202, etc.) allow for the full range of serial numbers permitted by the GS1 General Specifications, but require more bits and therefore more expensive RFID tags.  

 

Increased serialisation efficiency with TDS 2.x

TDS 2.0 introduces several new EPC schemes and corresponding binary encodings that support simpler encoding/decoding rules and efficient variable-length encoding using the most efficient character set for the actual value being encoded.

All EPC schemes defined before TDS 2.0 remain valid in TDS 2.x.  However, the new EPC schemes and binary encodings introduced in TDS 2.0 may be particularly suitable for the following scenarios:

  1. When there is a desire/need to encode additional AIDC data after the EPC within the EPC/UII memory bank
  2. When there is a desire or need to simplify encoding/decoding or difficulty in determining the length of a GS1 Company Prefix.
  3. When there is a desire to use fewer bits than the maximum when using alphanumeric values with a constrained character set or where a variable-length value is significantly shorter than its maximum permitted length. In such situations, the encoding indicators and length indicators in the new EPC schemes may result in a lower total bit count than for the equivalent "long" EPC schemes defined before TDS 2.0.

 

Some considerations on serialisation limitations, interoperability and tag capacity

For the SGTIN, SGLN, GRAI, and GIAI EPC schemes, the serial number according to the GS1 General Specifications is a variable length, alphanumeric string. This means that serial number 34, 034, 0034, etc, are all different serial numbers, as are P34, 34P, 0P34, P034, and so forth. In order to provide for up to 20 alphanumeric characters, 140 bits are required to encode the serial number within schemes such as SGTIN-198 that were defined before TDS 2.0. This is why the "long" binary encodings all have such a large number of bits. Similar considerations apply to the GDTI EPC scheme, except that the GDTI only allows digit characters (but still permits leading zeros).  

For the new EPC binary encodings introduced in TDS 2.0, instead of allocating sufficient bit capacity to accommodate the maximum permitted length of serial number components and all permitted characters, the new EPC schemes use encoding indicators and length indicators to enable fewer bits to be used if the actual value of a serial number component is shorter than the maximum permitted length or if it uses a more constrained character set (e.g. only uses numeric digits even where alphanumeric characters are permitted).  

In order to accommodate the very common 96-bit RFID tag, additional binary coding schemes are introduced that only require 96 bits. In order to fit within 96 bits, some serial numbers have to be excluded. The 96-bit encodings of SGTIN, SGLN, GRAI, GIAI, and GDTI are limited to serial numbers that consist only of digits, which do not have leading zeros (unless the serial number consists in its entirety of a single 0 digit), and whose value when considered as a decimal numeral is less than 2B, where B is the number of bits available in the binary coding scheme. The choice to exclude serial numbers with leading zeros was an arbitrary design choice at the time the 96-bit encodings were first defined; for example, an alternative would have been to permit leading zeros, at the expense of excluding other serial numbers. But it is impossible to escape the fact that in B bits there can be no more than 2B different serial numbers.

When decoding a "long" binary encoding defined before TDS 2.0 or any of the new EPC binary encodings introduced in TDS 2.0, it is not permissible to strip off leading zeros when the binary encoding includes leading zero characters. Likewise, when encoding an EPC into either the "short" or "long" form or new EPC binary encodings introduced in TDS 2.0, it is not permissible to strip off leading zeros prior to encoding. This means that EPCs whose serial numbers have leading zeros can only be encoded in the "long" form or in the new EPC binary encodings introduced in TDS 2.0, which are also capable of preserving leading zeros.

In certain applications, it is desirable for the serial number to always contain a specific number of characters. Reasons for this may include wanting a predictable length for the EPC URI string, or for having a predictable size for a corresponding barcode encoding of the same identifier. In certain barcode applications, this is accomplished through the use of leading zeros. If 96-bit tags are used, however, the option to use leading zeros does not exist.

Therefore, in applications that both require 96-bit tags and require that the serial number be a fixed number of characters, it is recommended that numeric serial numbers be used that are in the range 10D ≤ serial < 10D+1, where D is the desired number of digits. For example, if 11-digit serial numbers are desired, an application can use serial numbers in the range 10,000,000,000 through 99,999,999,999. Such applications must take care to use serial numbers that fit within the constraints of 96-bit tags. For example, if 12-digit serial numbers are desired for SGTIN-96 encodings, then the serial numbers must be in the range 100,000,000,000 through 274,877,906,943.

It should be remembered, however, that many applications do not require a fixed number of characters in the serial number, and so all serial numbers from 0 through the maximum value (without leading zeros) may be used with 96-bit tags.

 

TDS Table 12-2: EPC Binary Coding Schemes and their limitations

The following table enumerates the EPC binary coding schemes supported in TDS 2.1 (Feb 2024) / TDS 2.2 (Jan 2025), and indicates the limitations imposed on serial numbers for each EPC binary coding scheme, respectively.

 

EPC Scheme

EPC Binary Coding Scheme

EPC + Filter Bit Count

Includes Filter Value

Serial number limitation

sgtin

sgtin-96

96

Yes

Numeric-only, no leading zeros, decimal value must be less than 238 (i.e., decimal value less than or equal to 274,877,906,943).

sgtin-198

198

Yes

All values permitted by GS1 General Specifications (up to 20 alphanumeric characters)

sgtin+

Variable up to 216

dsgtin+

Variable up to 236

sscc

sscc-96

96

Yes

All values permitted by GS1 General Specifications (11 – 5 decimal digits including extension digit, depending on GS1 Company Prefix length).

sscc+

84

sgln

sgln-96

96

Yes

Numeric-only, no leading zeros, decimal value must be less than 241 (i.e., decimal value less than or equal to 2,199,023,255,551).

sgln-195

195

Yes

All values permitted by GS1 General Specifications (up to 20 alphanumeric characters).

sgln+

Variable up to 212

grai

grai-96

96

Yes

Numeric-only, no leading zeros, decimal value must be less than 238 (i.e., decimal value less than or equal to 274,877,906,943). 

grai-170

170

Yes

All values permitted by GS1 General Specifications (up to 16 alphanumeric characters).

grai+

Variable up to 188

giai

giai-96

96

Yes

Numeric-only, no leading zeros, decimal value must be less than a limit that varies according to the length of the GS1 Company Prefix. See TDS Section ("GIAI-96 Partition Table and coding table").

giai-202

202

Yes

All values permitted by GS1 General Specifications (up to 18 – 24 alphanumeric characters, depending on company prefix length).

giai+

Variable up to 216

gsrn

gsrn-96

96

Yes

All values permitted by GS1 General Specifications (11 – 5 decimal digits, depending on GS1 Company Prefix length).

gsrn+

84

gsrnp

gsrnp-96

96

Yes

All values permitted by GS1 General Specifications (11 – 5 decimal digits, depending on GS1 Company Prefix length).

gsrnp+

84

gdti

gdti-96

96

Yes

Numeric-only, no leading zeros, decimal value must be less than 241 (i.e., decimal value less than or equal to 2,199,023,255,551).

gdti-113

(DEPRECATED as of TDS 1.9)

113

Yes

All values permitted by GS1 General Specifications prior to [GS1GS12.0] (up to 17 decimal digits, with or without leading zeros).

gdti-174

174

Yes

All values permitted by GS1 General Specifications (up to 17 alphanumeric characters).

gdti+

Variable up to 191

sgcn

sgcn-96

96

Yes

Numeric only, up to 12 decimal digits, with or without leading zeros.

sgcn+

Variable up to 108

itip

itip-110

110

Yes

Numeric-only, no leading zeros, decimal value must be less than 238 (i.e., decimal value less than or equal to 274,877,906,943).

itip-212

212

Yes

All values permitted by GS1 General Specifications (up to 20 alphanumeric characters).

itip+

Variable up to 232

gid

gid-96

96

No

Numeric-only, no leading zeros, decimal value must be less than 236 (i.e., decimal value must be less than or equal to 68,719,476,735).

usdod

usdod-96

96

See "United States Department of Defense Supplier's Passive RFID Information Guide".

 

adi

adi-var

Variable

Yes

See TDS Section 14.6.14.1 ("ADI-var coding table").

cpi

cpi-96

96

Yes

Serial Number: Numeric-only, no leading zeros, decimal value must be less than 231 (i.e., decimal value less than or equal to 2,147,483,647).

The component/part reference is also limited to values that are numeric-only, with no leading zeros, and whose length is less than or equal to 15 minus the length of the GS1 Company Prefix

cpi-var

Variable

Yes

All values permitted by GS1 General Specifications (up to 12 decimal digits, no leading zeros).

cpi+

Variable up to 274

 


Was this article helpful?

That’s Great!

Thank you for your feedback

Sorry! We couldn't be helpful

Thank you for your feedback

Let us know how can we improve this article!

Select at least one of the reasons
CAPTCHA verification is required.

Feedback sent

We appreciate your effort and will try to fix the article