Developer · Checksums

CRC-16 calculator.

Modbus, CCITT-FALSE, XMODEM, Kermit, ARC, USB, X-25 and GENIBUS. Paste text or hex bytes; everything runs in your browser.

Advertisement

Input

CRC-16

Enter data, then press Calculate.

How the variants differ

Each variant is fully described by the Rocksoft parameters: polynomial, initial value, whether input bytes and the final register are bit-reflected, and a final XOR. The check value is the CRC of the ASCII string 123456789; the page shows it next to your selection so you can confirm you picked the variant your device or library uses.

VariantPolyInitRefIn/OutXorOutCheck

Modbus byte order. CRC-16/MODBUS of 123456789 is 0x4B37, but a Modbus RTU frame appends the CRC low byte first, so the bytes on the wire are 37 4B. The result panel shows both orders.

Naming. CRC-16/IBM-3740 is what many tools call “CCITT-FALSE”; the catalogue notes that CRC-CCITT properly refers to the reflected CRC-16/KERMIT. CRC-16/X-25 is an alias of CRC-16/IBM-SDLC.

Source: Greg Cook, Catalogue of parametrised CRC algorithms: 16-bit CRCs (parameters and check values copied from the page, 2026-09-30).

Frequently asked questions

Why does my CRC-16 differ from my device?

“CRC-16” names many algorithms. Match the polynomial, init, reflection and final XOR of your device, and confirm with its published check value.

Is my data uploaded?

No. The calculation runs locally in your browser.

How do I compute a Modbus RTU CRC?

Choose CRC-16/MODBUS, set input to hex, paste the frame without its CRC (for example 01 03 00 00 00 0A) and append the “low byte first” bytes to the frame.

Error detection, not security

A CRC catches accidental corruption only. It does not authenticate data and is trivial to forge.

Advertisement
Advertisement
Listening…