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.
Decode EPC: hex or EPC URI → fields
Paste the EPC bank content, a Tag URI or a Pure Identity URI – every field and bit is explained.
Learn more
The same in C#: ZplRfid.DecodeEpc("3074257BF7194E4000001A85"), ZplRfid.DecodeEpcBank(…) for data read from the PC word and ZplRfid.ParseEpcUri(…) for both URI forms. An invalid EPC is reported with the reason (wrong header, truncated data, values the standard does not allow).
Check ZPL: the RFID pre-check (ZPL3901–ZPL3912)
Does the tag get a valid EPC, and the same GS1 key as the printed barcode? The 12 RFID rules check the label and draw their findings into it.
Learn more
Rule pack rfid of the compliance engine (ZplRfid.Check(zpl) = zplcore rfid check): valid ^RF data and passwords, EPC length and PC bits, a valid EPC after TDS 2.3, tag and printed barcode / text carry the same key, reserved filter values, ^RB layouts, an own EPC per copy, ^RS setup, locks and ^HV. The example writes another SSCC to the tag than the barcode prints. A pre-check, not a certification.
Simulate tag: what the RFID printer writes
Every label with RFID commands is encoded into a simulated Gen2 tag – with read-back, PC word, StoredCRC, retries, VOID labels and the answers to the host.
Learn more
ZplRfidSimulator executes ^RF, ^RQ, ^RZ, ^RL, ^RB, ^RS, ^RR, ^HV and ~RV like a Zebra RFID printer, as described in the RFID programming guides. Choose a write failure to see how your format behaves when a tag fails: weak tags, a defective first tag, a missing inlay, locked or too small tags. The same simulation is built into the virtual printer (zplcore serve --rfid).
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.

