Tooleux

Adler-32

Adler-32 (2)

Compute the Adler-32 checksum of any text.

Runs in your browser. Nothing leaves your device.
Calculate Adler-32 checksums of text. Free, offline, runs entirely in your browser. Read more Show less

What is Adler-32?

Adler-32 is a 32-bit checksum designed by Mark Adler in 1995 as part of the zlib compression library. It is faster than CRC-32 on short inputs and is used in the zlib stream format (RFC 1950) where it appears as a 4-byte trailer.

The algorithm maintains two 16-bit sums: A is the running sum of all bytes plus 1, and B is the running sum of A. The final result is B shifted left by 16 bits, combined with A. It is simple, fast, and works well on almost any CPU.

Adler-32 is weaker than CRC-32 at detecting certain classes of errors. It misses some transpositions and burst errors that CRC-32 catches. It is fine for the compressed payload of a zlib stream, where a stronger CRC-32 usually guards the outer container.

How to compute Adler-32

Type or paste text into the input box. The tool computes Adler-32 over the UTF-8 bytes. Choose Hex or Decimal output.

For example, the UTF-8 text abc produces:

024d0127

When not to use it

Adler-32 is not a cryptographic hash and provides no protection against intentional modification. Anyone can craft two different files with the same Adler-32. If you need integrity against an attacker, use SHA-256 or HMAC.

FAQ

Adler-32 vs CRC-32

Adler-32 is faster on short inputs and simpler to compute. CRC-32 detects a wider range of error patterns and is used when integrity matters more than speed. Both are non-cryptographic. See the CRC-32 tool for comparison.

Why does the same text produce a different checksum in another tool?

Check input encoding (UTF-8 vs UTF-16 vs raw bytes), line endings, and any trailing whitespace. Adler-32 changes for every byte difference.

Is Adler-32 stable across platforms?

Yes. It is defined entirely in terms of the input bytes and the modulus 65521. There is no endianness or architecture dependence.

Where is Adler-32 used in practice?

In the zlib container format (RFC 1950), used by PNG images, HTTP content encoding, and the Python zlib module. Also in some versions of the rsync algorithm.

Loads a test value into the form
Input
Adler-32