CRC32 Generator
Instantly generate CRC32, CRC32C, BZIP2, MPEG-2 and other checksums for text, files, hex or Base64 – 100% client-side.
Updated
What is the CRC32 Generator?
CRC32 is the workhorse of data integrity – used in ZIP, PNG, Ethernet, MPEG-2, Btrfs, and thousands of protocols. This generator calculates it instantly in your browser, with no uploads — your file never leaves your device.
Unlike basic tools that only support the IEEE polynomial, this version covers the full family:
- CRC-32 (IEEE 802.3) – the classic 0xEDB88320 polynomial
- CRC-32C (Castagnoli) – faster error detection for storage and networking
- CRC-32/BZIP2, CRC-32/MPEG-2, JAMCRC, CRC-32K, CRC-32Q – for cross-platform compatibility
Why use it:
- 100% client-side – files never leave your device
- Multiple input modes: type text, paste hex, decode Base64, or drag-and-drop a file
- Choose encoding (UTF-8, ASCII, Latin-1, UTF-16LE/BE) to match your system
- See results as hex, unsigned decimal, signed decimal, binary, and Base64
- Batch mode for checking many lines at once, plus compare mode to verify matches
- Live updates with clear error messages for malformed input
Perfect for developers debugging protocols, QA teams validating builds, and anyone who needs a trustworthy checksum in seconds.
How it works
CRC32 treats your data as a long binary number and divides it by a fixed 33-bit polynomial. The remainder – a 32-bit value – is your checksum. Change one bit in the input and the checksum changes dramatically, making it ideal for detecting accidental corruption.
Each variant differs by five parameters:
- Polynomial – the divisor (reflected or normal)
- Initial value – starting CRC (usually 0xFFFFFFFF or 0x00000000)
- RefIn/RefOut – whether bytes are processed bit-reversed
- XorOut – final XOR applied
Using the generator
- Pick a variant – IEEE for ZIP/PNG, CRC32C for modern storage, BZIP2/MPEG-2 for media tools.
- Choose input type:
- Text – select encoding to match your source (UTF-8 is default)
- Hex – paste raw bytes like
48656c6c6f - Base64 – paste encoded data
- File – drag and drop; the file is read locally via FileReader
- View results – the tool computes the CRC in a single pass using a precomputed 256-entry lookup table for speed.
- Format output – toggle uppercase and 0x prefix. Copy any format with one click.
- Batch & Compare – enable Batch to get a checksum per line, or Compare to test two inputs for equality.
All calculations happen in WebAssembly-free JavaScript, so even multi-megabyte files process in milliseconds on your device.
Examples
CRC-32 IEEE test vector
Verify the standard CRC32 using the classic test string
CRC-32C (Castagnoli)
Generate the Castagnoli checksum used by iSCSI, Btrfs and SCTP
File checksum for Hello
Calculate CRC32 for the word Hello from hex input
Frequently asked questions
What is CRC32?
What is CRC32?
CRC32 (Cyclic Redundancy Check 32-bit) is a checksum algorithm that produces an 8-character hex value from any data. It is designed to detect accidental changes – not to be cryptographically secure. It is widely used in ZIP archives, PNG images, Ethernet frames, and many file formats.
What is the difference between CRC32, CRC32C, and CRC32-BZIP2?
What is the difference between CRC32, CRC32C, and CRC32-BZIP2?
They use different polynomials and settings. CRC-32 (IEEE) uses reflected polynomial 0xEDB88320 with init 0xFFFFFFFF and final xor 0xFFFFFFFF. CRC-32C (Castagnoli) uses 0x82F63B78 and is better at detecting certain errors, which is why it is used in iSCSI, SCTP, Btrfs, and ext4. CRC-32/BZIP2 uses the non-reflected polynomial 0x04C11DB7 with no input reflection. Using the wrong variant gives a completely different value.
Why does my CRC32 not match another online tool?
Why does my CRC32 not match another online tool?
Three common causes: 1) Different variant – many sites default to CRC32-BZIP2 or JAMCRC. 2) Different encoding – UTF-8 vs UTF-16 or Windows-1252 changes the bytes. 3) Hidden characters – newlines, BOM, or trailing spaces. This tool shows the exact variant parameters and lets you choose the encoding to match.
What is the CRC32 of an empty string?
What is the CRC32 of an empty string?
For CRC-32 IEEE it is 0x00000000. That is because init (0xFFFFFFFF) xor final (0xFFFFFFFF) cancels out. For CRC-32/MPEG-2 it is 0xFFFFFFFF, and for JAMCRC it is 0xFFFFFFFF, because their xorout values differ.
Can I calculate CRC32 for a file without uploading it?
Can I calculate CRC32 for a file without uploading it?
Yes. Drag and drop any file and it is read with the browser FileReader API. The bytes never leave your computer. This works for binaries, images, videos, and archives up to hundreds of megabytes.
Which text encoding should I choose?
Which text encoding should I choose?
Use UTF-8 for web, JSON, and modern systems. Use ASCII for 7-bit protocols. Use Latin-1 for legacy European text. Use UTF-16LE for Windows internal strings, and UTF-16BE for some network protocols. If you are matching a checksum from another tool, replicate its encoding exactly.
Is CRC32 secure for passwords or digital signatures?
Is CRC32 secure for passwords or digital signatures?
No. CRC32 is fast and linear, so attackers can easily craft collisions. For security use SHA-256, BLAKE3, or other cryptographic hashes. Use CRC32 only for error detection, not for authentication.
How do I get the same result as Linux crc32 or Python zlib.crc32?
How do I get the same result as Linux crc32 or Python zlib.crc32?
Select variant CRC-32 (IEEE), input type Text, encoding UTF-8, and ensure no newline. Python's zlib.crc32(b'123456789') & 0xffffffff equals 0xCBF43926, which matches this tool's output.
Does this tool support batch processing?
Does this tool support batch processing?
Yes. Turn on Batch mode and paste one value per line. The tool returns a table with the checksum for each line, which is useful for verifying lists of filenames, hashes, or test vectors quickly.
Related tools
More utilities you might find handy.
API Key Generator
Generate cryptographically secure API keys, tokens, and secrets in your browser. Hex, Base62, Base64URL, UUID, custom charset, prefixes, and bulk export.
Bcrypt Hash Generator
Generate and inspect bcrypt password hashes locally in your browser.
File Hash Checker
Compute MD5, SHA-1, SHA-256, SHA-384 and SHA-512 hashes of files or text entirely in your browser with no upload.