CRC16 Checksum Tool
What is CRC16?
CRC16 is a 16-bit cyclic redundancy check used to detect accidental errors in data. You will find it in serial communication, industrial protocols, embedded systems, file formats, and device firmware tools. The output is a 2-byte checksum that changes if the input bytes change.
How to use this online CRC16 calculator
- Pick a preset such as MODBUS, CCITT-FALSE, or XMODEM.
- Enter your data in either text mode or hex mode.
- If needed, tweak polynomial, initial value, XOR out, RefIn, and RefOut.
- Click Calculate CRC16 to see the checksum in hex, decimal, binary, and byte order.
Common CRC16 variants
CRC-16/MODBUS
Used heavily in Modbus RTU communication. Typical parameters: poly 0x8005, init 0xFFFF, RefIn true, RefOut true, xorOut 0x0000.
CRC-16/CCITT-FALSE
A classic telecom-oriented variant with polynomial 0x1021, init 0xFFFF, and no reflection.
CRC-16/X25
Also based on 0x1021, but uses reflection and final XOR 0xFFFF.
Why parameters matter
Two systems can both say “CRC16” and still produce different checksums because their parameters differ. To match an expected checksum, all settings must be identical:
- Polynomial
- Initial register value
- Input reflection (RefIn)
- Output reflection (RefOut)
- Final XOR value (xorOut)
Practical tips
- If your value is close but not exact, first check byte order (little-endian vs big-endian).
- In hex mode, ensure every byte has two hex characters.
- Test with a known vector like
123456789to validate settings.
Use cases for an online CRC16 calculator
This tool is useful for protocol debugging, building packet encoders, testing PLC/RTU integrations, validating firmware update payloads, and confirming parser correctness in embedded and backend applications.