MIFARE DESFire for Python

Documentation Status

This package provides MIFARE DESFire native communication protocol for NFC cards.

Source code: https://github.com/miohtama/desfire

Documentation: https://desfire.readthedocs.org


In photo: MIFARE DESFire EV1 8kB blank card with Identive CLOUD 4500 F Dual Interface Reader


  • Compatibile with USB-based NFC readers via PCSC interface. PCSC API is available on Linux, OSX and Windows. Linux support includes support for Raspberry Pi.
  • Compatibile with Android mobile phones and their built-in NFC readers. This is done using Kivy cross application Python framework and native Android APIs via pyjnius Python to Java bridging.
  • Only some of the commands are implemented in the current alpha quality version, please feel free to add more.
  • Compatible with Python 2 and Python 3


The communication protocol specification is not public. The work is based on reverse engineering existing open source DESFire projects, namely Android host card emulation for DESFire and MIFARE SDK.


Mikko Ohtamaa.


This package was created with Cookiecutter and the audreyr/cookiecutter-pypackage project template.