CRC-32 Calculator Online: CRC-32, CRC-32C and More
Calculate the CRC-32 of text, hex bytes or a file in your browser. CRC-32, CRC-32C, BZIP2, MPEG-2 and POSIX cksum side by side, in hex and decimal. Nothing is uploaded.
- CRC-32
- 00000000
- Decimal 0
- CRC-32C
- 00000000
- Decimal 0
- CRC-32/BZIP2
- 00000000
- Decimal 0
- CRC-32/MPEG-2
- ffffffff
- Decimal 4294967295
- CRC-32/CKSUM
- ffffffff
- Decimal 4294967295
About the CRC-32 calculator
This page calculates the CRC-32 of text, hex bytes or a file in your browser. CRC-32 is the 32-bit cyclic redundancy check inside Zip archives, gzip, PNG images and every Ethernet frame, and it is the checksum most often published next to firmware images and ROM dumps. Five different 32-bit CRCs are in common use, so this page lists all of them side by side: CRC-32, CRC-32C, CRC-32/BZIP2, CRC-32/MPEG-2 and CRC-32/CKSUM. Each is shown as eight hex digits and as a decimal number. Nothing is uploaded, and your data never leaves your device.
How to get a CRC-32
Steps
- Type or paste text, switch to Hex to paste raw bytes, or press Choose file for a file of up to 50 MB.
- Read the CRC-32 row for the Zip and PNG checksum. Press Copy CRC-32 to copy it.
- If the value you expect does not match, look at the other 32-bit rows: a different variant is the usual reason.
- Turn on Upper case to match tools that print capitals, and use the decimal value for systems that store the CRC as a number.
Which CRC-32 do you need?
CRC-32 (ISO-HDLC)
The classic CRC-32: polynomial 0x04C11DB7, reflected, initial value and final XOR 0xFFFFFFFF. Used by Zip, gzip, PNG, Ethernet and most programming-language crc32 functions, including PHP, Python's zlib.crc32 and Java's CRC32. Its check value is cbf43926.
CRC-32C (Castagnoli)
Polynomial 0x1EDC6F41, with better error detection for longer messages. Used by iSCSI, SCTP, ext4 and Btrfs metadata, and computed in hardware by the SSE 4.2 crc32 instruction. Its check value is e3069283.
BZIP2, MPEG-2 and CKSUM
These use the same polynomial as CRC-32 without reflection. CRC-32/BZIP2 is found in bzip2 archives, CRC-32/MPEG-2 in MPEG transport streams and DVB tables, and CRC-32/CKSUM is the algorithm of the POSIX cksum command. Note that cksum also feeds the file length into the CRC, so its printed number differs from the plain CRC of the content shown here.
What CRC-32 can and cannot do
A CRC-32 reliably detects accidental damage: every single-bit error, every burst of up to 32 bits and nearly all larger random corruption. It is not a cryptographic hash. Because it is linear, anyone can alter a file and restore the same CRC-32 on purpose. To check that a download is authentic, compare its SHA-256 from the Hash Generator with a value from the publisher.
Related tools
The full CRC Calculator covers the 8, 16 and 64-bit presets and custom models. To inspect the exact bytes you are checking, use Text to Hex. For a fingerprint that resists tampering, use the SHA-256 hash page.
Open-source credits
- The CRC engine is written for this site and follows the Rocksoft parameter model in Ross Williams' A Painless Guide to CRC Error Detection Algorithms.
- The parameters and check values of every preset come from Greg Cook's Catalogue of parametrised CRC algorithms in the CRC RevEng project, and the tests assert each published check value.
- The tool uses no third-party library.