CRC32 Checksum Generator

Generate a CRC32 checksum, the fast error-detection code used in zip archives and PNG files.

Text
Hash
Runs locally in your browser

About the CRC32 Checksum Generator

CRC32 is a 32-bit cyclic redundancy check, an error-detection code rather than a cryptographic hash. It is fast and good at catching accidental corruption, which is why zip, gzip, PNG and Ethernet frames use it to verify data. This tool computes the standard CRC32 (as used by zip and PNG) from your text, giving eight hexadecimal characters.

A CRC is polynomial division rather than hashing. The message is treated as a polynomial over GF(2) and divided by a fixed polynomial, 0xEDB88320 in its reflected form, with the remainder kept as the checksum. That algebra gives it a guarantee no hash can offer: it catches every burst error up to 32 bits long, and every single or double bit flip in a frame of realistic size. It is not merely good at spotting corruption, it is provably complete for those error classes.

The gotcha is that CRC32 is not one algorithm. The zip, gzip and PNG variant computed here reflects both input and output and inverts at each end, while CRC-32C, used by iSCSI and by ext4 metadata, runs a different polynomial entirely and returns a different answer for identical bytes. When a value refuses to match, check which variant the other side computes before concluding the data is damaged. CRC32 must never be used for security: it is trivial to craft data with a chosen CRC, and collisions are easy to find. It is only for detecting accidental changes. For integrity that resists tampering, use SHA-256, and to line a computed value up against a published one, Checksum Compare.

How to use

  1. Paste text.
  2. Copy the CRC32 checksum.
  3. Compare it against the expected value to detect corruption.

Common questions

Is CRC32 a secure hash?
No. It detects accidental errors only. Anyone can craft data with a given CRC32.
Does this match the CRC32 in a zip file?
Yes, it uses the same standard polynomial as zip, gzip and PNG.
Why only eight characters?
CRC32 is 32 bits, which is eight hexadecimal digits.