CRC-16/CCITT-FALSE Checksum

Calculate the CRC-16/CCITT-FALSE checksum of UTF-8 text using polynomial 0x1021 and initial value 0xFFFF.

Description

Calculate CRC-16/CCITT-FALSE over UTF-8 text with polynomial 0x1021, initial value 0xFFFF, no reflection, and no final XOR.

CRC-16/CCITT-FALSE is one precisely parameterized member of the CRC family. Naming the complete model matters because several incompatible 16-bit CRCs use the same 0x1021 polynomial. This tool converts text to UTF-8 bytes and returns the four-digit uppercase hexadecimal remainder.1

When to use CRC-16/CCITT-FALSE Checksum

Use this checksum for devices, frames, files, or published vectors that explicitly require CRC-16/CCITT-FALSE. The check value for the ASCII string “123456789” is 29B1, which is useful for confirming compatible parameters.

How CRC-16/CCITT-FALSE Checksum works

The algorithm starts a 16-bit register at 0xFFFF. Each input byte is XORed into the high register byte, then each bit shifts the register left; a high outgoing bit causes an XOR with polynomial 0x1021. No input/output reflection or final XOR is applied.2, 1

How the CRC-16/CCITT-FALSE function processes input

  1. Encode the text as UTF-8 bytes.
  2. Initialize the 16-bit remainder to 0xFFFF.
  3. Feed each byte through eight polynomial-division shifts using 0x1021.
  4. Format the final register as four uppercase hexadecimal digits.

Limitations and assumptions

  • A CRC detects common accidental changes but is not collision-resistant against an attacker.
  • CRC variants with the same width or polynomial can still differ in initialization, reflection, augmentation, and final XOR.
  • Text is checksummed as UTF-8; a device that checks raw bytes in another encoding can return a different value.

Alternative or Complementary approaches

Use the exact CRC model named by the protocol. For malicious modification, add an authenticated construction such as HMAC or a digital signature rather than substituting a CRC.

References

  1. Encoding Standard — WHATWG

  2. Catalogue of parametrised CRC algorithms — CRC RevEng

Similar or alternative tools

Don't forget to set a bookmark for tool.io!
Privacy | Imprint | Cookies