Adler-32 Checksum Calculator
Calculate the Adler-32 checksum used by zlib and PNG from text, hex bytes or a file, with the A and B running sums shown separately.
Checksum breakdown
- Hex
- 0x11E60398
- Unsigned decimal
- 300286872
- A — running byte sum mod 65521
- 920 (0x0398)
- B — sum of every A mod 65521
- 4582 (0x11E6)
- Bytes processed
- 9
The checksum is (B << 16) | A, exactly as zlib stores it at the end of a compressed stream. An empty input gives 1, because A starts at 1 and B at 0.
What is the Adler-32 Checksum Calculator?
The ByteTools Adler-32 Calculator computes the checksum defined in RFC 1950 and used at the end of every zlib stream.
- RFC 1950 Adler-32, exactly as zlib computes it
- Text, hex, Base64 or a dropped file as input
- A and B running sums shown alongside the combined value
- Large files streamed in 4 MB slices without losing precision
- Side-by-side comparison of two inputs
- 100% client-side — files never leave your browser
How to use the Adler-32 Checksum Calculator
- 1
Choose whether your input is plain text, hex bytes or Base64.
- 2
Type or paste the data, or drop a file to checksum it in slices.
- 3
Read the checksum in hex and decimal, with the A and B sums broken out underneath.
- 4
Tick the compare box and paste a second copy of the data to confirm the two match byte for byte.
About the Adler-32 Checksum Calculator
The ByteTools Adler-32 Calculator computes the checksum defined in RFC 1950 and used at the end of every zlib stream. It keeps two running sums modulo 65521 — A accumulates each byte starting from 1, and B accumulates each successive value of A starting from 0 — then combines them as B shifted left 16 bits, OR A.
Both halves are shown separately as well as combined, which makes the algorithm easy to follow and easy to debug when you are implementing it yourself. Files are processed in 4 MB slices with the sums reduced on chunk boundaries, so multi-hundred-megabyte inputs stay exact and the page stays responsive.
All calculation happens 100% locally in your browser and nothing is uploaded, so even a large private file never leaves your machine. Do bear in mind that Adler-32 is an integrity check rather than a security primitive: it catches accidental corruption reliably, but it cannot detect deliberate tampering. The questions below are honest about exactly where that boundary lies.
Frequently asked questions
What is Adler-32 used for?
It is the integrity check at the end of a zlib stream, which means it guards the compressed data inside PNG images and countless network protocols. It was designed to be much faster than CRC-32 while still catching the kinds of corruption that happen during transmission or storage.
Why does an empty input give 1 instead of 0?
Because the algorithm starts with A set to 1 and B set to 0. With no bytes to process those values never change, and combining them as B shifted left 16 bits OR A gives 1. Any implementation that returns 0 for empty input is not following RFC 1950.
Is Adler-32 better than CRC-32?
It is faster but weaker. Adler-32 is notably poor at detecting errors in very short messages, a few hundred bytes or less, where the sums have not had room to spread out. CRC-32 catches more error patterns and is the safer default unless you specifically need Adler-32 for zlib compatibility.
Can I use Adler-32 to verify a download?
For accidental corruption, yes — a mismatch reliably tells you the file changed. For security, no. Adler-32 is trivial to forge, so it cannot tell you whether a file was tampered with deliberately. Use SHA-256 when the question is authenticity rather than integrity.
Why does Adler-32 use the number 65521?
It is the largest prime below 65536. Using a prime modulus spreads the sums more evenly and improves error detection, and keeping it just under a power of two means both halves still fit neatly into 16 bits each.
Related tools
CRC-32 Generator
Compute the CRC-32 (IEEE 802.3) checksum of text online and see it as hex and unsigned decimal. Great for integrity checks. Free, instant and 100% private.
CRC-16 Calculator
Calculate CRC-16 checksums in 12 variants including MODBUS, CCITT-FALSE, XMODEM and KERMIT, from text, hex bytes or a dropped file.
File Checksum Calculator
Calculate SHA-1, SHA-256 and SHA-512 checksums of any file in your browser. Copy each hash and compare against an expected value to verify a download is intact.
MD5 Hash Generator
Generate MD5 hashes of text or files instantly in your browser. 32-character hex checksum with uppercase option and one-click copy. Free and private.
SHA-256 Hash Generator
Generate SHA-256 hashes of text or files with the browser's Web Crypto API. 64-character hex digest, uppercase option, instant copy. Free and private.