Read the complete model name
Select CRC-32/ISO-HDLC for the usual ZIP-style CRC-32 checksum. CRC-32C and MPEG-2 are separate presets. For custom CRC, copy the normal polynomial, init, RefIn, RefOut and XorOut from the protocol specification.
Hash & Crypto Helpers
Choose the exact model and input format, then calculate. Each result keeps its own parameters and byte order.
Calculate to inspect a checksum; empty text is valid.
Text and file contents are processed in your browser.
Calculate to inspect a checksum; empty text is valid.
A CRC calculator is useful when a device reply disagrees with your test fixture. The label CRC16 alone is not enough: the polynomial, initial register, reflections and final XOR all contribute to the result.
Start with a known message before checking a captured packet. Text that looks like hexadecimal is still text until you choose Hex bytes; the byte sequence, including its line endings, determines the checksum.
This CRC calculator keeps the exact model beside its result. ARC and MODBUS share a polynomial but start from different registers; recording the name and all six parameters makes the comparison reproducible.
File chunks update the same running state in order. Only the final checksum is exported, so changing the read boundary does not change the file result. Progress and cancellation remain available while the Worker processes it.
Select CRC-32/ISO-HDLC for the usual ZIP-style CRC-32 checksum. CRC-32C and MPEG-2 are separate presets. For custom CRC, copy the normal polynomial, init, RefIn, RefOut and XorOut from the protocol specification.
Use Hex bytes for 31 32 33 and UTF-8 text for actual characters. Whitespace between complete hex bytes is ignored; whitespace in text is included. For another character encoding, supply the original file or its hex bytes.
The standard 123456789 example should match Check. MODBUS gives 4B37 as a number and 37 4B as little-endian bytes. Enter 4B37 in the expected field. Ctrl/Cmd+Enter recalculates after edits.
The CRC-16 calculator includes ARC, MODBUS, IBM-3740 and XMODEM. The 32-bit group includes ISO-HDLC, Castagnoli/CRC-32C and MPEG-2; Adler-32 is a separate checksum family.
Custom 16- and 32-bit models let you change input and output reflection separately. These switches reverse bits; they do not select the order in which checksum bytes are transmitted.
Adler-32 starts S1 at 1 and S2 at 0, reducing both sums modulo 65521. The empty input therefore yields 00000001. CRC-only polynomial and XOR controls are not applied to this algorithm.
Download JSON containing the selected model, complete numeric parameters, input mode, byte count, expected value and comparison. HEX, decimal, binary and both byte orders describe the same final number; source contents are excluded.
First compare the exact bytes, then width, polynomial, init, RefIn, RefOut and XorOut. Also check whether the other display is a number or reversed byte sequence. A trailing newline is enough to change an otherwise correct result.
Both produce 32 bits, but ISO-HDLC uses polynomial 04C11DB7 while CRC-32C uses 1EDC6F41. For 123456789 their checks are CBF43926 and E3069283. Select the one required by your format; they are not interchangeable.
No. CRC is designed for accidental transmission or storage errors. MD5 and SHA-256 belong to cryptographic hash families, although MD5 is unsuitable for modern collision-resistant uses. A plain digest also does not authenticate its source.
The default is CRC-32/ISO-HDLC: polynomial 04C11DB7, init and XorOut FFFFFFFF, both reflections enabled. This CRC calculator also provides CRC-32C, MPEG-2 and custom 32-bit parameters.
IBM-3740, also called CCITT-FALSE, uses polynomial 1021, init FFFF and no reflection. MODBUS uses 8005, init FFFF and both reflections. XMODEM uses 1021 with init 0000; it is a different model from CCITT-FALSE.
Still have a question?
Use the CRC calculator with a known fixture, then change one parameter at a time and save the report for the value you verified.