TDS 2.x RFID Converter
Convert and analyze RFID EPC codes with support for 8+ GS1 schemes. Based on GS1 EPC Tag Data Standard (TDS) 2.x with automatic scheme detection and IoT-ready Digital Link URIs.
Auto-Detect Decoder
Paste any EPC hex value and we'll automatically detect the scheme and decode all fields
EPC Encoder
Generate EPC hex codes from GTIN, serial numbers, and other identifiers
EPC Scheme Reference
| Scheme | Header | Bits | Description | GS1 Key |
|---|---|---|---|---|
| GDTI-96 | 0x2C | 96 | Global Document Type Identifier | GDTI |
| GSRN-96 | 0x2D | 96 | Global Service Relation Number | GSRN |
| SGTIN-96 | 0x30 | 96 | Serialized Global Trade Item Number | GTIN + Serial |
| SSCC-96 | 0x31 | 96 | Serial Shipping Container Code | SSCC |
| SGLN-96 | 0x32 | 96 | Global Location Number with Extension | GLN + Extension |
| GRAI-96 | 0x33 | 96 | Global Returnable Asset Identifier | GRAI |
| GIAI-96 | 0x34 | 96 | Global Individual Asset Identifier | GIAI |
| SGTIN-198 | 0x36 | 198 | SGTIN with alphanumeric serial | GTIN + Serial |
Developer Code Snippets
Copy-paste ready implementations for multi-scheme EPC encoding/decoding
1// TDS 2.x Multi-Scheme EPC Decoder (TypeScript)
2import { decodeEpc, detectEpcScheme, encodeSgtin96 } from './tds-epc-utils';
3
4// Auto-detect and decode any EPC
5const hex = "303400C0E4424C80009FE8D8";
6const result = decodeEpc(hex);
7
8console.log(`Scheme: ${result.schemeName}`);
9console.log(`GTIN-14: ${'gtin14' in result ? result.gtin14 : 'N/A'}`);
10console.log(`Serial: ${'serial' in result ? result.serial : 'N/A'}`);
11console.log(`Digital Link: ${result.digitalLinkUri}`);
12
13// Encode SGTIN-96
14const encoded = encodeSgtin96("8935363958373", "12345", 3);
15console.log(`Encoded: ${encoded}`);