What is CRC-32 and what is it used for? ▾
CRC-32 (Cyclic Redundancy Check, 32-bit) is a non-cryptographic checksum algorithm designed to detect accidental data corruption in transmission or storage. Despite the name 'hash,' CRC-32 is not a cryptographic hash — it is trivially possible to construct collisions, and the algorithm is reversible. CRC-32 is used in ZIP, PNG, GZIP, Ethernet, MPEG-2, SCTP, and many other protocols where you need to detect bit-flip errors but not malicious tampering.
How do I calculate a CRC-32 checksum online? ▾
Paste text into the input box or drop a file into the File tab on this page. The 8-character hexadecimal CRC-32 value appears instantly. The calculation uses the standard IEEE 802.3 polynomial 0xEDB88320 — the same one used by ZIP, PNG, GZIP, and most other CRC-32 applications.
Is CRC-32 secure for passwords or signatures? ▾
Absolutely not. CRC-32 is not a cryptographic function. Anyone can compute a CRC-32 in microseconds and trivially construct two different inputs with the same CRC-32 value. It must never be used for password hashing, digital signatures, message authentication codes, or any security-sensitive purpose. For security, use SHA-256 or HMAC-SHA-256. CRC-32 is designed for accidental error detection only.
CRC-32 vs MD5 — when to use which? ▾
Use CRC-32 for fast accidental error detection in storage or transmission: file format checksums (ZIP, PNG), network packets, RAM error detection. Use MD5 for non-cryptographic file fingerprinting, deduplication, or when you need a longer hash with better distribution properties. CRC-32 is roughly 10-50x faster than MD5 but has only 32 bits of output and is not collision-resistant against any adversary.
How long is a CRC-32 value? ▾
CRC-32 is exactly 32 bits = 4 bytes. In hexadecimal it is 8 characters. The empty string has CRC-32 = 00000000 (using the IEEE 802.3 polynomial with standard initial and final XOR values). The string '123456789' has CRC-32 = cbf43926, which is a well-known test vector.
Which CRC-32 polynomial does this tool use? ▾
This tool uses the standard IEEE 802.3 polynomial (also known as CRC-32/ISO-HDLC), with polynomial 0xEDB88320 (reversed representation), initial value 0xFFFFFFFF, output XORed with 0xFFFFFFFF, and reflected input/output. This matches the CRC-32 in ZIP archives, PNG files, GZIP, POSIX cksum, Ethernet, and most software implementations. It is sometimes called 'CRC-32' without qualification because it is so dominant.
Can two different files have the same CRC-32 checksum? ▾
Yes, and frequently. With only 32 bits of output (about 4.3 billion possible values), CRC-32 has the birthday-paradox collision probability of 1-in-65,536 once you have ~65,000 random inputs. Across millions of files, collisions are common. CRC-32 detects accidental single-bit errors and short bursts perfectly, but should not be used to uniquely identify files at scale — use SHA-256 for that.
How fast is CRC-32? ▾
CRC-32 is extremely fast — modern CPUs can compute it at 5-15 GB/s with the SSE4.2 crc32 instruction or PCLMULQDQ (Intel/AMD x86), and similar speeds with the ARM CRC32 extensions. Even in pure software using a precomputed lookup table, CRC-32 typically runs at 300-800 MB/s. This speed is why CRC-32 is used in network hardware and high-throughput protocols.