Within each NFC tag there’s an NFC chip which holds your data and manages the communication with the NFC reader. Your data is stored in a small amount of non-volatile memory within the NFC chip. Non-volatile memory is memory that retains stored information when power is removed. Data for NFC tags is commonly measured in units called bytes and each byte is equivalent to approximately one character of text.
In an NFC tag, there will also be memory that is used for the chip itself and for other functions. For example, each NFC tag has a unique ID (usually 14 characters long) which takes memory space. You cannot change this memory and in some cases, you might not be able to access it.
Therefore, there is a difference between the total amount of memory on an NFC tag and the actual amount of data you can store. NFC.Today define usable memory as memory space that you can encode into. However, when writing an standard NDEF message, such as a web link, to an NFC tag there will always be some extra bytes of hidden information which tells your phone what type of data you have stored. While this is typically only around 5 bytes, it means that your available memory reduces further. For example, with the NTAG210µ chip, the total memory is 64 bytes. Of this, the ‘usable memory’ – the part you can put your data into – is 48 bytes. To store a web address, you will also need to store 8 bytes of ‘hidden’ data which leaves you with 40 bytes for your actual URL. In most cases, this will be enough of course but you should always be aware of the difference between total memory and usable memory.
How much memory do you need ?
If you are storing a web address, you might also want to use our NFC Tag memory calculator.
Unfortunately, apart from web addresses (URL) and text, it’s not always quite as simple as five more characters equals five more bytes, but the following table gives you a reasonable idea what you might need.
Example NFC Tag Data Requirements
|Data Type||Content||Memory Used|
|Web Address||https://nfc.today||14 Bytes|
|SMS||'Finished work. I'll be home in 30|
minutes !' to 07777555666
|To - email@example.com|
Subject - NFC Help
Message - How much memory does an email use ?
Note that because of the way the data can be stored, the memory required to store ‘www.nfc.today’ can be the same as ‘nfc.today’. Additionally, https and http take the same amount of memory space. However, there are two different ways to store a web address and if it’s done ‘the other way’, then storing www.nfc.today would take more memory equivalent to the additional characters stored.
NFC chip options
So now you know how much memory you might need, working out which chip you need is simply a case of selecting one with enough usable memory for your data. In general, our preferred options are the NTAG210 or the NTAG213. Good performance, good supply and a good price point.
|NFC Chip||Usable Memory|
|MIFARE Ultralight / NTAG210 / NTAG210µ||48 Bytes|
|NTAG203 / 213||144 Bytes|
|Broadcom Topaz||454 Bytes|
Using NFC and vCards
In general, NFC.Today strongly recommend not using vCards with NFC. There’s two reasons. Firstly, we think it is always best to consider NFC Tags as a link to the data rather than the data itself. In this ‘internet of things’ world, data is dynamic and changeable. Storing a vCard onto an NFC Tag is static. Use a generic landing page or just connect to your LinkedIn account is a better option. Secondly, while there are standards for vCards, they tend to be interpreted with some flexibility. Which means that a vCard stored by one phone might not look exactly the same on another. If you do really like the idea of vCards, then make sure you use a NTAG216 or Topaz chip because the older ‘1k’ chips are not compatible with all mobile phones.
What actually is in the ‘hidden information’ ?
Lets break this into three parts. Firstly, data that is ‘hard coded’ onto the NFC chips during manufacture such as the unique ID number. Secondly, some tags, such as the NTAG213, have additional memory bytes allocated to identify how to manage parts of the memory space. Thirdly, there’s always a few bytes used to ‘wrap’ around your data describing what your data is – such as text or a web address.
What is a byte ?
To keep things simple, a byte is composed of eight ‘bits’. A bit is a single binary ‘switch’ – 1 or 0 (think yes or no). So, a byte contains eight 1’s or 0’s, for example 10110101. However, each bit in the byte has an increasing value, like the number 123 can be broken into one hundred, two tens and three. So, ’10’ is actually ‘worth’ 2, and ‘100’ is worth 4. Ultimately, this means that the full ‘11111111’ is worth 255 providing a total combination of 256 numbers (0 inclusive).
In the case of NFC tags, this range of numbers relates to a standardised set of letters and characters. So, the number 114 relates to the letter ‘r’, 115 to the letter ‘s’ and so on.