CRC32 Checksum Generator
Compute the CRC32 checksum of text — or drop in a file to checksum it, and paste a known hash to verify.
Input text
13 characters
Drop a file or click to hash its bytesComputes the CRC-32 checksum from the file contents, in chunks with progress
CRC-32 Hash (32-bit)
Decimal (unsigned)
About CRC32
CRC32 (Cyclic Redundancy Check) is a fast 32-bit checksum used to detect accidental data corruption in files, network packets, and archives like ZIP and PNG. It uses the standard IEEE polynomial (0xEDB88320) over the UTF-8 bytes of your input. CRC32 is for error detection, not security — it's easy to forge. Computed locally in your browser.
Built and maintained by Meet Shah · Last updated
What this tool is used for
- Checking a value against one stored in a ZIP or PNG structure, both of which use CRC32 internally.
- Detecting accidental corruption in a transfer where speed matters more than any security property.
- Producing a cheap change-detection key for a cache where an adversary is not in the picture.
- Reproducing a checksum from an embedded protocol that specifies CRC32.
- Comparing polynomial variants when a value from another tool refuses to match.
Frequently Asked Questions
- Is CRC32 a hash function?
- Not a cryptographic one. It is an error-*detecting* code: it reliably catches accidental corruption — flipped bits, a truncated transfer — and offers no resistance at all to deliberate tampering. Anyone can construct a different file with the same CRC in moments.
- Which polynomial does it use?
- The IEEE 802.3 polynomial, written as 0xEDB88320 in its reversed form. That is the variant used by ZIP, gzip, PNG and Ethernet, which is why the value here matches what `unzip -v` or a PNG chunk reports. CRC-32C (Castagnoli) is a different polynomial and gives different numbers.
- Why do two tools give me different CRC32 values?
- Because "CRC32" names a family. The polynomial, the initial value, whether input and output bits are reflected, and the final XOR all vary between implementations. Check the variant before assuming a mismatch means the file changed.
- How good is it at catching errors?
- Very, within its design: it detects every single-bit error, every double-bit error, any odd number of flipped bits, and any burst of 32 bits or fewer. Beyond that the chance of a random corruption slipping through is roughly one in four billion.
- When should I use SHA-256 instead?
- Whenever the question is "is this the file I expect" rather than "did the transfer break". Verifying a download against a published checksum, deduplicating content, or anything where an adversary might substitute the file all need a cryptographic hash.
- Is CRC32 suitable for detecting deliberate tampering?
- No — it is linear, so an attacker can adjust the data to preserve the checksum. It reliably catches accidental corruption, which is the job it was designed for and the only one it should be given.
Common errors and gotchas
- Using it against deliberate tampering. It is trivial to construct a different input with the same checksum.
- Comparing values across tools that use different polynomials or bit orders, then reading the mismatch as corruption.
- Assuming it is a hash function. It is an error-detecting code with none of the properties a hash promises.
- Overlooking whether the implementation reflects input and output, which changes the result entirely.
- Expecting 32 bits to be enough for deduplication at scale, where collisions arrive far sooner than intuition suggests.
Related Cryptography & Security tools
Password Generator
Generate strong, random passwords locally.
Hash Generator
Generate MD5, SHA-1, SHA-256, and SHA-512 hashes locally.
JWT Decoder
Decode JSON Web Tokens instantly and offline.
Bcrypt Generator
Generate and verify Bcrypt hashes with custom salt rounds.
MD5 Hash Generator
Generate an MD5 hash from any text.
SHA-1 Hash Generator
Generate a SHA-1 hash from any text.
SHA-256 Hash Generator
Generate a SHA-256 hash from any text.
SHA-512 Hash Generator
Generate a SHA-512 hash from any text.