Installation
Download the latest release from the GitHub Releases page and follow the steps for your operating system below.
System requirements
Section titled “System requirements”You need a 13.56 MHz contactless reader that exposes cards through the PC/SC (CCID) interface. The app reads card UIDs using the standard FF CA 00 00 00 APDU command and never writes to cards. 125 kHz / proximity-only readers are not supported.
The ACS ACR122U is a verified, widely-available choice. Any other PC/SC-capable 13.56 MHz reader should also work.
The macOS release is a universal binary (.dmg) that runs natively on both Apple Silicon (aarch64) and Intel (x86_64) Macs.
- Download the
.dmgfile from the latest release. - Open the
.dmgand drag nfc-keyboard-emulator into your Applications folder. - Eject the disk image and launch the app from Applications.
Accessibility permission (required)
Section titled “Accessibility permission (required)”To send keystrokes to other applications, macOS requires the Accessibility permission. Without it the app runs but cannot type anything into other windows.
- Open System Settings → Privacy & Security → Accessibility.
- Unlock the list (click the lock icon and authenticate).
- Enable NFC Keyboard Emulator in the list.
If the permission is missing when the app starts, the Accessibility panel (accessible from the left sidebar) shows a warning banner and an Open settings & re-check button. Clicking it opens the Accessibility settings and immediately re-checks the permission. If the app still shows the warning after granting access, restart it.
Windows
Section titled “Windows”The Windows release is provided as an .msi installer or a standalone .exe. The binaries are currently unsigned.
- Download the
.msior.exefrom the latest release. - Run the installer. Windows SmartScreen will show an “Unknown publisher” warning because the binary is unsigned.
- Click More info, then Run anyway to proceed with the installation.
No additional permission step is required on Windows — the app can type into other applications without special configuration.
Building from source
Section titled “Building from source”If you prefer to build the application yourself rather than downloading a release binary, you need Rust (stable toolchain) and Node.js 20 or later. The build process and development commands are documented in the project repository. Refer to the reference section for full build instructions.
Next steps
Section titled “Next steps”Once the app is installed and the Accessibility permission is granted on macOS, follow the first-scan guide to select your reader and scan your first card.