b2KIT

CRC-32 Checksum Calculator

Compute CRC-32, CRC-16, and Adler-32 checksums for text or file data with polynomial configuration options.

Tested tool guide Tested browser tools Checked August 16, 2026

What CRC-32 Checksum Calculator does, with a checked example

This calculator turns entered text or the exact bytes of a selected file into a CRC-32, CRC-16, or Adler-32 checksum. CRC results depend on a fixed-width register and the selected generator polynomial, while Adler-32 uses two modular sums. File bytes are processed locally in the browser. The main source of confusion is that CRC-32 and CRC-16 are families of configurations, not single universal algorithms, so matching names do not guarantee matching results.

Worked example

A concrete input and expected output from the current implementation.

Input

ABC

Expected output

Adler-32: 0x018D00C7

For ASCII bytes 65, 66, and 67, Adler-32 starts with A = 1 and B = 0, then finishes with A = 199 and B = 397. Packing B above A gives 0x018D00C7.

How the result is produced

1

Checksum calculation

A CRC calculation advances a fixed-width register across the input bits and uses XOR with the selected generator polynomial. The register width determines whether the result is 16 or 32 bits. Adler-32 is different: it accumulates two sums modulo 65521 and packs them into one 32-bit value.

2

Exact input bytes

Text must be represented as bytes before any checksum can be calculated, while file mode operates on the selected file's bytes. To reproduce a CRC result, record the variant settings as well as the polynomial. Preserve leading zeroes when reading fixed-width hexadecimal output, since a CRC-32 value should still occupy eight hexadecimal digits.

Good uses

  • Compare a downloaded archive or firmware image with a published CRC value when the publisher specifies the same CRC configuration.
  • Generate a test checksum for a protocol or file format that requires a particular CRC-16 or CRC-32 polynomial.
  • Confirm the Adler-32 value of a small payload while preparing or debugging zlib-format test data.

Limits and checks

  • CRC and Adler-32 detect accidental corruption but do not provide cryptographic integrity, authentication, or proof of origin.
  • A polynomial alone may not identify a CRC variant; initialization, reflection, final XOR, and polynomial representation can also affect the result.
  • A newline, byte-order mark, character encoding difference, or text-versus-file input choice changes the bytes and therefore changes the checksum.

Common questions

Why does this CRC-32 value differ from another calculator?

CRC-32 is a family of parameterized calculations, not a complete variant name. Compare the exact input bytes, polynomial, initial register value, input and output reflection, final XOR, and displayed byte order. A trailing newline, encoding difference, or reversed polynomial representation can produce a different value even when both calculators say CRC-32.

Can I use CRC-32 to prove that a file is authentic?

No. CRCs and Adler-32 are designed to catch accidental changes, and an attacker can deliberately create altered data with a chosen checksum. For authenticity, compare a cryptographic digest obtained from a trusted source, or verify a digital signature or message authentication code. Use this calculator when the relevant format specifically requires one of its checksum algorithms.

References and verification

The example and behavioral notes were checked against the browser implementation. Standards and primary references below define the relevant format, formula, or platform behavior.

Related Tools