Adler-32 Calculator

Calculate the Adler-32 checksum of any text and get the 8-character hexadecimal result, the fast, simple checksum used inside zlib and the DEFLATE-based .zlib/.gz stream format. A free online tool from Staaarter, right in your browser.

Runs locallyUpdated 2026-07-22

Overview

Introduction

Adler-32 was designed as a faster-to-compute alternative to CRC32 for the same job, accidental-corruption detection, and it's the checksum quietly wrapped around every zlib-compressed data stream.

This tool computes Adler-32's checksum of any text you provide, entirely in your browser, matching the same value zlib, PNG, and PDF tooling would compute.

What Is Adler-32 Calculator?

Adler-32 is a checksum algorithm designed by Mark Adler (co-author of zlib) and specified in RFC 1950, producing a 32-bit result shown here as 8 hexadecimal characters.

It works by maintaining two running sums modulo the prime 65521, one a simple sum of all bytes, the other a sum of the running sums, then packing both into the high and low 16 bits of the final 32-bit checksum.

How Adler-32 Calculator Works

Starting from a = 1 and b = 0, each byte of your UTF-8 encoded text updates a as (a + byte) mod 65521, then updates b as (b + a) mod 65521.

The final checksum packs b into the upper 16 bits and a into the lower 16 bits (result = (b << 16) | a), then that 32-bit value is hex-encoded into the 8-character output.

When To Use Adler-32 Calculator

Use Adler-32 when you're matching or reproducing a value from a zlib-based format (compressed streams, PNG image chunks, PDF streams) that already computes it as part of the container.

For a new, general-purpose accidental-error checksum without that specific compatibility need, CRC32 generally offers better error-detection quality, especially on shorter inputs, at a similar computational cost in most modern software.

Features

Advantages

  • Very cheap to compute, simpler arithmetic than CRC32's table-based polynomial division.
  • Matches the checksum embedded in zlib, PNG, and PDF stream formats exactly.
  • Sufficient for its intended purpose: catching accidental corruption in compressed data streams.

Limitations

  • Weaker error-detection quality than CRC32, especially for short inputs, a documented and acknowledged tradeoff of its design.
  • Not cryptographically secure in any sense; trivial to construct a deliberate collision.
  • Less universally recognized outside of the zlib/PNG/PDF ecosystem than CRC32.

Examples

Hashing a short greeting

Input

Hello, world!

Output

205e048a

13 bytes of UTF-8 text produce the standard 8-character Adler-32 checksum.

Hashing a well-known reference string

Input

Wikipedia

Output

11e60398

This exact input/output pair is the worked example shown on Wikipedia's own Adler-32 article, useful for confirming any implementation matches the standard.

Best Practices & Notes

Best Practices

  • Use Adler-32 specifically to match a zlib/PNG/PDF-style checksum, not as a general-purpose default over CRC32.
  • For new designs without that specific compatibility need, CRC32 is generally the better-tested, better-performing choice for accidental-error detection.
  • Never rely on Adler-32 (or any checksum in this family) for tamper resistance; it offers none.

Developer Notes

This tool implements Adler-32 exactly per RFC 1950 (modulus 65521, two running sums packed into the high/low 16 bits), verified against the RFC's own worked example and cross-checked against Node's zlib bindings.

Adler-32 Calculator Use Cases

  • Verifying a zlib-compressed stream, PNG chunk, or PDF stream's embedded checksum
  • Reproducing a known Adler-32 value while debugging compression-related code
  • Building a lightweight, fast internal checksum for non-adversarial data
  • Cross-checking a value against zlib or PNG tooling output

Common Mistakes

  • Choosing Adler-32 over CRC32 for a new design without needing zlib/PNG/PDF compatibility specifically; CRC32 usually detects errors better, especially on short data.
  • Using Adler-32 to verify data hasn't been maliciously tampered with; it offers no resistance to a deliberate attacker.
  • Assuming Adler-32 and CRC32 are interchangeable or related; they use entirely different math and won't match.

Tips

  • If you're not specifically matching a zlib/PNG/PDF value, the CRC32 tool is usually the better general-purpose accidental-error checksum.
  • Remember Adler-32's error-detection quality is weaker on short inputs, don't rely on it as strong evidence of correctness for small data.

References

Frequently Asked Questions