About the CRC-32 Hash Generator
CRC-32 is the checksum baked into zip and gzip archives, PNG chunks, Ethernet frames and countless database page headers. It produces eight hexadecimal characters, or an unsigned integer somewhere below 4.3 billion, and it is fast enough that most systems compute it in passing rather than as a separate step. What it buys you is confidence that a stored or transmitted block came back the way it went in.
Two polynomials matter in practice and both are here. The IEEE 802.3 polynomial, written in its reflected form as 0xEDB88320, is what a zip directory entry, a PNG chunk trailer and the gzip footer all record. The Castagnoli polynomial 0x82F63B78, known as CRC-32C, has better error detection properties for the block sizes storage systems care about and was picked up by iSCSI, SCTP, ext4 metadata and several column stores. Modern processors carry a dedicated instruction for it, which is part of why it spread. The two never agree on a value, so a mismatch between tools is usually just a polynomial mismatch.
Results here can be shown as lowercase hex, uppercase hex or an unsigned decimal number, since archive tooling and database catalogues disagree about which they print. Input is encoded as UTF-8 before the register is clocked. If you need the checksum of a real file rather than pasted text, load it with the Upload button or move to the Checksum Calculator, which reports several algorithms at once. For a shorter register see the CRC-16 Hash Generator, and for tamper evidence rather than corruption detection use SHA3-256.
How to use
- Drop the filename, record or payload you want a checksum for into the left pane.
- Leave the variant on IEEE for zip, gzip and PNG, or switch to CRC-32C for iSCSI and modern storage formats.
- Choose Unsigned decimal when the value is going into a database column.
- Copy the eight character checksum, or press Upload to run the same calculation over a file.
Common questions
- Is this the same value zip stores?
- Yes, when the IEEE variant is selected and the input bytes match the uncompressed file exactly. Zip records that CRC in the local header and again in the central directory.
- What is the difference between CRC-32 and CRC-32C?
- Only the generator polynomial. CRC-32C detects certain multi-bit error patterns more reliably and has hardware support on x86 and ARM, which is why newer formats adopted it.
- How likely is a collision?
- Two unrelated inputs share a value roughly once in four billion, and collisions can be constructed deliberately in seconds, so treat it purely as a corruption check.
- Why does my result start with zeros?
- A leading zero is a normal part of an eight digit hex value. Some tools strip it and print a shorter string, which makes the two look different when they are not.