CRC-16 CCITT-FALSE Calculator
Compute the non-reflected CCITT-FALSE 16-bit CRC variant.
Use the CCITT-FALSE parameter set explicitly
CRC-16 CCITT-FALSE uses polynomial 1021, initial register FFFF, no input or output reflection, and no final XOR. This calculator XORs each UTF-8 byte into the register's high byte and advances eight most-significant-bit-first rounds. Naming the complete parameter set matters because CRC-16 CCITT labels are often applied to several incompatible variants.
The standard check text 123456789 returns 29b1 for CCITT-FALSE. A tool that reports 31c3, 906e, or another value may be using XMODEM, X-25, KERMIT, or different initialization and reflection settings rather than faulty arithmetic. Compare algorithm parameters and source bytes before deciding two implementations disagree.
Avoid mixing similarly named CRC-16 variants
This 16-bit cyclic code is useful for detecting accidental burst errors but is far too small and linear for adversarial integrity. All processing takes place in your browser. The text is encoded as UTF-8, so a protocol frame entered as visible hex characters is not the same as the underlying binary frame bytes; choose input representation deliberately.
Frequently Asked Questions
What makes this the CCITT-FALSE variant?
It uses polynomial 1021, initial FFFF, no reflection, and final XOR zero.
Why do other CCITT calculators show different values?
Variants change initialization, reflection, or final XOR while retaining a similar family name.
Can this authenticate a message?
No. A CRC is linear and unkeyed, so an attacker can alter data and recompute it.
Browse the full set of free, private, in-browser tools.