Skip to article content
RFID Case

Where Should You Store Data on a Gen2 RFID Tag?

Updated
By Jay
13 min read
Everyday warehouse packaging workbench with a sealed cardboard box, packing tape, and white shipping label.

You are about to program a batch of UHF RFID tags.

The product ID needs to go somewhere. You may also have a serial number, batch code, status flag, password, or other information.

Then the question appears:

Should this data go into EPC, TID, User memory, or Reserved memory?

The good news is that the decision is much simpler than the names make it sound.

For most projects:

EPC identifies the item. TID identifies the RFID chip. User memory holds optional extra data. Reserved memory is used for passwords.

And there is one more rule that prevents a lot of unnecessary work:

Large or frequently changing business data usually belongs in your backend system, not inside the RFID tag.

This article explains how to make that decision before you encode hundreds or thousands of tags.

Four memory banks of a Gen2 UHF RFID tag

EPC, TID, User or Reserved? Start With What You Need to Store

A Gen2 UHF RFID tag is organized into four logical memory areas.

You do not need to memorize memory addresses to use them correctly.

A practical way to think about them is:

Memory Bank Think of It As Typical Use
EPC The item's RFID identity Product, carton, pallet or asset identifier
TID Information about the RFID chip Chip manufacturer, model and sometimes a serialized tag identity
User Optional extra storage Small application-specific data when the selected IC provides it
Reserved Password area Access and Kill passwords when supported

That already answers most programming questions.

The mistake usually happens when people try to make the tag hold much more information than the RFID workflow actually needs.

If the Data Identifies the Item, Start With EPC

Imagine a warehouse receiving 10,000 cartons.

Every carton needs its own RFID identity so the warehouse can detect it when it enters, moves through a portal, or is loaded for shipment.

That is what the EPC memory is primarily for.

For example:

Carton 000012345

The RFID reader sees that identifier.

The warehouse system then uses it to find the full record:

Product: Model A
Order: SO-45821
Destination: Los Angeles
Status: Ready to Ship
Last Read: Dock Door 3

Notice what happened.

The tag did not need to store the entire shipping record.

It only needed an identifier that allowed the software to find the record.

That gives us a useful design pattern:

RFID Tag → EPC → Backend Record

For many RFID projects, this is the simplest and most scalable architecture.

Should the EPC change every time the item's status changes?

Usually, no.

Suppose a reusable tool moves through:

Warehouse → Production Line → Maintenance → Warehouse

The tool can keep the same EPC.

Its location and maintenance status can change in the asset-management system.

You normally do not need to rewrite the EPC every time the business status changes.

Think of the EPC more like a vehicle license plate.

The car may move to another city, receive maintenance, or change parking spaces.

You do not need a new license plate every time something happens to the car.

For a basic explanation of how readers use tag identifiers, see How Do RFID Tags Work?.

Then What Is TID For?

EPC identifies the item you are tracking.

TID is different.

TID stands for Tag Identifier.

It contains factory-programmed information about the RFID IC.

Depending on the chip, this can tell the reader things such as:

  • who made the IC
  • which IC model it is
  • additional chip-specific information
  • on some ICs, a factory-programmed serialized value

A simple way to remember the difference is:

EPC = Who is this item?

TID = What RFID chip is this?

Comparison of EPC, TID and User memory on a Gen2 RFID tag

Can I program my own product number into TID?

Normally, no.

TID is factory-programmed by the IC manufacturer.

If you need to assign your own item identifier, EPC is normally the place to start.

Is every TID a unique serial number?

Do not assume that.

The exact TID structure depends on the RFID IC.

Some chips include a serialized factory identity. Others mainly provide manufacturer and model information.

That is why you should check the datasheet of the actual IC instead of assuming every Gen2 tag has the same TID structure.

Does TID prove that a product is genuine?

Not by itself.

A TID can be useful as another piece of information when checking a tag, especially when the selected chip includes a serialized TID.

But reading a TID is not the same as performing cryptographic authentication.

If your application needs real anti-cloning or product authentication, the project may require a security-enabled RFID IC and a stronger authentication design.

For that topic, see Can RFID Tags Be Cloned? What Actually Makes Them Secure?.

When Does User Memory Actually Help?

Now imagine a factory tracking reusable tools.

The EPC already identifies:

Tool A1025

The backend contains:

Tool type
Owner
Current location
Complete maintenance history
Calibration records

Most of that information does not need to live inside the RFID tag.

But suppose the application needs one small piece of information to travel with the tool even when the backend is temporarily unavailable.

For example:

Inspection Status: PASS

or:

Process Code: 07

That is the kind of situation where User memory may be useful.

User memory is additional application storage.

But there are two important things to understand.

Not every Gen2 tag has the same User memory

Some ICs provide substantial User memory.

Some provide only a small amount.

Some applications use tags where little or no User memory is available.

So before designing a workflow around User memory, check the actual RFID IC.

Do not choose the tag first and assume the required memory will be there later.

Do not turn User memory into a small ERP database

It may be technically possible to store extra information on a tag.

That does not mean everything should be stored there.

For example, a full maintenance history such as:

Repaired January 5
Inspected February 20
Calibrated March 12
Assigned to Technician A
Moved to Building B

is usually better stored in the backend.

The RFID tag can continue to carry the item's stable identifier.

The system retrieves the current history when needed.

This avoids constantly rewriting the tag and keeps one central source of truth.

A useful rule is:

If the data changes frequently, becomes large, or needs a history, the backend is usually the better home.

Use User memory when there is a practical reason for the information to travel with the physical item.

What Goes Into Reserved Memory?

Reserved memory is different from EPC, TID and User memory.

It is associated with tag-access functions rather than normal business information.

Depending on the IC and Gen2 features implemented, it can contain:

  • Access Password
  • Kill Password

You normally do not store your product description, asset record or shipping information here.

RFID tag password and memory protection

What does the Access Password do?

The Access Password is used when the reader needs authorized access to protected tag operations.

But there is an important detail:

Simply setting an Access Password does not automatically protect every piece of tag memory.

The memory also needs the appropriate lock configuration.

In simple terms, think of it like this:

Password = the key

Lock setting = which doors require that key

If you create a password but leave the relevant memory open, the password by itself does not magically protect everything.

That is why password configuration and memory locking should be planned together.

What Is the Difference Between Lock and Permanent Lock?

This is another area where the terminology can sound more complicated than it really is.

A normal lock configuration can restrict access to selected tag memory.

Depending on the tag and configuration, authorized access may still allow changes later.

A permanent lock, often called Permalock or BlockPermalock on supported ICs, is different.

Once the relevant memory area or lock state has been permanently locked, that decision is intended to be irreversible.

So before using permanent locking, confirm:

  • the EPC is correct
  • the encoding format is correct
  • the item has been assigned correctly
  • no future rewriting will be required

Permanent locking should normally happen after validation, not simply because the feature exists.

What Does the Kill Password Do?

The Kill Password is associated with the Gen2 Kill command.

When a supported tag receives a valid Kill command with the correct authorization, it can be permanently disabled.

After a successful Kill operation, the tag no longer responds normally to RFID readers.

That is very different from:

deleting an EPC

or:

removing an item from the database.

A killed tag cannot simply be programmed again and reused.

So Kill should only be used when the application has a clear reason to permanently deactivate the RFID tag.

Should You Put Status, Location or History on the Tag?

This is one of the most useful questions to ask before programming a project.

Suppose you are tracking an industrial asset.

You have:

Asset ID
Current Department
Current Location
Maintenance Status
Last Inspection Date
Full Service History

It may be tempting to write all of this onto the RFID tag.

Usually, a simpler design is:

EPC: Asset ID

Backend: Department, location, maintenance status and history

If one small value genuinely needs to remain available directly from the tag, then User memory can be considered.

The important question is:

Does this information need to travel with the physical tag, or does the reader simply need a way to find it in the system?

If the system can reliably look it up from the EPC, you may not need to store it twice.

This also avoids a common problem:

the tag says one thing while the database says another.

For most inventory and asset-management projects, keeping one authoritative business record in the backend makes integration easier.

A Simple Way to Decide Before Programming Thousands of Tags

Before encoding a large batch, walk through four questions.

1. Is this the identifier used to recognize the item?

Use EPC.

Example:

Pallet 0002187

2. Am I trying to identify the RFID chip itself?

Look at TID.

Do not assume it is programmable or that every IC contains the same serialized structure.

3. Does a small piece of application data really need to travel with the item?

Check whether the selected IC provides suitable User memory.

Example:

Process Code 07

If the information is large or frequently changing, consider the backend instead.

4. Am I configuring password or tag-access protection?

That belongs to Reserved memory and the tag's lock/security settings.

This gives you a much simpler decision tree:

Item identity → EPC

Chip identity → TID

Optional extra tag data → User

Passwords → Reserved

Business history and frequently changing records → Backend

Check the IC Before You Finalize the Software

The four-bank concept is standardized, but real RFID chips are not all identical.

Different ICs can have different:

  • EPC capacity
  • User memory capacity
  • TID structure
  • password support
  • lock functions
  • write endurance
  • special security functions

For example, one tag may have User memory while another tag selected for lower cost and simple inventory identification may not provide the same amount of additional storage.

That means memory design should be part of tag selection.

