Adler-32 Checksum
Compute the Adler-32 checksum used by zlib / PNG.
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.