NFC with Flutter

Aparna Rathore
2 min readJul 14


Flutter provides support for NFC (Near Field Communication) through various plugins, enabling developers to build NFC-enabled applications for both Android and iOS platforms. Here are a few Flutter packages/plugins that facilitate NFC integration:

1. flutter_nfc_reader (
— This plugin allows reading NFC tags and cards on both Android and iOS devices. It provides methods to listen for NFC events, read NFC data, and handle various tag types, including NFC Forum Type 1–5, MIFARE Classic, and more.

2. flutter_nfc_kit (
— Flutter NFC Kit is another plugin that supports NFC reading and writing capabilities on Android and iOS. It offers features such as reading NDEF messages, writing NDEF data to tags, and detecting different tag types.

3. flutter_blue (
— While not specifically an NFC plugin, flutter_blue enables communication with Bluetooth devices, some of which may also support NFC functionality. It can be useful when working with NFC-enabled Bluetooth devices or when integrating NFC with Bluetooth Low Energy (BLE) technology.

4. platform-specific plugins:
— Flutter allows accessing platform-specific features through platform channels. This means you can create custom native code (in Java/Kotlin for Android and Objective-C/Swift for iOS) to interact directly with NFC APIs and use method channels to communicate between Flutter and the native code.

It’s important to note that NFC functionality can vary across devices, and some devices may have limitations or restrictions on NFC usage. Therefore, it’s recommended to thoroughly test your NFC-enabled Flutter app on different devices to ensure compatibility and functionality.

When working with NFC in Flutter, you can leverage the available plugins mentioned above based on your specific requirements. These plugins provide a foundation for integrating NFC capabilities into your Flutter app, enabling you to read NFC data, write data to NFC tags, and perform other NFC-related operations on both Android and iOS platforms.