Overview
This recommended national standard replaces GB/T 33993—2017 and represents its first revision. Issued on December 31, 2024 and implemented on July 1, 2025 by the State Administration for Market Regulation and the Standardization Administration of China, it specifies comprehensive requirements covering data structures, symbology specifications and symbol quality of commodity two-dimensional codes. It applies to the full lifecycle management and practical deployment of commodity 2D codes. The standard consists of three main parts: normative text, four normative/informative annexes, and references. It also clarifies core technical revisions against the 2017 version, terminology, encoding rules, printing & placement specifications, and quality inspection criteria.
1. General Provisions (Scope, Normative References, Terms & Definitions, Abbreviations)
1.1 Scope
It lays down three core requirements for commodity two-dimensional codes: data structure, symbol format, and symbol quality, covering all scenarios for the administration, production, printing and scanning recognition of commodity 2D codes.
1.2 Normative Referenced Documents
It references general national standards for barcodes and two-dimensional codes, including: GB/T 12905 (Barcode terminology), GB/T 14257 (Barcode symbol placement guidelines), GB/T 16986 (Application Identifiers), GB/T 18284 (Quick Response Matrix Code), GB/T 21049 (Han Xin Code), GB/T 41208 (Data Matrix Code), as well as 2D barcode quality inspection standards GB/T 23704 and GB/T 35402.
1.3 Core Terms and Definitions
- Two-dimensional barcode (2D code): A barcode symbol that represents information in two orthogonal dimensions.
- Two-dimensional code for commodity: A two-dimensional code that uniquely identifies commodities and their attributes globally (core definition).
- Application Identifier (AI): A 2–4 digit numeric character string that defines the meaning and format of the subsequent data field.
- Indicator: The first digit of a 14-digit Global Trade Item Number (excluding digit 0), used to distinguish different combined packages of identical trade items or to identify variable trade items.
1.4 Standard Abbreviations
- AI: Application Identifier
- GS1: Global Standard 1 (Global Supply Chain Identification System)
- GTIN: Global Trade Item Number (unique core identification code for commodities)
- HRI: Human Readable Interpretation (plain text numbers printed below 2D codes)
- POS: Point-of-Sale (retail checkout terminal)
- URI: Uniform Resource Identifier
2. Core Technical Revisions vs. GB/T 33993—2017
This revision includes massive structural deletions, additions and consolidations, summarized as follows:
2.1 Newly Added Content
- Data structure: Added specifications for consumer product variant unit data strings, attribute information unit data strings, and sorting rules for unit data strings;
- Quality control: Added a full chapter for 2D code quality inspection;
- Annexes: Added rules for invalid unit data string combinations (Table A.2, Annex A), symbol placement rules, and HRI character position requirements (Annex D).
2.2 Deleted Content
- Obsolete unit data strings: Validity date, extended data item, package extended information URL fields;
- Entire chapter removed: The former chapter “Information Services for Commodity Two-dimensional Codes” and its supporting annex;
- Eliminated clauses: Provisions for graphic logo position on 2D codes and special printing quality test requirements.
2.3 Consolidated & Revised Adjustments
- Merged two URL structures: The former separate “national unified URL” and “manufacturer customized URL” are consolidated into a single URL-based data structure with reconstructed syntax rules;
- Rewrote core encoding rules: Revised clauses governing GTIN, batch number, serial number and data structure types;
- Adjusted symbology description wording, quality grade evaluation criteria, character set expression in annexes, and basic symbol placement requirements.
3. Chapter 5 – Two Major Data Structures for Commodity Two-dimensional Codes (Core Chapter)
The standard classifies commodity two-dimensional codes into encoded data structure and URL-based data structure. Both types mandate the inclusion of GTIN (AI=01) as core encoding; they differ only in information carrier format and concatenation syntax.
3.1 Encoded Data Structure (Native GS1 Encoding, Prioritized for POS Checkout)
3.1.1 Composition Rules
Composed of mandatory GTIN unit data string + optional qualifier unit data strings + optional attribute information unit data strings. Each data segment consists of an Application Identifier (AI) paired with its corresponding data field.
- Mandatory: GTIN (AI=01), fixed 14-digit numeric field, must be the first segment in the full encoded data stream;
- Three optional qualifiers: Consumer product variant (22), batch number (10), serial number (21), each with a maximum length of 20 alphanumeric characters;
- Optional attribute information: Production date, net weight, country of origin, unit price and other fields listed in Table A.1 of Annex A.
3.1.2 Mandatory Sorting of Unit Data Strings
GTIN → Fixed-length predefined fields (e.g. production date AI 11, N6 format) → Variable-length non-predefined fields (batch number, product variant, etc.)
3.1.3 Encoding Restrictions (Normative Annex A)
Certain data string combinations are explicitly prohibited from coexisting in a single code:
- Two or more GTIN (AI=01) segments cannot appear simultaneously;
- Country-of-origin AI 422 cannot be combined with full-process processing country AI 426;
- Total payable amount AI 392n and unit price AI 395n are mutually exclusive for variable-measurement trade items.
3.2 URL-Based Data Structure (GS1 Digital Link, for Web Traceability Query)
3.2.1 Four Mandatory & Optional Components
Mandatory: Network service URL, GTIN (AI=01); Optional: Qualifier unit data strings, attribute information unit data strings. Subdivided into unified URL structure (preferred) and customized URL structure.
- Unified URL Structure (Officially Recommended) Fixed root domain:
https://id.gs1cn.orgorhttp://id.gs1cn.orgField separation syntax:- Qualifiers (variant / batch / serial number): Format
/AI/content, multiple qualifiers separated by/ - Attribute information (production date / weight etc.): Format
?AI=content, multiple attributes separated by&
- Qualifiers (variant / batch / serial number): Format
- Customized URL Structure Uses stable enterprise official website or third-party service domain names; follows identical separation syntax as unified URL structure. Custom domains shall be filed with the national Article Numbering Agency.
3.2.2 Sorting Rules for URL-Based Data Strings
GTIN → Qualifiers (fixed sequence: product variant → batch number → serial number) → Attribute information (no mandatory fixed sequence; fixed-length fields recommended before variable-length fields; identical AIs shall not be duplicated).
4. Chapter 6 – Commodity Two-dimensional Code Symbol Specifications (Symbology, Module Size, Placement)
4.1 Permitted Standard Symbologies (Three Options)
- Quick Response Matrix Code (QR Code, GB/T 18284)
- Han Xin Code (GB/T 21049)
- Data Matrix Code (GB/T 41208)
Additional encoding requirements:
- Encoded data structures must use the dedicated GS1 mode of the selected symbology;
- When Han Xin Code is adopted for URL-based structures, the URI mode of Han Xin Code shall be prioritized.
4.2 Module Size (Print Hard Limits)
Recommended module size for retail environments: 0.495 mm Hard boundary limits: Minimum module size ≥0.396 mm; Maximum module size ≤0.990 mm. Final symbol dimensions are determined comprehensively by encoded data volume, error correction level, scanning equipment and available printing space, with adaptability testing conducted if necessary.
4.3 Symbol Placement Rules (Normative Annex D, Mandatory)
- Basic placement requirements: The 2D code shall remain undeformed, free of smudging and easy to scan. If both linear barcode and 2D code are deployed for POS use, they shall be placed adjacent to each other.
- Mandatory retail POS co-location rule: The 2D code shall be placed to the left, right, top or bottom of the linear barcode. The complete symbol including quiet zones must fall within a 50 mm radius centered on the linear barcode. The quiet zones of both symbols shall remain intact. All barcodes and 2D codes printed for the same commodity shall carry identical GTINs. Retail packaging shall be printed with both linear barcode and commodity two-dimensional code.
- HRI Human Readable Text: HRI characters shall be printed adjacent to the 2D code. If label space is limited, at minimum the GTIN plain text shall be fully displayed. Where the linear barcode already prints GTIN HRI text for POS co-located symbols, the matching 2D code may omit GTIN HRI text.
5. Chapter 7 – Commodity Two-dimensional Code Symbol Quality & Inspection
5.1 Minimum Acceptable Quality Grade
The symbol quality grade shall not be lower than 1.5/12/660, with three segments defined as:
- 1.5: Overall symbol quality score;
- 12: Reference number of measurement aperture for retail environments;
- 660 nm: Wavelength of inspection light source, permissible deviation ±10 nm.
5.2 Quality Inspection Workflow (Two-Step Verification)
- Logical encoding validation: Verify compliance of encoded / URL-based data structures with encoding, sorting and AI rules specified in Clause 5 and Chapter 6;
- Physical printing quality inspection: Inspect visual print performance, contrast, module precision and other physical indicators in accordance with GB/T 23704 and GB/T 35402.
Table A.1 Data Format of Unit Data Strings for Commodity Two-dimensional Codes
Extracted from Normative Annex A of GB/T 3393—2024 Two-dimensional Code for Commodity
Supplementary Notes
Note 1: Data field format notation – N = numeric character; Nmm = fixed mm-digit numeric string; N..p = numeric string with maximum length p. Note 2: X = any allowed character; X..p = alphanumeric string with maximum length p; allowed character set specified in Annex B. Note 3: Square brackets [] denote optional subfields within a data segment. Note 4: Segments marked “predefined” are fixed-length unit data strings; unmarked segments are non-predefined (variable-length).
| Unit Data String Name | AI (Application Identifier) | AI Data Field Format |
|---|---|---|
| Global Trade Item Number | 01 | N14 (predefined) |
| Batch / Lot Number | 10 | X..20 |
| Production Date | 11 | N6 (predefined) |
| Packaging Date | 13 | N6 (predefined) |
| Shelf Life End Date | 15 | N6 (predefined) |
| Sell-By Date | 16 | N6 (predefined) |
| Expiry Date | 17 | N6 (predefined) |
| Serial Number | 21 | X..20 |
| Consumer Product Variant | 22 | X..20 |
| Custom Product Variable Code | 242 | N..6 |
| Packaging Component Code | 243 | X..20 |
| Source Entity Reference Number | 251 | X..30 |
| Variable Item Quantity | 30 | N..8 |
| Net Weight in Kilograms (Variable Trade Item) | 310n | N6 (predefined) |
| Length / First Dimension in Meters (Variable Trade Item) | 311n | N6 (predefined) |
| Width / Diameter / Second Dimension in Meters (Variable Trade Item) | 312n | N6 (predefined) |
| Depth / Thickness / Height / Third Dimension in Meters (Variable Trade Item) | 313n | N6 (predefined) |
| Area in Square Meters (Variable Trade Item) | 314n | N6 (predefined) |
| Net Volume in Liters | 315n | N6 (predefined) |
| Net Volume in Cubic Meters | 316n | N6 (predefined) |
| Total Payable Amount (Variable Trade Item) | 392n | N..15 |
| Unit Price in Single Currency Zone (Variable Trade Item) | 395n | N6 |
| Country / Region of Origin of Trade Item | 422 | N3 |
| Country / Region of Initial Processing for Trade Item | 423 | N3+N..12 |
| Country / Region of Processing for Trade Item | 424 | N3 |
| Country / Region of Splitting for Trade Item | 425 | N3+N..12 |
| Country / Region of Full-Process Manufacturing for Trade Item | 426 | N3 |
| Refurbishment Batch Number | 7020 | X..20 |
| Roll Product Dimensions | 8001 | N14 |
| Fixed Unit Price | 8005 | N6 |
| Product Manufacturing Date & Time | 8008 | N8 [+N..4] |
| Company Internal Information | 91~99 | X..90 |
Supporting Table A.2 Invalid Unit Data String Combinations
| AI | Unit Data String Name | AI | Unit Data String Name | Prohibition Rule |
|---|---|---|---|---|
| 01 | Global Trade Item Number | 01 | Global Trade Item Number | No more than one GTIN segment allowed in a single code |
| 422, 423, 424, 425 | Country of Origin, Initial Processing Country, Processing Country, Splitting Country | 426 | Full-Process Manufacturing Country | Country-of-origin / processing / splitting codes cannot coexist with full-process manufacturing country code |
| 392n | Total Payable Amount (Variable Trade Item) | 395n | Single Currency Zone Unit Price | Variable-measurement items cannot encode both total payable amount and unit price simultaneously |
| 395n | Single Currency Zone Unit Price (Variable Trade Item) | 8005 | Fixed Unit Price | Two separate unit price fields cannot coexist in one symbol |
Note: All rules apply bidirectionally; any pairing of the listed AIs in any sequence counts as an invalid combination.
Annex C (Informative) Practical Two-dimensional Code Examples
Two major categories of sample encodings are provided for reference:
1. Encoded Data Structure Samples
- Retail commodity QR Code & Han Xin Code: GTIN + shelf life expiry date
- Logistics packaging Data Matrix & Han Xin Code: GTIN + batch number + serial number, segments separated by Group Separator
<GS>within encoded data stream Clarification: Parentheses around AIs in HRI text are only for human readability and are not encoded into the 2D code data payload.
2. URL-Based Data Structure Samples
- Complete GS1 Digital Link URL using official unified root domain
- Custom enterprise domain URL Matching QR Code and Han Xin Code graphic illustrations are attached, distinguishing two printing schemes: full HRI text display and GTIN-only HRI text display.
Annex D (Normative Mandatory) 2D Code Placement Specifications
Contains three mandatory hard requirements: basic symbol placement criteria, 50 mm radius co-location rule with linear barcodes, and HRI plain text positioning. A supporting schematic diagram illustrates the relative position of linear barcode and commodity two-dimensional code.
Core Logical Summary of the Entire Standard
GB/T 33993—2024 is built on the GS1 global trade identification system and unifies two mainstream encoding paradigms for domestic commodity two-dimensional codes:
- Encoded data structure: Optimized for offline POS checkout scanning, carrying structured product traceability raw data;
- URL-based data structure: Optimized for online web-based traceability queries, fully compliant with the GS1 Digital Link international standard.
The standard unifies symbology options, printing module size limits, physical placement rules and minimum pass inspection criteria. It eliminates redundant data fields carried over from the 2017 edition, adds governance for invalid encoding combinations and standardized packaging placement rules, and resolves industry pain points including chaotic commodity 2D encoding, non-compliant printing and conflicting multi-code identification for single goods. It provides a unified national standard technical basis for commodity production, packaging printing, retail checkout and market supervision traceability.

