Free online tool

CRC Calculator

Calculate CRC-8, CRC-16 and CRC-32 checksums with standard presets or custom polynomial, initial value, reflection and final XOR settings.

CRC detects many accidental data errors. It is not a cryptographic hash or a security mechanism.

Calculate your CRC

Text mode processes the exact bytes of the submitted text.
Choosing a preset fills its standard settings. You can then customize them.

Normal polynomial notation; omit 0x.
These settings can be enabled independently.

Common CRC presets

CRC-8

Width 8, polynomial 07, initial value 00, no reflection and final XOR 00.

CRC-8/MAXIM-DOW uses polynomial 31 with RefIn and RefOut enabled.

CRC-16

CRC-16/ARC uses polynomial 8005, initial value 0000, reflection enabled and final XOR 0000.

CRC-16/CCITT-FALSE uses polynomial 1021, initial value FFFF, no reflection and final XOR 0000.

CRC-32/ISO-HDLC

Width 32, polynomial 04C11DB7, initial value FFFFFFFF, RefIn and RefOut enabled, and final XOR FFFFFFFF.

Custom parameters

Choose the width and enter the polynomial, initial register value, RefIn, RefOut and final XOR specified by your protocol. Parameter notation must match the reference you are using.

What is a CRC checksum?

A cyclic redundancy check uses binary polynomial arithmetic to produce a compact checksum from a sequence of bytes. A receiving system can calculate the CRC again and compare it with the transmitted value to detect many accidental errors.

CRC-8, CRC-16 and CRC-32 refer to checksum widths. The exact result also depends on the polynomial, initial value, reflection settings and final XOR.

CRC versus cryptographic hashes

CRC is designed for error detection, not security. It is not resistant to deliberate manipulation and should not be used for password storage, authentication or protection against attackers. Use an appropriate cryptographic hash or message authentication code for security-sensitive applications.

Frequently asked questions

Why does my CRC differ from another calculator?

Check the CRC variant, polynomial, initial value, RefIn, RefOut, final XOR and input encoding. In hexadecimal mode, each byte must be represented by two hex digits.

What do RefIn and RefOut mean?

RefIn controls the bit processing order for input bytes. RefOut controls the output register's orientation. They are separate parameters.

Can CRC detect every error?

No. CRC detects many common error patterns, but some changes can produce the same checksum. Its detection properties depend on the CRC variant and message length.

Can I use CRC to secure a message?

No. CRC is not a cryptographic security mechanism. Use a cryptographic hash, HMAC or digital signature when the application requires security.