>_devtools

Checksum Calculator (CRC32, CRC64, Adler-32)

Compute CRC32, CRC32C, CRC64 (ECMA-182, XZ, ISO) and Adler-32 checksums of text or files, with a streaming file mode.

What this does

Calculates CRC32, CRC32C, three CRC64 variants and Adler-32 for text, raw bytes or a file of any size. Each result is shown in hex and decimal, and you can paste an expected value to check it. Files are read in chunks in a background worker with a progress bar.

Which variant is which

  • CRC32 is CRC-32/ISO-HDLC, the one in zip, gzip, PNG and Ethernet.
  • CRC32C is the Castagnoli polynomial used by iSCSI, ext4, Btrfs and Kafka; it detects more errors than CRC32 and has hardware support on modern CPUs.
  • CRC64-ECMA is CRC-64/ECMA-182 as written in the standard (no reflection, zero start value). CRC64-XZ is the same polynomial reflected with inverted start and end values, as used by xz and Go's ECMA table. CRC64-ISO is the ISO 3309 polynomial as in Go's ISO table. They give different answers for the same input, so match the variant to the system you are comparing with.
  • Adler-32 is the checksum at the end of every zlib stream; it is faster than CRC32 but weaker on short inputs.

Check values

For the ASCII text 123456789 the results are CRC32 cbf43926, CRC32Ce3069283, CRC64-ECMA 6c40df5f0b497347, CRC64-XZ995dc9bbdf1939fa, CRC64-ISO b90956c775a41001 and Adler-32091e01de. The "Load example" button fills that input.

Limits

Checksums detect accidental corruption only. They are linear and unkeyed, so anyone can construct data with a chosen CRC. For integrity against an attacker use thehash generator or HMAC.

Privacy

Computation happens in your browser. Nothing is uploaded.