zplCore.comzplCore.com

RFID Studio · GS1 EPC Tag Data Standard 2.3

Encode, decode, check and simulate EPCs. Live with zplCore.Rfid.

Encode a GS1 key as EPC for the RFID tag, decode hex or EPC URIs bit by bit, pre-check ZPL with RFID commands and see what the printer writes – including retries and VOID labels.

Learn more: limits, privacy, how it works

Everything runs server-side with the ZplCore.Rfid namespace of zplCore.com – the same API you call in your .NET project (ZplRfid.EncodeEpc, ZplRfid.DecodeEpc, ZplRfid.Check, ZplRfidSimulator). Input is not stored. Check and simulation take up to 16 KB of ZPL and evaluate up to 4 labels; the demo allows 30 requests per minute. Every tab has its own link, e.g. /rfid/#simulate.

An RFID label carries its data twice: in the tag as an EPC (Electronic Product Code) and on the print as a barcode. The EPC is binary – header, filter value, partition, company prefix, item reference and serial number packed into 96 or more bits after the GS1 EPC Tag Data Standard (TDS) 2.3. The RFID Studio encodes all 15 schemes, shows every bit field and generates a ZPL label whose ^RF command and barcode carry the same GS1 key.

Schemes: SGTIN-96, SGTIN-198, SSCC-96, SGLN-96, SGLN-195, GRAI-96, GRAI-170, GIAI-96, GIAI-202 and the TDS 2.0 schemes SGTIN+, DSGTIN+, SSCC+, SGLN+, GRAI+, GIAI+. Results: EPC in hex and binary, Pure Identity URI, Tag URI, GS1 Digital Link and element string, PC word and warnings such as reserved filter values. Decoding accepts hex from bit 20h, PC word + EPC and both EPC URI forms.

The check runs the 12 RFID rules of zplCore (ZPL3901–ZPL3912) – from valid ^RF data and the PC length bits to the comparison of tag and printed barcode – and then simulates the printer: the tag memory after the write with PC word and StoredCRC, the read-back, ^RR retries, VOID labels per ^RS and the ^HV and ~RV answers. Choose a write error to see how your format behaves when a tag fails.

Encode EPC: GS1 key → EPC, bit fields, RFID label

Pick a scheme and enter the GS1 key – you get the EPC in hex, its URIs, every bit field and a ready RFID label in ZPL.

Learn more

The same in C#: Epc epc = ZplRfid.EncodeEpc(EpcScheme.Sgtin96, "(01)09506000134352(21)6789", filter: 1, companyPrefixLength: 7); then epc.Hex, epc.TagUri, epc.DigitalLinkUri and ZplRfid.BuildCommands(epc) for the ^RS/^RF/^HV commands. The label is checked with the RFID rules and its barcode is read back from the rendered image.

The fixed-length schemes need the length of the GS1 Company Prefix: it selects the partition and is not part of the GTIN, SSCC or GLN – your GS1 member organisation knows it. “Automatic” only works for a GTIN-8 (always 8).

SGTIN-96: serial number with digits only, no leading zero, at most 274877906943 (below 2³⁸). Otherwise use SGTIN-198 or SGTIN+.

ZPL options

Use it in your .NET code

The RFID Studio is a front end for the ZplCore.Rfid namespace: EPC codec after GS1 TDS 2.3 (15 schemes), the ^RF command builder, the RFID rule pack and the tag simulation. See the documentation, the compliance demo (rule pack RFID) and the features.

GS1, EPC and EPCglobal are trademarks of GS1 AISBL; Zebra and ZPL are trademarks of Zebra Technologies. They are used here only to describe the standards and commands; zplCore.com is not affiliated with GS1 or Zebra.