Adler-32 Checksum

Compute the Adler-32 checksum used by zlib / PNG.

Open tool

Overview

The Adler-32 checksum calculator turns any text or byte sequence into a fast 32-bit fingerprint used by zlib, PNG chunks, and other compression formats. Paste a string, get a hex value back instantly — useful when you need to verify a payload survived a copy/paste, a network hop, or a file round-trip.

It is the go-to choice when developers need a quick adler-32 hash online without spinning up a script. Game modders unpacking assets, embedded engineers debugging zlib streams, and anyone reverse-engineering PNG IDAT blocks will find it faster than wiring up zlib.adler32() locally.

How it works

Adler-32, defined in RFC 1950, builds two running sums, A and B, modulo the largest prime under 2^16 (65521). A is the running total of every byte (starting at 1); B is the running total of every intermediate A value. The final checksum is (B << 16) | A. It is not cryptographic — collisions are trivial to construct — but it is roughly an order of magnitude faster than CRC-32 and detects most random transmission errors.

Examples

Input:  "Wikipedia"
Output: 0x11E60398
Input:  ""           (empty string)
Output: 0x00000001
Input:  "abc"
Output: 0x024D0127
Input:  "The quick brown fox jumps over the lazy dog"
Output: 0x5BDC0FDA

FAQ

Is Adler-32 secure?

No. It is an error-detection checksum, not a cryptographic hash. Two different inputs can be crafted to share the same Adler-32 in seconds, so never use it for integrity verification against an adversary.

When should I pick Adler-32 over CRC-32?

When raw speed matters more than detection power. zlib uses Adler-32 because it is computed many times per second during streaming compression. For file integrity over noisy channels, CRC-32 catches more burst errors.

Why does the empty string give 1?

The algorithm starts A at 1 by design, so an empty input simply returns the initial state.

Can I checksum binary data, not just text?

Yes. Internally the input is treated as raw bytes. If you paste UTF-8 text, the bytes of that encoding are summed; for binary files, hex or base64 input works the same way.

Try Adler-32 Checksum

An unhandled error has occurred. Reload ×