toolfora
Home / Debug / Modbus Tools / Modbus RTU

Modbus RTU

Build Modbus RTU request and response frames, parse captured messages and calculate the CRC-16 checksum.

Request generator

Response generator

RTU parser

Parsed fields appear here...

CRC-16 (Modbus) calculator

CRC result appears here...

How to use the Modbus RTU tool

Generate a request command

Set the slave address (0–255), choose a function code (01/02/03/04/05/06/15/16), enter the start address and the quantity of registers or coils, then click Generate request. The tool builds the standard RTU frame and appends the correct CRC-16 checksum. Examples: read two holding registers 01 03 00 00 00 02 C4 0B; write register 01 06 00 00 00 01 48 0A.

Generate a response

Select the function code that matches your request, choose a data type (UINT16/INT16/UINT32/INT32/FLOAT32) and a byte order (ABCD/DCBA/BADC/CDAB), then enter the decimal value. This simulates slave response data for testing your master logic. Example read response: 01 03 04 00 01 00 02 2A 32.

Parse a captured frame

Paste an RTU frame such as 01 03 04 00 01 00 02 2A 32 and click Parse frame. The tool shows the slave address, function code, register data and verifies the CRC-16 checksum.

Byte order matters

Data type and byte order must match the device. ABCD is big-endian (high byte first, e.g. Siemens), DCBA is little-endian (Intel), BADC swaps the bytes inside each 16-bit word, and CDAB swaps the two 16-bit words of each 32-bit value. A wrong order produces wrong values, especially for 32-bit and float data.

Protocol note: Modbus RTU is a master–slave protocol. Each frame contains a slave address, function code, data and a CRC-16 checksum appended low byte first. Reads/writes are limited to 125 registers for function 03/04 per request on most devices.