Advertisement

Adler-32 checksum calculator

Compute the Adler-32 checksum of any text instantly. Adler-32 is the fast 32-bit checksum used inside zlib, shown as 8 hex characters.

Input

Adler-32 checksums are 8 hexadecimal characters. The fast checksum inside every zlib stream.

Nothing is uploaded. Everything is computed locally in your browser.
Adler-32 digest

The digest appears below in hexadecimal.

-
Advertisement

How Adler-32 works

Adler-32 keeps two running 16-bit sums modulo the prime 65521: s1 adds each byte, s2 adds each s1. The result is s2 in the high 16 bits and s1 in the low 16 bits. It needs only additions, so it runs noticeably faster than CRC32 on CPUs without CRC instructions, which is why zlib chose it.

Weaker than CRC32

Speed costs accuracy: Adler-32 is weaker than CRC32, especially on short inputs, where it can miss some error patterns that CRC32 catches. Zlib accepts the tradeoff because decompression itself validates structure. For standalone integrity checks, prefer CRC32 or SHA-256.

Adler-32 Checksum FAQs

What is the Adler-32 of '123456789'?
0x091E01DE, the standard check value for the zlib variant of Adler-32.
Where is Adler-32 used?
Inside zlib and gzip-compatible streams (RFC 1950): every zlib stream ends with an Adler-32 of the uncompressed data so the decoder can verify integrity.
Adler-32 vs CRC32?
Adler-32 is faster but weaker; CRC32 catches more error patterns. Zlib uses Adler-32 for speed, while ZIP, PNG and Ethernet use CRC32 for strength.
Why modulo 65521?
65521 is the largest prime below 65536. Using a prime modulus spreads the sums evenly and avoids the bias a power-of-two modulus would introduce.
Is Adler-32 secure?
No. Like CRC32 it is trivially forgeable and not collision resistant. It detects accidents, not attackers.
Advertisement