Data on an xDF2: what can read it? HOW does it read it?

I’m looking into my first injectable (or four…) and the idea of the xDF2’s 8kb of data intrigues me, but also leaves me with some questions.
Mainly, how does the data get “interpreted” by readers? If I jammed it full of 8kb of plain text and read it with a NFC phone, what would come out? Would I need a KBR1 to “type” the text out for me?
I’m not trying to program and run executables, or open webpage links, more like write and share an 8kb short story.
In the demo video, it’s shown interacting with the contacts/address book on the phone, which makes sense for a digital business card, but I’m not sure the contacts app is the ideal place to deposit a manifesto, short story, bee movie script excerpts, etc.

Please explain this a bit further as I’m a bit confused as to what exactly you want to do with your xDF2 implant

The question seems clear to me. Can you fileshare a text document with a NFC reading phone using the xDF2’s memory capacity. Or otherwise have a scan open the phone’s notes app to a fresh note and type out a very long file character by character. I don’t know, but the question appears clear.

I suppose another way of wording it would be “is the full 8kb of memory usable as NDEF, and what are the limitations of that as a novice to NFC?”


You can fill the memory with an NDEF container and then use it store information like links, plain text, some app actions, etc…

I recommend downloading NFC Tools, TagInfo, and TagWriter. Playing around with those apps should give you an idea of what’s possible with a phone and a chip.

1 Like

Pretty much, yes. What can or cannot be done with the memory capacity on the xDF2? What limitations does the storage have due to the way it gets read by NFC phones?

The relatively large storage feels like it offers a lot of scope for creativity.

Depends on the reader…If the reader is just “looking for” the UID , It doesn’t give a fuck about what data is on the chip.
If your reader is a phone, and you have a variety of NDEF datasets on it, your phone will deal with the first record, but you can still access the other records.

This kinda sorta explains it for you

As you are specificlly talking about a DESFire chip, they can also have applets written to the chip, they are handled differently again…

I would reccomend you just get yourself an xDF2 and see what you can creativly come up with, but dont forget to share :+1:


In short, yes if you wrote 8kB as a plain text record than technically any NFC compliant device should read that entire 8kB and display it or do something with it. Exactly what happens will always be left to the device in question and how it decides to handle an 8kB plain text record, but according to the NFC standard, it should do something with the entire record.

The KBR1 is not an NFC compliant device. It has nothing to do with NFC, which is a narrow standard that fits on top of the RFID standard called ISO14443A. There are many types of transponders which are ISO14443A compliant and each has different memory structures and commands used to interact with those memory elements. The KBR1 only reads the UID (serial number) of ISO14443A transponders and “types” that out as keyboard input because the UID is the only thing reported to ISO14443A compliant readers in a way that complies with the ISO14443A standard. To put it another way, the UID of an ISO14443A transponder is always communicated to an ISO14443A compatible reader in the same exact way, but after that there are all sorts of different ways to access memory on ISO14443A transponders, and the KBR1 is not that smart, so it cannot read any programmable memory.

Your question brings up something interesting though about the DESFire chips specifically, and I wanted to address this with a new video… so here goes.


I would caution you on putting lots of data on the chip unless you need to as in my own experience it leads to very slow reads on both iOS and Android devices, possibly others too.

I put a vCard on mine and kept my URL in record 0/1 (whatever is first) and even though the URL record hadn’t changed my devices took a very long time to read before they would act on the URL record.