🔢 Checksum Algorithms
🎨 Output Format
📝 Input Text
📊 Checksum Results
📊 Checksum Results
Select algorithms and enter text to calculate checksums...
ℹ️ Algorithm Information
ℹ️ About Checksum Calculation
A checksum is a deterministic value calculated from the bytes of a message, file, archive member, or record. It is used to make accidental data changes visible: when the input bytes change, the checksum should usually change too. This calculator works on the UTF-8 bytes of the text you enter and can return results as lowercase hex, uppercase hex, decimal, or binary values.
Use checksums for quick data-integrity verification: compare a download with a published checksum, confirm that a backup or database export did not change during storage or transfer, check archive and compressed-stream integrity, validate manifest records, or compare protocol test vectors while debugging an implementation.
Algorithm details:
- CRC32/CRC32B are 32-bit cyclic redundancy checks. They are common in archive formats, compressed streams, network protocols, and file-verification manifests. CRC variants can differ by polynomial, initial value, reflection, and final XOR, so match the exact variant expected by the system you are checking.
- CRC-16 is a shorter cyclic redundancy check used by many embedded, serial, and legacy protocols where a 16-bit error-detection field is expected.
- Adler-32 keeps two modulo-65521 sums and is the checksum used by zlib streams. It is fast and compact, but it is generally weaker than a well-chosen CRC for some short inputs.
- Fletcher-16/Fletcher-32 use two rolling sums. They are simple error-detecting checksums for non-adversarial data corruption tests.
- FNV-1/FNV-1a and Jenkins one-at-a-time are non-cryptographic hash functions often used for quick fingerprints, hash tables, and duplicate checks where speed matters more than adversarial collision resistance.
- MD5 and SHA-256 are digest algorithms included for workflows that call any digest a checksum. SHA-256 is the safer choice for modern integrity checks; MD5 is retained for legacy checksum comparison only.
Examples:
- The sample text
Hello, World!produces CRC32ec4ac3d0, Adler-321f9e046a, Fletcher-32aa7a2c41, FNV-1a 32-bit5aecf734, and SHA-256dffd6021bb2bd5b0af676290809ec3a53191dd81c7f70a4b28688a362182986fin hexadecimal. - If a release page, archive manifest, or protocol fixture publishes a checksum, calculate the same algorithm for the same bytes and compare the result exactly, including leading zeroes and uppercase/lowercase formatting when the other system is strict.
Limitations and security: Checksums are compact fingerprints, not proof of authenticity. CRC, Adler-32, Fletcher, FNV, and Jenkins hashes are not cryptographic and should not be used for signatures, password storage, tamper-proof audit trails, or adversarial input. MD5 and SHA-1 are legacy collision-broken hashes; prefer SHA-256, SHA-512, or HMAC when you need stronger protection against intentional modification.
Privacy note: Interactive calculations run in your browser. If you use the public API example, the text is sent to the server for processing, so avoid pasting secrets unless that is intentional.
Sources: RFC 1950 defines the zlib format and Adler-32 checksum, RFC 1952 documents gzip CRC-32 usage, the zlib checksum API documents Adler-32 and CRC-32 functions, the CRC RevEng catalogue lists CRC parameter variants, and the FNV draft describes the FNV non-cryptographic hash family.
API Usage Example:
POST /api/tools/crypto/checksum
Content-Type: application/json
{
"text": "Hello World",
"algorithms": [
"crc32",
"adler32",
"fletcher32"
],
"outputFormat": "hex"
}