Introduction
nfc-keyboard-emulator is a cross-platform desktop app that bridges a PC/SC NFC reader to your keyboard: place a contactless card on the reader and the app reads its UID and types it into whatever input field is focused — a software “keyboard wedge” for readers that do not emulate a keyboard themselves.
Why it exists
Section titled “Why it exists”Many NFC readers — including the popular ACS ACR122U — expose cards through the PC/SC smartcard API rather than acting as a USB keyboard. That makes them invisible to ordinary web forms, POS software, or any other application that simply expects typed input. nfc-keyboard-emulator fills that gap: select your reader, arm typing, and every scanned card UID is entered exactly as if you had typed it yourself.
Privacy and data storage
Section titled “Privacy and data storage”Everything runs locally. The app makes no network connections, collects no telemetry, and requires no account. Card UIDs are read and typed on your machine only; they are never written to cards, never stored remotely, and never leave your device.
Features
Section titled “Features”| Feature | Description |
|---|---|
| Works with any PC/SC reader | Compatible with any CCID / 13.56 MHz contactless reader exposed via PC/SC — including the ACS ACR122U — on macOS and Windows. |
| Types the UID into the focused field | The scanned UID is sent as keystrokes to whatever input field has focus, with a configurable trailing key (Enter, Tab, or none). |
| Reader picker with hot-plug rescan | A dropdown lists all connected PC/SC readers; the Refresh button rescans immediately when you plug in a new device. |
| Safety toggle | Typing is disarmed by default. One click arms it; another disarms it — so a card placed on the reader never triggers unexpected output. |
| Live scan log with CSV export | Every scan is recorded with a timestamp, reader name, UID, and status. You can export the full log to a CSV file at any time. |
| Configurable output format | Choose case (UPPER / lower), byte separator, byte order (normal / reversed), and an optional prefix. A live preview updates as you configure. |
| Tray and autostart | Closing the window sends the app to the system tray. Optional launch-at-login keeps it ready without cluttering your Dock or taskbar. |
| Local only | No network access of any kind. The card UID never leaves your machine. |
UI languages
Section titled “UI languages”The interface is available in English and German (Deutsch). The app follows your operating-system locale by default.
Tech stack
Section titled “Tech stack”nfc-keyboard-emulator is built with Tauri 2 — a Rust backend paired with a Vue 3 and TypeScript frontend. The Rust layer talks directly to the PC/SC subsystem via the pcsc crate; the Vue frontend communicates with it through Tauri commands. The application bundles as a native binary for macOS and Windows with no runtime dependency on Node.js or a browser.
Next steps
Section titled “Next steps”- Install nfc-keyboard-emulator on macOS or Windows.
- Make your first scan and confirm everything is working.