Hash & Security

CRC32 Hash Generator

Turn any text into its 8-character CRC-32 checksum instantly.

Rate this tool

How to use the CRC32 Hash Generator

  1. Type or paste your text in the box.
  2. Pick the variant — CRC-32B is the standard one you almost always want.
  3. The checksum appears as you type; click Copy to grab it.

About the CRC32 Hash Generator

CRC-32 is a cyclic redundancy check, not a hash in the cryptographic sense. It treats your data as one enormous binary number, divides it by a fixed polynomial, and keeps the remainder — 32 bits, written as 8 hexadecimal characters. That maths is what makes it good at its actual job: catching accidental damage, and burst errors in particular, where a run of consecutive bits gets flipped by a bad cable, a scratched disc or a noisy radio link. It is the check built into zip, gzip, PNG and Ethernet frames.

One detail trips people up constantly. PHP exposes two names, and they do not give the same answer for the same input. crc32b is the standard CRC-32 that matches zip, gzip and PNG — that is the one you want when you are comparing against a checksum some other tool printed. crc32 is the BZIP2 variant, which uses the same polynomial but a different bit ordering, so the digits come out completely different. If your checksum “doesn’t match”, this is nearly always why. The third option, CRC-32C, uses the Castagnoli polynomial: it has measurably better error-detection properties and it is implemented directly in hardware by the SSE4.2 instruction set, which is why storage-heavy systems like iSCSI, ext4 and Btrfs picked it.

A CRC is not a security tool and cannot be made into one. It is a linear function, which means an attacker who changes your data can work out exactly which bytes to tweak to land back on the original checksum — no brute force required, just arithmetic. A CRC tells you the file survived the journey; it tells you nothing about whether anyone meddled with it on the way. For that you need a real cryptographic hash such as SHA-256, and even MD5 is far stronger than a CRC despite being broken itself.

Frequently asked questions

Why do CRC-32 and CRC-32B give different results?

They are different variants. CRC-32B is the standard one used by zip, gzip and PNG; CRC-32 in PHP is the BZIP2 variant, which orders the bits differently. Same input, different output — pick CRC-32B unless you specifically need BZIP2.

Why is a CRC-32 always 8 characters?

The result is always 32 bits, and each hex character carries 4 bits, so every CRC-32 is exactly 8 characters however big the input is.

Can I use CRC-32 for passwords or signatures?

No — never. CRC-32 is designed to catch accidental errors, not deliberate ones, and it is trivial to forge: anyone can adjust a few bytes to force any checksum they like. Use bcrypt for passwords and SHA-256 for signatures.

What is CRC-32C for?

CRC-32C uses the Castagnoli polynomial, which detects more error patterns, and modern CPUs compute it in hardware via SSE4.2. That combination is why iSCSI, ext4 and Btrfs use it for on-disk and on-the-wire integrity checks.

Is my text sent anywhere?

Your text is sent to our server to be checksummed, because browsers cannot compute CRC-32. It is processed and immediately discarded — never logged, never stored.