CRC-16 Calculator

Calculate Modbus RTU CRC-16 checksums for your data frames

Calculate CRC

Enter your Modbus data as hexadecimal values (without CRC). Spaces and common separators are automatically removed.

Example Data

Click on any example to load it into the calculator

Read Holding Registers (Addr: 1, FC: 03, Start: 0, Count: 10)

01 03 00 00 00 0A

Write Single Register (Addr: 1, FC: 06, Reg: 100, Value: 1234)

01 06 00 64 04 D2

Read Coils (Addr: 17, FC: 01, Start: 19, Count: 19)

11 01 00 13 00 13

About Modbus CRC-16

Modbus RTU uses CRC-16-ANSI (also known as CRC-16-IBM) for error detection. The polynomial used is 0xA001 (reverse of 0x8005).

The CRC is calculated over all bytes in the message except the CRC itself. The result is transmitted with the low byte first, followed by the high byte.

When receiving a Modbus RTU frame, the receiver calculates the CRC of the received data (excluding the CRC bytes) and compares it with the transmitted CRC to verify data integrity.