Adler-32
Compute the Adler-32 checksum of any text.
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.