OpenRFID & Barcode Simulator — Virtual HID Keyboard Wedge
Cross-platform virtual barcode scanner, HF/UHF RFID reader, NFC tag, and industrial sensor keyboard wedge simulator for testing POS, ERP, and WMS software.
Quick Start / Clone Repository
Project Overview
High-performance open-source hardware protocol emulator and virtual HID keyboard wedge built in C# (.NET 8) and Avalonia UI. Emulates 1D/2D optical barcode scanners (Code 128, QR Code, Data Matrix, GS1-128 with FNC1 separators), HF RFID (13.56 MHz Mifare & ISO 15693), NFC NDEF records, UHF RAIN RFID (EPC Gen2 4-bank memory), ICAO Doc 9303 MRZ Passports, Industrial Digital Scales (Mettler-Toledo/CAS), and BLE Beacons (iBeacon/Eddystone). Injects synthetic tag streams and barcode keystrokes directly into any web browser, ERP (SAP, Tally, Zoho), WMS, POS, or desktop application via sub-millisecond Win32 SendInput bursts or human-jitter typing simulation with zero RAM footprint (<30 MB) across 50M+ rows.
Automation CLI & C# Generator Syntax (Terminal / .NET 8)
Technical Specifications & Compatibility
| Supported 1D/2D Barcodes | Code 128, Code 39, EAN-13, UPC-A, QR Code, Data Matrix, GS1-128 with FNC1 (0x1D) & AIM IDs (]C1, ]Q1) |
| Supported RFID & Sensor Protocols | HF RFID (ISO 15693 / Mifare 14443A), NFC NDEF (URI/Text/vCard), UHF EPC Gen2 (4-Bank Memory), ICAO Doc 9303 MRZ Passports, Digital Scales (Mettler-Toledo/CAS), BLE Beacons (iBeacon/Eddystone) |
| Keystroke Injection Engines | Fast Device Wedge Mode (<8ms Win32 SendInput burst) & Human-Typing Mode with Gaussian Jitter (60–180ms) |
| Memory Footprint | < 30 MB RAM runtime consumption with Zero-RAM IAsyncEnumerable streaming and Memory-Mapped Files (50M+ rows) |
| Focus-Safe Mini-HUD | Always-on-top 350x220px floating widget with Win32 WS_EX_NOACTIVATE extended style (never steals active window focus) |
| Global Hotkeys & Tray Daemon | F8 (Start/Stop stream), F9 (Pause/Resume), F10 (Single-Step Keystroke Trigger) with background tray minimization |
| Test Automation & CI/CD | Headless CLI executable (openscansim-cli.exe) for automated browser testing (Playwright, Selenium, Cypress) & GitHub Actions |
| Target Operating Systems | Windows 10/11 x64 (Native Single-File Exe), Linux (/dev/uinput), macOS (CGEvent) |
User Interface & Studio Screenshots
Explore the Avalonia UI Windows 11 Fluent interface, floating HUD widget, and advanced protocol inspectors:





Key SDK Features & Capabilities
- ✓ Multi-Protocol Simulation (1D/2D Barcodes, HF RFID, NFC NDEF, UHF EPC Gen2, MRZ Passports, Digital Scales, BLE Beacons)
- ✓ Ultra-Fast Device HID Wedge (<8ms/tag) & Human-Typing Simulation with Gaussian Jitter & Typo Correction
- ✓ Zero-RAM Streaming Engine (<30 MB RAM) for Continuous Lazy Generation & 50M+ Row File Streams
- ✓ Always-On-Top Floating Mini-HUD (350x220px) with WS_EX_NOACTIVATE Focus-Safe Technology
- ✓ GS1-128 & 2D Barcode Engine with AIM Symbology IDs (]C1, ]Q1) and ASCII 0x1D FNC1 Group Separators
- ✓ System Tray Background Daemon with Global Hotkeys (F8 Start, F9 Pause, F10 Single Test Scan)
- ✓ Headless CLI Automation Tool (openscansim) for CI/CD Pipeline & E2E Testing
- ✓ Hardware Fault & Chaos Injector for Simulating NOREADs, Truncated Strings, and CRC Inversion
Related Hardware & Commercial Solutions
Explore compatible RFID readers, pre-built warehouse inventory software, and asset management systems developed by RFID Softwares:
Frequently Asked Questions
How does OpenRFID & Barcode Simulator inject keystrokes into web forms and ERPs? ↓
It utilizes native Win32 SendInput hardware batching on Windows (and OS-native input hooks on Linux/macOS) to emulate physical USB HID keyboard wedge scanners. Keystrokes are injected directly into whichever web browser, desktop ERP (SAP, Tally, Zoho), POS, or inventory app has active cursor focus in under 8 milliseconds per tag.
Does the floating Mini-HUD steal cursor focus from test applications? ↓
No! The floating mini-HUD widget is engineered with the Win32 WS_EX_NOACTIVATE extended window style. You can click start, pause, or switch simulation tabs on the mini-HUD while your web browser or ERP retains 100% uninterrupted keyboard focus.
Can it simulate GS1-128 barcodes with FNC1 group separators and AIM Symbology IDs? ↓
Yes. It fully supports GS1-128, QR Code, and Data Matrix symbologies with automatic ASCII 0x1D (GS) FNC1 group separators and standard 3-character AIM prefixes (such as ]C1 and ]Q1), ensuring strict compliance with enterprise barcode parsing standards.
How can QA engineers use OpenScanSim CLI in CI/CD automated test pipelines? ↓
The headless CLI executable (openscansim-cli.exe) can be invoked with arguments like `--symbology code128 --count 500 --wedge fast` in GitHub Actions, GitLab CI, or Jenkins. It integrates seamlessly with Playwright, Selenium, and Cypress automated browser test suites.
How does the Zero-RAM streaming engine handle 50,000,000+ tag files without crashing? ↓
Instead of loading full dataset arrays into RAM, OpenScanSim uses C# IAsyncEnumerable lazy generators and Memory-Mapped Files (MMF) with Span<char> zero-allocation buffers, keeping runtime RAM consumption strictly under 30 MB even across 50M+ rows.
Is OpenRFID & Barcode Simulator free and open-source under the MIT license? ↓
Yes, OpenRFID & Barcode Simulator is 100% free and open-source under the permissive MIT license for both commercial enterprise testing and open-source community development.
Application & SDK Preview

Tested Hardware Devices
Paid Customization & Free Help
We offer free community help on GitHub issues and discussions. If you need bespoke features, customized mobile apps, or dedicated on-site deployment, contact us for paid enterprise integration services.