7 free tools tested head-to-head — QModMaster, ModRSsim2, ModbusPal, diagslave, pymodbus, and more. Honest verdict on what each is good for, and where they fall short.
TL;DR: For quick TCP testing → QModMaster (free). For slave simulation → ModbusSimulator.com (30-day free trial). ModRSsim2 is abandoned — avoid for new projects.
All tools tested on Windows 11 in June 2026.
| Tool | Price | TCP Master | TCP Slave | RTU Master | RTU Slave | Multi-Slave | Windows 11 | Last Update | Support |
|---|---|---|---|---|---|---|---|---|---|
| ModbusSimulator.com 30-day free trial |
$99 one-time | ✓ | ✓ | ✓ | ✓ | 8 slaves | ✓ | 2026 | |
| QModMaster Open source (Qt) |
Free | ✓ | ✗ | ✓ | ✗ | ✗ | ✓ | 2022 | GitHub only |
| ModRSsim2 ⚠ Abandoned |
Free | ✗ | ✗ | ✗ | RTU/ASCII | ~ | Issues | ~2014 | None |
| ModbusPal Java-based |
Free | ✗ | ✓ | ✗ | ✓ | Multiple | Needs Java | 2015 | None |
| diagslave CLI only |
Free | ✗ | TCP | ✗ | RTU | ✗ | ✓ | 2019 | None |
| pymodbus Python library |
Free | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | 2026 | Community |
| Modbus Mechanic Free tier |
Free / Paid | ✓ | ✗ | ✓ | ✗ | ✗ | ✓ | 2024 | Limited |
✓ = supported · ✗ = not supported · ~ = partial / unreliable
QModMaster is the most actively maintained free Modbus master tool. Open source (GitHub), cross-platform (Windows + Linux), clean GUI. Supports Modbus TCP and RTU, function codes FC01–FC16, 16-bit and 32-bit values, scan mode for continuous polling.
Limitation: Master only — cannot simulate a slave device. Useless if you need to test a SCADA system that acts as a Modbus master. Also no ASCII mode support.
Best for: Testing a real Modbus slave device. Not for: SCADA/HMI testing that needs a simulated slave.
ModRSsim2 was the go-to free RTU slave simulator for years — it's referenced in thousands of tutorials. But it hasn't been updated since ~2014 and has known issues on Windows 10/11 (32-bit only, COM port detection bugs, crashes).
When to use: Only if you have an existing setup on an older Windows machine and don't want to change. For new projects, use ModbusSimulator.com's 30-day free trial instead.
ModbusPal is one of the few free tools that supports multiple Modbus slave simulation. Java-based, so it runs anywhere Java is installed. Supports defining custom slave configurations with registers, automations, and link devices.
Limitation: Last updated ~2015. Requires Java (not always installed). The UI is dated and slow on large register maps. No active development or bug fixes.
diagslave is a minimal command-line Modbus slave simulator for Linux/Windows. No GUI — you start it with parameters and it responds to requests. Perfect for CI/CD pipeline testing where you need a lightweight slave that starts in 1 second.
Limitation: No GUI, no register configuration file, registers respond with zeros by default. Needs scripting to set dynamic values.
Best for: Automated testing pipelines. Not for: Manual development/debugging.
pymodbus is the most complete free Modbus implementation available — supports TCP, RTU, ASCII, UDP, master and slave, all function codes. It's a Python library, so you write code to define your slave's behavior. Actively maintained (2026 releases).
Limitation: Requires Python programming skills. No GUI. Takes time to set up a working slave server script. Not practical for non-developers or quick testing.
from pymodbus.server import StartTcpServer
from pymodbus.datastore import ModbusSlaveContext, ModbusServerContext
from pymodbus.datastore import ModbusSequentialDataBlock
store = ModbusSlaveContext(hr=ModbusSequentialDataBlock(0, [100]*100))
context = ModbusServerContext(slaves=store, single=True)
StartTcpServer(context, address=("localhost", 502))
✓ Need Master + Slave in one tool
✓ Need to simulate 2–8 slaves at once
✓ Need Windows 11 support (no Java, no 32-bit)
✓ Need real RS-485 hardware or virtual COM
✓ Need 32-bit float / DWORD register types
✓ Need exception response simulation
✓ Need a transaction log for debugging
✓ Need to save/reload slave configs
ModbusSimulator.com covers all of the above with a 30-day free trial — no registration, no credit card. After the trial, a one-time $99 license covers everything forever.
Download Free Trial →For Modbus master testing (polling a real device): QModMaster. For slave simulation (testing a SCADA/HMI against a fake device): ModbusSimulator.com's 30-day free trial is the most complete option. ModRSsim2 is often cited but is abandoned and has Windows 10/11 compatibility issues.
diagslave (command-line, no GUI) and ModbusPal (Java, GUI) are free TCP slave simulators. For a modern Windows application with a GUI, ModbusSimulator.com's free trial is the most practical. pymodbus can simulate a TCP slave if you're comfortable writing Python code.
ModRSsim2 hasn't been updated since approximately 2014. It runs as a 32-bit application with known issues on Windows 10/11 (COM port detection fails, crashes on startup, incompatible with newer .NET runtimes). For new projects, use a maintained alternative. For legacy Windows 7 setups where it already works, continuing to use it is fine.
Yes — pymodbus is fully free and can simulate any Modbus slave (TCP, RTU, ASCII). You need to write Python code to configure the slave's register values, data types, and response behavior. It's the most powerful free option but requires programming skills. Not suitable for non-developers who need a quick GUI-based simulator.
Modbus Poll is a paid Modbus master application ($65+ for the master-only version). A "Modbus master simulator" polls slave devices and displays register values — which is what Modbus Poll does. Free alternatives include QModMaster and Modbus Mechanic (free tier). ModbusSimulator.com includes master mode alongside slave mode for $99 total.
TCP + RTU + ASCII · Master + Slave · 8 simultaneous slaves · Windows 10/11