✅ 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
- Hex and decimal are the same 32-bit number. Hex is padded to eight uppercase digits, so a checksum starting with a zero still shows all eight.
- The text is hashed as UTF-8 bytes. The "input length" row counts characters instead, so an emoji counts 2 there but contributes 4 bytes to the checksum. Bare text only - there is no file upload, and nothing you type leaves the browser.
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.