Free engineering calculators and unit convertersceo@instrumentationblog.in
Communication Protocols · Free Tool

Modbus RTU CRC 16 Calculator

Calculate the CRC 16 checksum of a Modbus RTU message, or check whether a captured frame has a valid CRC.

CRC 16/MODBUSLow byte firstFrame checkHex input
CRC value0xCDC5
Bytes to append (low byte first)C5 CD
Complete frame01 03 00 00 00 0A C5 CD
How this result was calculated
  1. Start with 0xFFFF; XOR each byte, shift right 8 times, XOR with 0xA001 when the shifted out bit is 1.
  2. Append the low byte first, then the high byte.
Advertisement

CRC 16 (Modbus)

Initial value 0xFFFF · reflected polynomial 0xA001 (0x8005) · low byte sent first

Worked example

Read 10 holding registers from slave 1: 01 03 00 00 00 0A → CRC 0xCDC5 → frame 01 03 00 00 00 0A C5 CD.

Key insight: Modbus TCP has no CRC; the TCP/IP layer checks integrity, so a gateway strips the CRC and adds a 7 byte MBAP header instead.
Advertisement

Frequently Asked Questions

What CRC does Modbus RTU use?

CRC 16 with initial value 0xFFFF and reflected polynomial 0xA001, appended low byte first.

Why do I get CRC errors?

Usually baud rate or parity mismatch, electrical noise, missing termination or two masters on the line.

Does Modbus ASCII use CRC?

No. Modbus ASCII uses an LRC (longitudinal redundancy check).

You May Also Like

Learn more on the blog

Modbus RTU troubleshooting: CRC, no response and fault table

A practical, field focused guide on instrumentationblog.in that explains the theory behind this tool and how engineers apply it on real plants.

Read Full Article

More Communication Protocols

More Instrumentation Tools