CRC32 Generator
Compute the CRC32 checksum of any text as both hex and decimal, using the same polynomial as ZIP, PNG and gzip. Runs entirely in your browser.
Worked examples
- A pangram sentence
A standard test string for comparing CRC32 output against a known-correct reference implementation, such as zlib's crc32().
- Empty input
CRC32 of an empty message is always zero — a quick sanity check that an implementation is wired up correctly.
- A short word
CRC32 is what ZIP files, PNG chunks and many network protocols use for fast error-detection checksums — this is the same algorithm.
What this tool does
CRC32 (Cyclic Redundancy Check, 32-bit) is a checksum algorithm designed to catch accidental data corruption quickly and cheaply. This tool computes the CRC32 checksum of text in both hexadecimal and decimal form, entirely in your browser, using the same standard polynomial as ZIP, PNG and gzip.
When you need it
- Verifying that a piece of text matches a CRC32 value reported elsewhere — a ZIP archive's per-file checksum, a PNG chunk's integrity field, or a protocol's error-detection field.
- Reproducing a known test vector when implementing or debugging CRC32 in another language or library.
- Quickly comparing two versions of a short string for accidental differences, where a full cryptographic hash would be more than necessary.
- Understanding what the CRC32 field in a file format specification or network protocol actually represents, by computing it directly.
How CRC32 differs from a cryptographic hash
CRC32 and functions like SHA-256 both take arbitrary input and produce a fixed-size output, but they're built for different jobs. CRC32 is optimized for speed and for reliably catching the kind of errors that happen naturally — a flipped bit from noise on a wire, a truncated file, a disk read error. It is not designed to resist someone deliberately trying to produce a collision; constructing two different inputs that produce the same CRC32 is straightforward for anyone who wants to. A cryptographic hash function is specifically engineered to make that computationally infeasible.
This is why CRC32 shows up throughout everyday file formats and network protocols — Ethernet frames, ZIP archives, PNG images, gzip streams — where the goal is catching accidental corruption cheaply and fast, not resisting a deliberate attacker.
Reading the output
CRC32 always produces a 32-bit value, shown here in two equivalent forms: 8 hex digits (the form most file formats and tools display, like 414fa339) and its decimal equivalent (like 1095738169). Both represent the exact same number — use whichever matches the format of the reference value you're comparing against. An empty input always produces a checksum of zero, which is a quick way to sanity-check that an implementation is wired up correctly before testing it against real data.
When to use something else instead
If you need to verify that a file or message hasn't been deliberately tampered with — not just accidentally corrupted — CRC32 is the wrong tool, because forging a matching checksum is easy. Use the Hash Generator's SHA-256 option instead for anything where you need to detect intentional modification, such as verifying a downloaded file against a publisher's published checksum, or building any kind of integrity check that needs to survive an adversarial environment.
Limits
Input is capped at 2 MB of text. This computes CRC32 over the exact bytes of the text you provide (as UTF-8); to checksum an actual binary file, you'd need a file-based tool, since opening a binary file as text can change its byte content.
Frequently asked questions
- Is my text uploaded anywhere?
- No. The checksum is computed entirely in your browser; nothing is sent to a server.
- What is CRC32 used for?
- Fast error detection, not security — it's the checksum algorithm behind ZIP archives, PNG image chunks, gzip and many network protocols, chosen for speed rather than cryptographic strength.
- Is CRC32 safe for verifying file integrity against tampering?
- No. CRC32 catches accidental corruption well but is trivial to forge deliberately — use SHA-256 from the Hash Generator if you need a checksum that resists intentional tampering.
- Why is the decimal value sometimes very large?
- CRC32 produces a 32-bit unsigned value, so the decimal form can be anywhere from 0 to 4,294,967,295 — the hex form is usually easier to compare against other tools' output.