zlib · rsync · non-cryptographic

Adler-32 checksum

Adler-32 is a simple, fast checksum used in zlib compression and rsync. Splits into two 16-bit accumulators mod 65521. Weaker error detection than CRC-32 but faster to compute. Pure JavaScript.

0 chars
Adler-32
 

How to use this tool

  1. Type or paste text into the Input text box — the Adler-32 checksum appears instantly below as an 0x-prefixed, 8-digit hex value.
  2. Use Copy to copy the checksum to your clipboard.
  3. Tick the Show decimal checkbox to also see the raw 32-bit value in decimal.
  4. The character count updates live, so you can see exactly how much data you're checksumming.
  5. Use Clear to reset the input and start over.

Why this tool is helpful

Verify zlib & gzip data

Adler-32 is the checksum used inside zlib streams (RFC 1950). Compute it to cross-check values embedded in compressed or wrapped data.

Work with rsync checksums

rsync uses an Adler-32-based rolling checksum for fast file-difference detection. Reproduce its values to debug syncs and understand how transfers stay consistent.

Quick integrity checks

For short payloads, Adler-32 is faster than CRC-32. Use it for lightweight, non-cryptographic corruption detection where speed matters.

Compare tradeoffs vs CRC-32

Generate both checksums side by side to see the classic speed-vs-strength tradeoff and pick the right one for your data.

Learn the algorithm

See the two 16-bit accumulators modulo 65521 in action — a clean example of a checksum you can trace by hand.

Stay private

Everything runs in your browser. Nothing is uploaded, logged, or sent to a server — safe for sensitive inputs.

FAQ

What is Adler-32?

Adler-32 is a 32-bit checksum defined in RFC 1950 for zlib. It splits data into two 16-bit accumulators, A and B, both reduced modulo the prime 65521.

How does the algorithm work?

Start with A = 1 and B = 0. For each unit of input, add its value to A (mod 65521), then add A to B (mod 65521). The final checksum is (B << 16) | A.

Is Adler-32 the same as CRC-32?

No. Adler-32 is faster to compute but has weaker error detection, especially for short or similarly-shaped inputs. CRC-32 is more reliable for larger data and is the default in formats like gzip.

Is it a cryptographic hash?

No. Adler-32 offers no collision resistance or security and is easily reversed. Use SHA-256 or another cryptographic hash when you need to verify authenticity or detect tampering.

Does it match zlib's Adler-32 exactly?

For ASCII text, yes — each character is hashed directly, matching the byte-wise value. For non-ASCII text like emoji, this tool hashes UTF-16 code units rather than UTF-8 bytes, so the result can differ from a byte-oriented implementation.

Does any of my data leave my browser?

Never. All checksumming happens locally in JavaScript. Your input is not sent to, stored on, or logged by any server.