Skip to content
Language: EN

What is the capability container on a tag?

The capability container is a small area of a tag that describes the tag itself: which version of the format it follows, how much memory is available for content, and whether that content may be rewritten. Formatting a blank tag is largely the act of writing it.

What it holds

Four kinds of information, in a very small space: which version of the tag type specification applies, how much memory is available for NDEF content, whether that content is readable, and whether it is still writable.

A reader consults it before doing anything else. It is how a phone knows, in a few bytes, how to interpret everything that follows.

What formatting really does

Formatting sounds like erasing. It is closer to labelling.

On a blank tag, formatting writes the capability container so that generic readers can make sense of the memory, and usually writes an empty NDEF message so the tag is valid rather than merely described. On a tag that already carries content, formatting overwrites that content and resets the description.

Tags are frequently sold pre formatted, which is why writing a URL to a new tag usually works with no preliminary step. When it does not, formatting first is the missing action.

Where your missing bytes went

A tag sold with a stated capacity does not offer all of it to your content. Some memory holds the unique identifier and manufacturer data, some holds the capability container, some holds lock bits, and the NDEF container itself adds a further header.

The gap between the number on the packaging and the number an application reports as free is not a defect and not a lie. It is the sum of everything the tag needs to describe itself.

The practical consequence is to leave margin. Specifying a tag with barely enough advertised memory for your content is how a production run fails after printing.

When it goes wrong

A damaged capability container is one of the few failures that makes a physically healthy tag appear completely dead.

The chip powers up, answers at the technology level and reports its identifier. But no reader can locate content, because the map to that content is unreadable. Applications will typically report the tag as detected and unformatted or unknown, which is confusing precisely because everything else works.

The usual cause is a write interrupted at the wrong moment, which is a good argument for verifying writes rather than assuming them. Reformatting recovers the tag when the memory itself is intact and the container was merely left inconsistent, and does nothing when lock bits have already frozen it.

Frequently asked questions

Does a new tag need formatting before I can use it?

Usually not, because most tags are shipped pre formatted. If a write fails on a genuinely blank tag with an error about the format, formatting first is the answer.

Can I recover a tag whose capability container is damaged?

Often yes, by reformatting, provided the tag was never locked. If lock bits have already made the memory read only, the container cannot be rewritten and the tag is finished.

Does formatting erase the unique identifier?

No. The identifier lives in a factory programmed area that formatting does not touch. On a standard tag it cannot be changed by any means.

Why do two tags with the same advertised memory report different free space?

Because the deductions differ. Chip families reserve different amounts for configuration and lock bits, and the tag type changes the container overhead. Compare free space rather than advertised capacity when it matters.