CRC calculator

Type text, paste hex bytes or choose a file to see seven common CRC checksums at once, in hex and decimal, each with its polynomial, initial value and reflection. Files are read in your browser and never uploaded.

Choosing a file replaces the text above; the file is read locally.

Checksums of 9 bytes.

CRC-8 poly 0x7 · init 0x0 · normal · xorout 0x0
0xF4 244
CRC-16/CCITT-FALSE poly 0x1021 · init 0xFFFF · normal · xorout 0x0
0x29B1 10673
CRC-16/XMODEM poly 0x1021 · init 0x0 · normal · xorout 0x0
0x31C3 12739
CRC-16/ARC poly 0x8005 · init 0x0 · reflected · xorout 0x0
0xBB3D 47933
CRC-16/MODBUS poly 0x8005 · init 0xFFFF · reflected · xorout 0x0
0x4B37 19255
CRC-32 poly 0x4C11DB7 · init 0xFFFFFFFF · reflected · xorout 0xFFFFFFFF
0xCBF43926 3421780262
CRC-32C (Castagnoli) poly 0x1EDC6F41 · init 0xFFFFFFFF · reflected · xorout 0xFFFFFFFF
0xE3069283 3808858755

Runs in your browser: nothing you enter is sent anywhere.

How to use it

  1. Type text, or choose Hex bytes and paste bytes such as 31 32 33.
  2. Or pick a file; it replaces the text. Use Clear to go back to text.
  3. Read the checksums and copy the one you need.

How it works

The data is processed byte by byte with a 256-entry table for each algorithm. Each algorithm is described by its polynomial, initial register value, whether input bytes and the result are bit-reversed (reflected), and a final XOR. CRC-8 here is the plain polynomial 0x07 with initial value 0.

Example: for the nine characters 123456789, CRC-32 is CBF43926, the standard check value shared by implementations.

Tips and common mistakes

  • Text is hashed as UTF-8 bytes; a trailing newline changes the result.
  • If your value differs, compare the parameters (initial value, reflection, XOR) rather than the polynomial alone.
  • Byte order matters when you store a CRC: the same value can appear as little-endian or big-endian bytes.

Frequently asked questions

What is a CRC?

A cyclic redundancy check is a short checksum computed by polynomial division over bits. It detects accidental changes such as noise in a cable or a corrupted download. It is not a cryptographic hash and does not protect against deliberate tampering.

Why are there so many CRC-16 versions?

CRC-16 is a family. The variants differ in polynomial, initial value, bit order and final XOR, so the same data gives different results. This tool shows CCITT-FALSE, XMODEM, ARC and MODBUS with their parameters. Check which one your protocol names.

How can I check the result is right?

The standard test input is the ASCII text 123456789. CRC-32 gives CBF43926, CRC-32C gives E3069283, CRC-16/CCITT-FALSE gives 29B1, CRC-16/ARC gives BB3D and CRC-8 gives F4.

Which CRC-32 is used in ZIP and PNG?

ZIP, PNG, gzip and Ethernet use the CRC-32 shown here (polynomial 04C11DB7, reflected, with initial value and final XOR FFFFFFFF). CRC-32C uses another polynomial and appears in iSCSI and some storage systems.

Is my file uploaded?

No. The file is read and checked in your browser. Very large files need memory for their whole content.

More in Developer

All tools in this category: Developer ·Updated November 3, 2026

Privacy choices

Google Analytics shows us which tools are used and whether they work. It may set cookies. Your choice is kept in this browser.