Skip to content

Adler-32 Checksum

Compute the Adler-32 checksum.

Input
Output

No result

About Adler-32 Checksum

Adler-32 Checksum computes the classic Adler-32 value of a piece of text and prints it as eight lower-case hex digits. The algorithm keeps two running sums: one accumulates every byte modulo 65521, the other accumulates the running total of the first, and the two are combined into a single 32-bit value. It was designed for the zlib compression format, where the job was to catch corrupted transmission rather than to stop an attacker.

The text is hashed as UTF-8 bytes, so what you see is not always what is summed: a single accented letter contributes two bytes, one CJK character three, and an emoji four. An empty input is not zero - it returns the seed state of the two sums before any byte has been read. As a reference point, the string Wikipedia yields the published value for it, which is a quick way to confirm the implementation agrees with the reference definition.

Use it as a fingerprint or a sanity check, not as a security control. Adler-32 has no meaningful collision resistance and is known to be weak on short inputs, so two different short strings can easily share a value. Where tampering is a possibility you want CRC32 at the very least, and a cryptographic digest such as SHA-256 if it actually matters. The tool also takes typed text only - there is no file input and no second field to compare a candidate checksum against.

How to use Adler-32 Checksum

  1. 1 Type or paste the text you want checksummed.
  2. 2 Read the eight hex digits as they update.
  3. 3 Copy the value and compare it against the checksum produced elsewhere.

Frequently asked questions

Is Adler-32 safe to use as a hash for security?

No. It was built to detect accidental corruption, not deliberate tampering, and it has essentially no collision resistance. Use CRC32 for a stronger non-cryptographic check, or SHA-256 where the value has to hold up against an attacker.

Why does an empty input give a value of one rather than zero?

That is the seed state of the algorithm: the first running sum starts at one and the second at zero, so with no bytes to accumulate the combined value is one. Zero appears only by coincidence for some particular input.

How are non-English characters handled?

The text is encoded to UTF-8 first and the resulting bytes are summed, so one accented letter counts as two bytes, one CJK character as three and an emoji as four. The output is the same eight hex digits whatever the script.

Can I checksum a file or verify a value I already have?

Neither. The tool takes typed or pasted text only, with no file input, and there is no second field to check a candidate checksum against - it prints a single value for you to compare by hand.

Free, online, and private

Free to use

Adler-32 Checksum is completely free. There is no account to create, no login, and no hidden charge or usage limit.

Runs online in your browser

It is a free online tool that runs entirely in your browser. Nothing to download or install — open the page and start using it right away.

Your data stays private

All processing happens locally on your device. Your input is never uploaded, stored, or tracked, so it never leaves your browser.

How Adler-32 Checksum behaves in detail

These are the specifics of this implementation — the exact ranges, defaults and fixed settings you are working with.

Parameter Value
Input one text panel, recalculated live on every keystroke; the sample reads Hello world
Algorithm the classic Adler-32 pair of running sums - A accumulates each byte modulo 65521 and B accumulates the running A - combined as a sixteen-bit shift of B with A
Output eight lower-case hex digits, zero-padded, with no prefix and no separators
Empty input an empty panel returns 00000001, which is the seed value of the algorithm rather than zero
Encoding the text is hashed as UTF-8 bytes, so one accented letter contributes two bytes and one CJK character three
Check vector the string Wikipedia yields 11e60398, which matches the published Adler-32 value for it

Compiled from the implementation of this tool and checked against it by itoolnet.

What Adler-32 Checksum does not do

Knowing the edges of a tool saves more time than another list of its features. These are the cases where it will not do what you might expect.

  • This is a checksum, not a hash in the security sense. Adler-32 was designed to catch transmission errors and has essentially no collision resistance, so short inputs collide readily and the value must never be used where deliberate tampering is a possibility.
  • It is weak precisely where it is most tempting. The running sums build slowly over the first bytes, which makes the result poor at distinguishing short strings and strings that differ only slightly - anything meant to guard integrity wants CRC32 or a cryptographic digest instead.
  • There is nothing to configure and nothing to compare against. No initial value can be set, no file can be fed in rather than typed text, and there is no second field to test a candidate checksum - the tool prints one value for you to copy elsewhere.

Tested and documented by itoolnet, the team that builds and maintains this site.

Share & embed this tool

Writing a guide or article? You are welcome to link to Adler-32 Checksum with the snippet below. It is free, runs entirely in your browser, and needs no signup.