Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. C
  3. libnfc

libnfc

LGPL-3.0Clibnfc-1.8.0

A free, platform-independent library for accessing Near Field Communication (NFC) devices from userspace applications.

Visit WebsiteGitHubGitHub
2.0k stars471 forks0 contributors

What is libnfc?

libnfc is a free, platform-independent library that enables userspace applications to communicate with Near Field Communication (NFC) devices. It provides a standardized interface for interacting with various NFC readers and tags, solving the problem of fragmented, vendor-specific NFC SDKs by offering a unified, open-source solution.

Target Audience

Developers and researchers working on NFC-enabled applications, embedded systems, or hardware projects that require low-level access to NFC devices across different platforms.

Value Proposition

Developers choose libnfc because it is a mature, libre alternative to proprietary NFC SDKs, offering broad hardware compatibility, cross-platform support, and the flexibility to work with multiple drivers and configurations without vendor lock-in.

Overview

Platform independent Near Field Communication (NFC) library

Use Cases

Best For

  • Building cross-platform NFC applications on Linux, macOS, or Windows
  • Developing embedded systems that require NFC reader integration
  • Research and prototyping with various NFC hardware devices
  • Creating tools for NFC tag reading, writing, and emulation
  • Integrating NFC functionality into existing software without proprietary dependencies
  • Educational projects exploring contactless communication protocols

Not Ideal For

  • Mobile app development for iOS or Android that requires native NFC SDKs
  • Projects needing out-of-the-box GUI tools or pre-built applications for NFC tasks
  • Environments where simple, dependency-free installation is critical
  • Commercial products requiring vendor-backed support and guaranteed updates

Pros & Cons

Pros

Cross-Platform Compatibility

Supports POSIX systems and Windows, allowing NFC development on Linux, macOS, and Windows, as highlighted in the README's platform independence.

Wide Hardware Support

Compatible with numerous NFC readers like PN532, ACR122, and Feitian devices via multiple drivers such as pn53x_usb and pcsc, per the README's device list.

Flexible Configuration Options

Enables configuration through files, environment variables, and per-device settings, offering fine-grained control, as detailed in the Configuration and Environment Variables sections.

Debugging and Logging

Provides configurable log levels (e.g., LIBNFC_LOG_LEVEL) and debugging tools to aid development, mentioned in the How to report bugs section.

Cons

Complex Setup and Dependencies

Requires installation of third-party libraries like libusb and pcsc-lite, plus manual steps such as blacklisting kernel modules or tweaking PCSC configurations, making initial setup non-trivial.

Outdated Community Resources

The official website and forum are defunct, relying on archived copies via Wayback Machine, which hinders access to current documentation and community support.

Limited High-Level Abstractions

As a low-level library, it lacks built-in tools for common NFC tasks like mobile app integration or tag emulation, forcing developers to implement functionality from scratch.

Frequently Asked Questions

Quick Stats

Stars1,956
Forks471
Contributors0
Open Issues107
Last commit1 year ago
CreatedSince 2015

Tags

#embedded-systems#hardware-interface#c#libusb#cross-platform

Built With

A
Autotools
l
libusb
C
C++

Links & Resources

Website

Included in

C3.8k
Auto-fetched 1 day ago

Related Projects

CapstoneCapstone

Capstone disassembly/disassembler framework for ARM, ARM64 (ARMv8), Alpha, BPF, Ethereum VM, HPPA, LoongArch, M68K, M680X, Mips, MOS65XX, PPC, RISC-V(rv32G/rv64G), SH, Sparc, SystemZ, TMS320C64X, TriCore, Webassembly, XCore and X86.

Stars8,680
Forks1,670
Last commit2 days ago
libimobiledevicelibimobiledevice

A cross-platform protocol library to communicate with iOS devices

Stars7,871
Forks1,492
Last commit4 months ago
CommonMarkCommonMark

CommonMark spec, with reference implementations in C and JavaScript

Stars5,080
Forks350
Last commit1 month ago
libffilibffi

A portable foreign-function interface library.

Stars4,229
Forks806
Last commit3 days ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub