CRC32 Checksum Calculator

Calculate the CRC-32 checksum used by zip, gzip and PNG, or CRC-32C, as hex, decimal or Base64.

Advertisement
What is CRC32?

A fast check for accidental corruption.

A cyclic redundancy check (CRC) treats the data as one long binary number and divides it by a fixed polynomial. The 32-bit remainder is the checksum. CRC-32 is good at catching flipped bits and burst errors, which is why zip, gzip, PNG and Ethernet use it.

CRC-32C (Castagnoli) uses a different polynomial that detects errors better and has its own CPU instruction. iSCSI, ext4, Btrfs, Amazon S3 and Google Cloud Storage use it. Neither one is a security hash: anyone can craft data with any CRC they like, so use SHA-256 when you need to detect tampering.

Read more on Wikipedia
FAQ

Frequently asked

Is CRC32 a secure hash?
No. It catches accidental corruption, like flipped bits or a truncated download, but anyone can craft data with a chosen CRC. Use SHA-256 when you need to detect tampering.
What is the difference between CRC-32 and CRC-32C?
They use different polynomials, so the same data gives different checksums. CRC-32 is the one in zip, gzip, PNG and Ethernet. CRC-32C (Castagnoli) detects more errors and has its own CPU instruction; iSCSI, ext4, Btrfs, Amazon S3 and Google Cloud Storage use it.
Why does my CRC look different in another tool?
Usually it's the format. This page shows hex, decimal (what Python's zlib.crc32() and PHP's crc32() return) and Base64 (how S3 and Google Cloud Storage send it). Also check the variant: PHP's hash('crc32') is the bzip2 CRC, and the standard one is hash('crc32b').
Copied to clipboard