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 BB3D check 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.

Input
Output
Share Link
Settings