CRC-16 Calculator
This online CRC-16 calculator computes CRC-16 checksums for text, files, or URLs. It uses CRC-16/ARC by default and supports other CRC-16 models and input encodings. Expand to read more.
What is CRC-16?
CRC-16 is a family of cyclic redundancy check algorithms that produces a 16-bit checksum. It is commonly used to detect accidental changes in stored or transmitted data. CRC-16 is not a single algorithm: models with different polynomials, initial values, reflection settings, or final XOR values can return different checksums for the same input.
This calculator uses CRC-16/ARC by default. This model is also known as ARC, CRC-16, CRC-16/LHA, or CRC-IBM.
CRC-16/ARC parameters
- Width:
16 - Polynomial:
8005 - Initial value:
0000 - Reflect input:
true - Reflect output:
true - Final XOR value:
0000 - Check value for ASCII
123456789:BB3D
These parameters and aliases follow the CRC RevEng catalogue. The check value is useful for confirming that another implementation uses the same model and parameters.
How to calculate a CRC-16 checksum
Enter text, upload a file, or provide a URL. Choose the input encoding and the CRC-16 model required by your protocol or data format, then select Calculate. The file and URL modes calculate the checksum from the input bytes rather than from a displayed hexadecimal value.
Which CRC-16 model should I choose?
Use the exact model required by the system you are working with. A checksum described only as “CRC-16” is ambiguous unless its parameters or expected check value are also provided.
Common choices available here include:
- CRC-16/ARC for systems that specify ARC, CRC-IBM, or the
BB3Dcheck value. - CRC-16/MODBUS for the Modbus CRC model.
- CRC-16/USB when a USB specification explicitly requires that model.
- CRC-16/KERMIT, CRC-16/IBM-3740, and CRC-16/XMODEM for protocols that name those variants.
- CRC-16/IBM-SDLC for specifications that use aliases such as X-25 or CRC-16/X-25.
If you know only the width, polynomial, initial value, and other parameters, use the general CRC calculator and select Custom. For a longer checksum, use the CRC-32 calculator.
CRC-16 FAQ
Is CRC-16 a cryptographic hash?
No. CRC-16 is designed to detect accidental data corruption, not deliberate modification. For security-sensitive integrity checks, use a cryptographic hash or a message authentication mechanism appropriate to your application.
Why does another CRC-16 calculator return a different result?
The calculators may be using different CRC-16 models, input encodings, byte sequences, or output formats. Compare the polynomial, initial value, reflection settings, final XOR value, and the 123456789 check value.
How many hexadecimal digits are in a CRC-16 value?
A 16-bit result is normally written as four hexadecimal digits, from 0000 through FFFF. Leading zeroes are significant when displaying the complete checksum width.