๐งฎ CRC-8/CRC-16 Calculator
Byte length: 9
Calculate CRC-8, CRC-16 (CCITT-FALSE), and CRC-16 (MODBUS) checksums of your input text instantly. These are common standards used in embedded device communication protocols and serial data error detection. All calculations run entirely in your browser.
How to use
- Enter the text you want to checksum.
- The CRC-8, CRC-16 (CCITT-FALSE), and CRC-16 (MODBUS) checksums (in hex) are shown automatically.
How the calculation works
A CRC (cyclic redundancy check) is a value used to detect whether data was corrupted in transmission or storage. The data is treated as a long binary number and divided by a fixed "generator polynomial"; the remainder is the check value. This tool encodes the input text as UTF-8 and computes four CRCs: โข CRC-8: polynomial 0x07 โข CRC-16/CCITT-FALSE: polynomial 0x1021, initial value 0xFFFF โข CRC-16/MODBUS: polynomial 0x8005, initial value 0xFFFF, bit-reflected (used in Modbus) โข CRC-32: the most widely used form, found in ZIP, gzip, PNG and Ethernet A CRC variant is defined by its polynomial, initial value, bit reflection and final XOR. Two algorithms both called "CRC-16" give different results if any of these differ.
Worked example
Input: 123456789 (the standard test string for CRCs) CRC-8: 0xF4 CRC-16/CCITT-FALSE: 0x29B1 CRC-16/MODBUS: 0x4B37 CRC-32: 0xCBF43926 These match the published check values for each standard.
Things to be aware of
- A CRC detects accidental errors (such as bits flipped by noise), not deliberate tampering. Use SHA-256 or an HMAC to detect tampering.
- The input is processed as UTF-8 bytes, so data in another encoding (such as Shift_JIS) gives different results for the same characters.
- There are many more CRC-16 variants, such as XMODEM, KERMIT and ARC.
FAQ
Whatโs the difference between CRC-8 and CRC-16?
The bit width: CRC-8 produces an 8-bit checksum (0x00โ0xFF), while CRC-16 produces a 16-bit checksum (0x0000โ0xFFFF), giving it stronger error-detection capability.
Whatโs the difference between CCITT-FALSE and MODBUS?
Both are CRC-16 variants, but they use different generator polynomials, initial values, and bit-reflection settings. CCITT-FALSE and MODBUS are two well-known variants with different parameters.
How is this different from the existing checksum tool?
This siteโs "Checksum Calculator" tool covers CRC32 and Adler-32, while this tool covers the CRC-8 and CRC-16 family. Use whichever matches your protocol.