NFC Reader/Writer: a desktop GUI for reading and writing NFC tags on Linux
A PyQt5 desktop application for reading and writing NFC tags using the ACS ACR1252U reader on Linux, with batch writing and system tray integration.
I've been getting into NFC tags recently — those small programmable stickers you can tap with your phone to open a URL, trigger a Home Assistant automation, or identify a physical asset. I started using them for a home inventory system (every piece of tech equipment gets a tag linking to its record in Homebox), and quickly discovered that the tooling for writing tags from a desktop computer is either phone-based, Windows-only, or requires memorising arcane command-line incantations with libnfc. Since I run Linux full-time and had a stack of blank NTAG213 tags to programme, I built my own desktop GUI. The NFC Reader/Writer is a PyQt5 application designed specifically for the ACS ACR1252U USB reader, which is cheap, reliable, and well-supported on Linux.
Desktop NFC reader/writer app for ACS ACR1252U
Three modes for different workflows
The app has three core modes, each designed for a specific workflow. Read Mode continuously scans for NFC tags and automatically opens any URLs it finds in your browser — tap a tag on the reader, and the associated page opens instantly. Write Mode lets you write URLs to tags, with options for batch writing (invaluable when you're programming fifty tags for a home inventory) and optional permanent locking so tags can't be accidentally overwritten. Update Mode is the feature I'm most pleased with: it uses configurable regex patterns to rewrite URLs on existing tags. If you've been running tags pointing to a local Homebox instance at http://192.168.1.50:3100 and later expose it publicly, you can configure a regex transformation and the app will read each tag, apply the URL rewrite, write it back, and optionally lock it. Bulk migration of dozens of tags takes minutes instead of hours.
The always-on desk setup
The feature that makes this genuinely useful day-to-day rather than just a batch-programming tool is the background read mode. The app minimises to your system tray and keeps the NFC reader active. Tap any tag on the reader and the URL opens automatically in your browser — no need to bring the app to the foreground. I keep the ACR1252U sitting on my desk next to my keyboard, and it's become a natural part of my workflow for accessing equipment records, documentation links, and asset management pages. The app packages as a .deb file for Ubuntu/Debian, integrates with your desktop environment's application menu, and includes the necessary udev rules for the reader. Source and downloads on GitHub.
Desktop NFC reader/writer app for ACS ACR1252U