Skip to content
Language: EN

Does writing a tag erase what was on it?

The previous content is replaced and there is no way to recover it, so a tag holding something you might need should be read and saved before being rewritten. What is not touched is everything outside the content region: the identifier, the configuration, and any data stored outside NDEF.

What gets replaced

The NDEF message, entirely. Writing does not merge with what was there, and it does not append. The new message takes the place of the old one.

If the new message is shorter than the old one, the remaining bytes are no longer part of the message and are not reachable through the NDEF layer, though they may still physically sit in memory until something overwrites them.

What survives

Rather a lot, and it surprises people who expect a write to be a clean slate.

The identifier, which is factory programmed and unchangeable on a standard tag. The capability container, unless you formatted rather than wrote. Configuration pages, counters and password areas on chips that have them. And any data you deliberately placed outside the NDEF region, which the NDEF layer neither sees nor disturbs.

The practical version: writing changes what the tag says, not what the tag is.

There is no undo

Nothing keeps a previous version. There is no history, no recycle bin, and no tool that can recover overwritten content, because the bytes are simply gone.

This matters most in a situation people walk into without thinking: picking up a tag of unknown provenance and writing to it to see whether it works. If that tag held something that mattered, it does not any more.

Backing up before you write

Read the tag and save what it contains before overwriting anything you did not write yourself. It takes a second and it is the only version of the content that will ever exist.

For a batch, read one tag of each kind rather than all of them, since tags from the same source usually hold the same thing.

And keep the record of what you wrote, not just what was there before. A deployment where nobody can say which tag holds which URL is a deployment that cannot be corrected without physically visiting every tag and reading it.

Frequently asked questions

Can I recover what a tag held before I wrote to it?

No. The content is overwritten and there is no mechanism that preserves a previous version. Reading a tag before writing to it is the only protection.

Does writing a shorter message leave the old content readable?

Not through the NDEF layer, since the message length declares where the content ends. Raw block access on some chips may still show remnants, which is worth knowing if the old content was sensitive.

Does writing reset the tag to factory state?

No. Only the content changes. The identifier, the structure and any configuration remain, and returning a tag to factory state is a separate and often impossible operation.

Is it safe to write to a tag I found?

Safe for you and possibly not for whoever owns it. A tag on someone else's property may be part of a system, and overwriting it breaks that system with no way back.