✅ CRC32 Checksum Calculator

Compute the CRC-32 (ISO-HDLC / zlib / PNG variant) checksum of any text. This is a separate algorithm from the MD5/SHA Hash Generator — CRC32 is fast and used for error-detection, not for cryptographic security.

Which CRC-32 this is

There are several incompatible CRC-32s. This one is CRC-32/ISO-HDLC, the variant used by zlib, gzip, PNG and ZIP archives, built from the reflected polynomial 0xEDB88320:

init      0xFFFFFFFF   (all bits set)
per byte  crc = table[(crc ^ byte) & 0xFF] ^ (crc >>> 8)
finish    crc ^ 0xFFFFFFFF

"123456789"                                 -> CBF43926
"The quick brown fox jumps over the lazy dog" -> 414FA339 = 1095738169

123456789 is the check value published in the CRC catalogue, so it is the quickest way to confirm any other implementation agrees with this page.

Reading the output

CRC32 detects accidental corruption, not tampering. Anyone can craft a different message with the same checksum in milliseconds, so use SHA-256 where it matters.

Frequently asked questions

Why does another tool give me a different CRC32?

It is probably computing a different variant. CRC-32/BZIP2 and CRC-32/MPEG-2 are unreflected, and CRC-32C (Castagnoli, used by iSCSI, ext4 and several databases) uses another polynomial entirely. This page matches zlib, so a value from crc32 in Python, PHP or Java will line up.

How likely are two inputs to share a CRC32?

For a single pair, about 1 in 4.3 billion. Across a set it is the birthday problem - past roughly 77,000 values the odds of some collision pass 50%, which is why CRC32 is a poor primary key for a large table.

Can CRC32 be used to store passwords?

Never. It is a 32-bit error-detecting code with no secret and no work factor; reversing one to a matching string is a brief brute-force. Passwords need bcrypt, scrypt or Argon2.