Networks

Modbus RTU CRC Checker

Append or verify CRC-16/MODBUS from hexadecimal bytes. See the expected low-byte-first trailer and corrected frame.

YOUR INPUTS

LIVE RESULT

Expected CRC bytesC5 CD
Payload + expected CRC
01 03 00 00 00 0A C5 CD

Calculated

FOLLOW THE SIGNAL
Modbus RTU CRC CheckerPAYLOAD01030000000ACRC: LOW → HIGHC5 CD
THE RELATIONSHIP6 + 2 = 8 B

How to use this on a job

A CRC checks the bytes that were received. It does not tell you whether the address, function or register selection makes sense. Start with the exact capture, including its byte order, and separate those questions.

  1. 01

    Choose append for an address/function/data payload without CRC, or verify for a complete frame including its final two CRC bytes.

  2. 02

    Enter complete hex bytes, with optional spaces between them. Invalid characters and incomplete bytes are rejected so a mistyped capture cannot quietly become a different valid message.

  3. 03

    Compare the received trailer with the expected low byte followed by high byte. In verify mode, a failed check shows the expected frame for comparison; it does not repair or send the packet.

Work through one example

01 03 00 00 00 0A → C5 CD

The request payload 01 03 00 00 00 0A asks unit 1 for ten holding registers beginning at offset 0. Its CRC bytes are C5 CD. Paste the full eight-byte message into verify mode, then change one payload byte: the comparison should fail.

Before you trust the answer

Register data is normally high-byte first inside each Modbus register, but the RTU CRC trailer is low-byte first. Do not reverse an entire frame to fix a trailer. A matching CRC says nothing about serial timing, device address validity, legal payload lengths for a function or electrical signal quality.

TRYPLC FIELD REFERENCE / 01

Modbus RTU CRC Checker

Append or verify CRC-16/MODBUS from hexadecimal bytes. See the expected low-byte-first trailer and corrected frame.

  • Initial register: FFFF
  • Reflected polynomial: A001
  • Process each byte, then 8 right-shift steps
  • Transmit the CRC low byte first
  • RTU ADU: at most 256 bytes
Modbus RTU CRC CheckerPAYLOAD01030000000ACRC: LOW → HIGHC5 CD

How to use this on a job

A CRC checks the bytes that were received. It does not tell you whether the address, function or register selection makes sense. Start with the exact capture, including its byte order, and separate those questions.

  1. 01

    Choose append for an address/function/data payload without CRC, or verify for a complete frame including its final two CRC bytes.

  2. 02

    Enter complete hex bytes, with optional spaces between them. Invalid characters and incomplete bytes are rejected so a mistyped capture cannot quietly become a different valid message.

  3. 03

    Compare the received trailer with the expected low byte followed by high byte. In verify mode, a failed check shows the expected frame for comparison; it does not repair or send the packet.

Work through one example

01 03 00 00 00 0A → C5 CD

The request payload 01 03 00 00 00 0A asks unit 1 for ten holding registers beginning at offset 0. Its CRC bytes are C5 CD. Paste the full eight-byte message into verify mode, then change one payload byte: the comparison should fail.

Before you trust the answer

Register data is normally high-byte first inside each Modbus register, but the RTU CRC trailer is low-byte first. Do not reverse an entire frame to fix a trailer. A matching CRC says nothing about serial timing, device address validity, legal payload lengths for a function or electrical signal quality.

https://tryplc.com/tools/modbus-rtu-crc