Skip to content

CRC Calculator

CRC-8, CRC-16 and CRC-32 checksums of text or hex bytes, with common presets and custom polynomials

Loading the tool…

Calculates the CRC of text, hex bytes or a file with 34 named CRC-8, CRC-16 and CRC-32 algorithms or your own parameters, for example to check a Modbus frame or find out which CRC a device uses.

How to use

  1. Choose "Text", "Hex bytes" or "File" and enter the data.
  2. Pick the "Algorithm", for example CRC-16/MODBUS. The CRC appears in hexadecimal, decimal and binary.
  3. "Bytes to append to the frame" shows the order in which the CRC bytes are sent.
  4. To identify an unknown CRC, type the expected value into "Find a CRC value".
  5. For an unlisted algorithm, open "Parameters" and set width, polynomial, initial value, reflection and final XOR.

How it works

Questions and answers

What is the CRC-16 Modbus of 01 03 00 00 00 0A?
It is 0xCDC5. Modbus RTU appends the low byte first, so the frame ends with C5 CD.
What is the difference between CRC-16/CCITT-FALSE, XMODEM and KERMIT?
All use the polynomial 0x1021. CCITT-FALSE starts at 0xFFFF, XMODEM at 0, and KERMIT at 0 with reflected bits. For 123456789 they give 0x29B1, 0x31C3 and 0x2189.
Why does my CRC-32 differ from another program?
Check the input bytes first: UTF-8 and Latin-1 encode the same text differently. Standard CRC-32 (ISO-HDLC) gives 0xCBF43926 for 123456789; MPEG-2 and BZIP2 use other settings.
Is a CRC secure enough to detect tampering?
No. A CRC catches accidental errors, but anyone can change data and recompute it. Use a cryptographic hash such as SHA-256.