Plain-language summary

EPC is the label your operation puts on the item. TID is the chip maker's model plate. User memory is a small optional note area. A database is the full file cabinet. Put the data where its ownership, size and change rate fit; do not modify the model plate just because the reader displays all four areas together.

The shortest useful comparison

LocationSelectorAssigned byMain jobInventory response?Change expectation
Reserved00bOwner / IC defaultsAccess and Kill passwordsNoIC- and state-dependent
EPC01bApplication ownerIdentify the tagged objectYesCommission, verify, then optionally lock
TID10bIC designer/manufacturerIdentify the responding IC type and optional serialNot in the ordinary EPC fieldStandard identity region is factory permalocked
User11bApplication ownerOptional auxiliary on-tag dataNoWritable if implemented and permitted
BackendNot on tagSystem ownerHistory, relationships, permissions and large recordsLooked up after reading a keyControlled by database policy

EPC: the identifier designed for commissioning

EPC memory is the operational identity surface. GS1's Tag Data Standard defines encodings for GS1 keys, while the Gen2 protocol makes the EPC available in the inventory exchange. That is why EPC works well for fast population discovery: a reader can receive object identifiers without issuing a separate read for every tag.

EPC memory also contains protocol-control information around the EPC data. A raw memory dump therefore needs to be distinguished from the business identifier shown by middleware. Capacity and supported lock controls vary by chip; read the actual IC data sheet before fixing a data length.

GOOD FIT

Asset or item identifier

The code your warehouse, library, production line or inventory system expects to see first.

WATCH

Duplicate commissioning

EPC's usefulness depends on the issuing process. A writable field is not automatically unique.

TID: identity metadata about the IC

For an E2-class tag, GS1 assigns the first TID fields to allocation class, feature flags, MDID and TMN. When XTID serialization is present, the extended structure adds manufacturer-defined and serialized information. GS1 requires the standard identity region—and the complete XTID when present—to be permanently locked at manufacture.

TID can help middleware recognize an IC model, diagnose a tag population, or check whether an observed EPC/TID pair matches an enrolled record. It should not be used as a general notes field. Nor should “TID present” be confused with cryptographic authentication.

A useful diagnostic pattern

Read EPC for the object identity, then read TID on exception or commissioning. If the same EPC unexpectedly appears with several TIDs, or one TID appears with incompatible EPC history, flag the event for investigation. The backend supplies the policy; TID alone does not decide authenticity.

User memory: useful when data must travel with the item

User memory is optional. Some tags provide none; others provide a few words or much more. It can hold an internal status code, a compact maintenance value or application information that must remain available when the backend is unreachable.

There is a cost: a separate read takes air time, programming takes RF margin, and every on-tag copy creates another data-governance problem. If a value is private, frequently updated or needs an audit trail, a backend is usually a better home.

A decision tree based on the requirement—not the product label

  1. 01

    Must the identifier be returned during normal inventory?

    Use EPC. Design a controlled commissioning process and verify uniqueness in the relevant namespace.

  2. 02

    Must a small value remain physically on the tag?

    Evaluate User memory capacity, access control, write threshold and retention in the selected IC.

  3. 03

    Is the data large, sensitive, relational or frequently changed?

    Keep a lookup key on the tag and store the record in a controlled backend.

  4. 04

    Does the test explicitly need the value to appear at MB10?

    Only then evaluate a special changeable-TID tag, document that the value is user-controlled, and validate its reader-specific behavior.

Five requests that sound like “writable TID” but are not

“Give every item our serial”

Commission that serial or a standards-based identifier in EPC.

“Change status after service”

Use a compact User-memory flag or, preferably for auditability, update the backend.

“Detect tag replacement”

Enroll the expected EPC/TID relationship and investigate mismatches; do not make TID writable.

“Store the full product record”

Use a backend. A passive tag is not a document database.

“Prove the item is genuine”

Use a documented authentication architecture, potentially including a secure tag IC. A copied static identifier is not proof.

Where a changeable-TID tag is specifically not recommended

Bottom line

If you want to name the object, write EPC. If you need a small note on the object, consider User memory. If you need a real record, use a database. Change MB10 only when your authorized test specifically needs MB10 behavior and you accept that the result is no longer a normal factory TID.

Next practical question: Why can a tag read successfully but fail to write at the same distance? ↗

Primary references