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
- Choose "Text", "Hex bytes" or "File" and enter the data.
- Pick the "Algorithm", for example CRC-16/MODBUS. The CRC appears in hexadecimal, decimal and binary.
- "Bytes to append to the frame" shows the order in which the CRC bytes are sent.
- To identify an unknown CRC, type the expected value into "Find a CRC value".
- For an unlisted algorithm, open "Parameters" and set width, polynomial, initial value, reflection and final XOR.
How it works
- Presets and check values follow the RevEng Catalogue of parametrised CRC algorithms; each preset is tested against its check value, the CRC of the ASCII text 123456789.
- Reflected algorithms such as MODBUS are usually sent low byte first, others high byte first.
- Files are read on this device and not uploaded. Sum, XOR, LRC, Fletcher-16 and Adler-32 are shown as well.
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.