Do not finish the software architecture first and ask the tag supplier later:

"How much User memory does this tag have?"

By then, changing the hardware or database design can become much more expensive.

For broader hardware selection, see How Do You Choose the Right RFID Tag?.

What Should You Ask Your RFID Supplier?

You do not need to memorize the Gen2 specification.

Before ordering production quantities, ask:

  1. Which exact IC is used in this tag?
    Memory capacity and security features depend on the chip.

  2. How much EPC and User memory does this IC provide?
    Do not assume all UHF tags have the same capacity.

  3. Does the TID include a serialized value?
    This matters if your application plans to use TID as an additional tag identity.

  4. Which memory areas can be locked or permanently locked?
    Confirm this before designing your encoding process.

  5. Does the application really need data stored on the tag, or can the EPC point to the backend record?
    This can greatly simplify the project.

  6. Will the tag be rewritten repeatedly?
    If yes, check the write-endurance specification of the actual IC.

These questions are usually more useful than simply asking:

"Is this a Gen2 tag?"

Gen2 compatibility tells you how the tag communicates.

It does not tell you every memory feature of the particular chip.

For reader and encoding hardware selection, see the RFID Reader Buying Guide.

FAQ

Q:​ Should I store my product description in the EPC memory?

A:​ Usually, no. EPC is better used as a compact identifier that allows your software to find the complete product record. Descriptions, prices, status changes and other business information are usually easier to maintain in the backend database.

Q:​ Can I change the TID of a Gen2 RFID tag?

A:​ TID is normally factory-programmed by the RFID IC manufacturer and should be treated as chip-identification information rather than application memory. The exact TID structure varies by IC, so check the chip datasheet if your project depends on a serialized TID.

Q:​ Does every Gen2 RFID tag have User memory?

A:​ Do not assume so. The available User memory depends on the RFID IC. Some tags provide useful additional storage, while others are optimized mainly for EPC identification. Confirm the exact chip and memory capacity before building a workflow around User memory.

Q:​ Should maintenance records be stored in User memory?

A:​ Usually the complete maintenance history is better stored in the backend and linked to the asset's EPC. User memory can be useful for a small piece of information that genuinely needs to travel with the physical item, but it should not automatically become a replacement for the asset-management database.

Q:​ Does setting an Access Password automatically protect the EPC?

A:​ No. The Access Password and the memory lock configuration work together. Setting a password alone should not be treated as automatically locking every writable memory area. Configure and test the intended lock permissions on the actual IC.

Q:​ Can a locked EPC be changed later?

A:​ It depends on how the memory was locked. Some lock configurations allow authorized changes later, while permanent locking is intended to be irreversible. Confirm the exact lock mode before using it in production.

Q:​ Is TID proof that a product is genuine?

A:​ Not by itself. TID provides information about the RFID IC and some chips include a factory-programmed serialized identity. That can be useful as an additional check, but it is not the same as cryptographic authentication. High-security anti-cloning applications may require a security-enabled RFID IC and a stronger authentication architecture.

Q:​ How many times can a Gen2 RFID tag be rewritten?

A:​ There is no single rewrite number that applies to every Gen2 tag. Write endurance is a property of the specific IC. If your workflow frequently rewrites EPC or User memory, check the manufacturer's datasheet before selecting the tag.

Conclusion

You do not need to memorize the Gen2 memory map to program RFID tags correctly.

Start with one simple question:

What does this piece of data actually do?

If it identifies the item, EPC is usually the place to start.

If you need information about the RFID chip itself, look at TID.

If a small amount of application data genuinely needs to stay with the physical item, check whether the tag provides suitable User memory.

If you are configuring passwords and memory protection, you are working with Reserved memory and the tag's lock settings.

And if the data is large, changes often, or needs a full history:

keep it in the backend and let the EPC point to it.

That one design decision can make an RFID system much easier to maintain as it grows.

For more on tag operation, see How Do RFID Tags Work?.

For help choosing the right tag IC and memory configuration, see How Do You Choose the Right RFID Tag?.

If you need help matching EPC memory, User memory, tag security or reader hardware to your application, Contact Fongwah.

Continue the topic

Fongwah technical team engineering checklist for matching industrial RFID reader hardware frequencies to deployment workflows

RFID Reader Buying Guide

By the Fongwah Technical Team · Updated July 9, 2026 · 20 years designing and building RFID readers,…

Jul 10, 2026
FONGWAH TECHNICAL TEAM

Need to Validate an RFID Project Before Deployment?

Share the application, tagged item, read zone, region, volume, and integration requirements. We can help narrow the hardware architecture before samples or production are committed.

Factory Direct Application Validation OEM / ODM Support
Chat with us