It is one of the first questions people ask before they order: how much can an NFC tag actually hold? The answer surprises almost everyone. An NFC tag does not store megabytes, or even kilobytes in most cases. It stores bytes — and fewer of them than a single text message.
That sounds like a problem. It almost never is. Here is the real picture.
The numbers, in plain terms
The three mainstream NFC chips differ in one thing that matters here: user memory, the space you can actually write to. NTAG213 has 144 bytes, NTAG215 has 504 bytes, and NTAG216 has 888 bytes. To put that on a human scale:
| Chip | User memory | Roughly equivalent to |
|---|---|---|
| NTAG213 | 144 bytes | About half a tweet — a short URL with room to spare |
| NTAG215 | 504 bytes | A few sentences, or a contact card with extra fields |
| NTAG216 | 888 bytes | A short paragraph — the most a mainstream tag holds |
A byte is, very roughly, one character of plain text. So an NTAG213 holds on the order of a hundred-odd characters once you account for the formatting overhead the tag needs (the NDEF wrapper around your data). In practice that works out to about 130 characters of a URL on NTAG213, around 480 on NTAG215, and around 850 on NTAG216.
What actually fits
Translated into the things people actually put on tags:
- A web address (https://linqs.in/a7X9P2) — fits on the smallest chip many times over.
- A Wi-Fi network name and password — fits comfortably on NTAG213.
- A basic contact card (vCard) with name, phone, and email — fits on NTAG213; add a job title, address, and a second number and you'll want NTAG215.
- A short plain-text note or serial number — trivial for any chip.
- A vCard with a photo, a long encoded payload, or several records at once — this is NTAG216 territory.
Notice what is missing from that list: images, PDFs, audio, video, or anything you would measure in kilobytes. None of that goes on the chip. An NFC tag was never designed to be a tiny USB stick — it is designed to hold a small, exact piece of identifying data.
Why so small?
An NFC tag has no battery. It wakes up only on the trickle of power your phone induces in its antenna when you tap. That tiny power budget, plus the goal of keeping each tag cheap enough to stick on a product by the thousand, is why the memory is measured in bytes. More memory would mean a more complex, more power-hungry, more expensive chip — for capacity most deployments would never use.
The tag was never meant to hold your data. It was meant to hold the key to it.
Why the small number rarely matters
Here is the part that resolves the worry. Modern NFC deployments do not try to cram content onto the chip. They store one short URL, and everything else — your profile, your menu, your review page, your pet's finder flow — lives on a server the URL points to. A short URL is a handful of bytes. Measured against 144, it is almost nothing.
So the question "how much can it hold?" quietly becomes the wrong question. Once the tag stores a pointer instead of the payload, capacity stops being a constraint and the smallest, cheapest chip does the job.
If your tag opens a website, profile, menu, or any server-backed page, NTAG213 holds the URL many times over — buy it and save money. Step up to NTAG215 or NTAG216 only when the data itself must live on the chip: an offline vCard with lots of fields, a large encoded payload, or multiple records.
The takeaway
The honest headline — an NFC tag holds less than a text message — sounds like a limitation until you see how tags are actually used. For the common case, the tag holds a short URL and the server holds everything else, so the byte count on the chip is the last thing you need to worry about. Spend that attention on antenna size, surface compatibility, and build quality instead.
The user-memory figures cited here — 144 bytes (NTAG213), 504 bytes (NTAG215), and 888 bytes (NTAG216) — are NXP's published specifications. NDEF formatting overhead follows the NFC Forum Type 2 Tag specification.
