Quick access: Reader
, card emulation
, peer-to-peer
, smartcard chipset support
, connection handover 
Open NFC interfaces can be classified at different levels, from very high-level interfaces that greatly simplify the usual tasks of NFC applications, to very low-level interfaces that allow fine tuning of NFC hardware parameters for example. The list below highlights some of the functionalities of the Open NFC stack. Please refer to the API Specification for the complete list of functionalities.
High-level interfaces
Intermediate-level interfaces
Low-level interfaces
Please note that support of some tags and protocols may be limited depending on the underlying NFC hardware.
Open NFC provides a unified API to access all cards compliant with NFC Tags containing NDEF messages as defined by the NFC Forum. The API gives easy access to parsing (reading) and building (writing / emulating) NDEF messages and records.
Open NFC supports communication with the following cards, through dedicated API functions (see the documentation page for more information). Identification of the card type and low-level data exchanges are always supported on the following cards, higher functions may be unavailable when proprietary cryptography scheme is required:
The Open NFC stack supports the following standards, including API to directly exchange data at this level:
This list is growing with each new version of Open NFC, you can check the release notes to get the latest information.
Open NFC enables an NFC device to appear as a card to another NFC device: this is the Card Emulation mode. The Card Emulation feature currently supports emulating ISO 14443 4-A and ISO 14443 4-B cards.
In addition, the Virtual Tag functions allow an easy implementation of a complete card in just a few lines of code.
It is also possible via Open NFC to configure the NFC controller to use a secure element (UICC or eSE) to answer to card emulation commands for specific protocols — for example, using an applet on the UICC to answer to ISO 14443 4-A requests, and an applet on the eSE to answer to ISO 14443 4-B requests. This support depends of course on the underlying NFC controller capabilities.
Open NFC follows the specifications of ISO 18092/ECMA 340/NFCIP-1 and the specification of the NFC Forum for the Peer-to-Peer (P2P) communication, i.e. P2P connections are supported in Type F and optionally Type A protocols.
Both connection-oriented and connectionless transports defined in the LLCP specification are supported. Initiator and target, or target-only roles are supported.
Open NFC provides a simplified API to applications for using peer-to-peer mode, for different use-case situations.
Please refer to the documentation for more detail.
Open NFC supports two types of smartcard chipsets:
Open NFC provides functions to access and configure the smartcard chipset and the way the NFC Controller chipset interacts with this smartcard. Please check the Open NFC API specification for more detail.
The connection handover mechanism is defined by the NFC Forum as the “sequence of interactions that enable two NFC-enabled devices to establish a connection using other wireless communication technologies. Connection Handover combines the simple, one-touch set-up of NFC with high-speed communication technologies, such as WiFi or Bluetooth. The specification enables developers to choose the carrier for the information to be exchanged. If matching wireless capabilities are revealed during the negotiation process between two NFC-enabled devices, the connection can switch to the selected carrier.”
Open NFC supports two modes of connection handover: Negotiated handover (between two devices, using P2P mode) and Static Handover (between a device and an NFC Forum NDEF Tag, using either reader or card emulation mode).
The connection handover is the generic mechanism used to perform Bluetooth pairing and Wi-Fi pairing. Check the API documentation for more information on this mechanism.