Skip to content

Adler-32 Checksum Calculator

Compute the Adler-32 checksum used by zlib and read it as hex, decimal, Base64 and as its two internal sums.

Processed locally in your browser

Options
0 chars · 0 lines
The result will appear here.

What is Adler-32 Checksum Calculator?

Adler-32 is a 32-bit checksum invented by Mark Adler. It keeps two 16-bit sums modulo 65521: A starts at 1 and adds every byte, B adds up every intermediate value of A. The result is B shifted left by 16 bits, combined with A. It is the trailer of every zlib stream, used by rsync and many archive formats.

The tool encodes your text as UTF-8 (or reads hex bytes), computes the checksum with a WebAssembly implementation and shows the hex value, the unsigned decimal number and the separate A and B values. The Adler-32 of "Wikipedia" is 11e60398.

How does it work?

  1. Type text, or switch the input type to hex bytes and paste them.
  2. Read the 8-character hex checksum in the result box.
  3. Check the rows below for the decimal value and the A and B components.
  4. Pick Base64 output or uppercase letters if your target format needs them.

Common use cases

  • Verifying the Adler-32 trailer at the end of a zlib or deflate stream when debugging compression code.
  • Cross-checking your own Adler-32 implementation against the reference value for "Wikipedia".
  • Understanding why Adler-32 is weak on short messages by looking at how small the A and B sums stay.
  • Computing a fast change-detection value for small chunks of data.

Examples

Try this input in the tool above:

Input
Wikipedia
Output
11e60398

Privacy

Adler-32 Checksum Calculator runs entirely in your browser. The text or files you provide are processed on your device and are not uploaded, logged or stored on our servers.

Limitations

Adler-32 is weaker than CRC-32 on short inputs (A and B barely grow) and offers no protection against tampering. Use SHA-256 when integrity against an attacker matters.

Frequently asked questions

What is the Adler-32 of an empty input?

00000001, because A starts at 1 and B starts at 0. That is why an empty zlib stream carries the trailer 00 00 00 01.

How does Adler-32 differ from CRC-32?

It uses two simple sums instead of polynomial division, which makes it faster but less sensitive to small changes in short data. Use the CRC-32 calculator when the format requires CRC.

Why do I see A and B values?

The low 16 bits of the checksum are A and the high 16 bits are B. Showing them helps when you implement or debug the algorithm by hand.

More tools in Hash & Checksum →