Ambimat GroupAmbimatAmbiSecureSIMAuthAmbiAutomationEngineering BlogAhmedabad · India · Est. 1981
Crypto & integrity

Checksum Calculator

Compute every common non-cryptographic checksum over the same input at once: 8/16/32-bit sums, one’s- and two’s-complement, XOR (LRC), Fletcher-16/32, Adler-32, and the Internet checksum (RFC 1071). Feed it text, hex, or binary, toggle endianness for the word sums, and read the result in hex, decimal, or binary.

Client-sideRFC 1071Fletcher · Adler-32

Input

Result

Type something to checksum.
All checksums are computed locally in your browser. Nothing is uploaded — safe for firmware images, APDU scripts, and other payloads.

What this tool does

A checksum condenses a block of bytes into a short fixed-width value so a reader can tell whether the block arrived intact. This calculator runs ten of the most widely used non-cryptographic checksums over the same input and shows every result side by side, which is exactly what you want when you are reverse-engineering an undocumented frame format and do not yet know which algorithm a device uses. Paste the payload, then scan the column for the value that matches the trailer byte already in the message.

The families covered are: plain additive sums truncated to 8, 16, or 32 bits; the one’s-complement and two’s-complement variants of the 8-bit sum; the XOR checksum (the same longitudinal redundancy check, or LRC, used in many serial and smart-card protocols); the position-sensitive Fletcher-16 and Fletcher-32; Adler-32 as used by zlib; and the 16-bit one’s-complement Internet checksum specified in RFC 1071 and carried in IP, TCP, UDP, and ICMP headers.

When to use it

Reach for this tool when you are validating or forging a trailer on a protocol frame, debugging a firmware update that a bootloader rejects with a “bad checksum” error, or confirming that a zlib/PNG stream’s Adler-32 matches. It is also handy for teaching: changing one byte of the input and watching which checksums move (and which collide) makes the error-detection trade-offs concrete. For polynomial CRCs see the dedicated CRC and LRC utilities in the resource library; for the byte-level views you will pair this with, see the encoding tools below.

Input and output

The Input is selector controls how your text is turned into bytes. Text (UTF-8) encodes the characters as UTF-8. Hex bytes accepts pairs of hex digits with optional spaces, commas, colons, or 0x prefixes. Binary bits accepts a run of 0/1 whose length is a multiple of eight. The Word order toggle only affects the 16-bit and 32-bit additive sums, because those are the only algorithms here that group bytes into multi-byte words before adding; all the others are defined byte-by-byte or on a fixed order. The Show as selector renders each result in hex (zero-padded to the algorithm’s width), decimal, or grouped binary. The Copy button exports every row as tab-separated label value lines.

Common mistakes

Related tools

ASCII ↔ HEX

Convert between text and the raw bytes you feed into a checksum.

Open ASCII ↔ HEX →

Hex ↔ bytes

Normalise, group, and inspect a hex dump before checksumming it.

Open Hex ↔ bytes →

CMAC length

When you need a real keyed integrity tag instead of a checksum.

Open CMAC length →

More utilities

Parsers, decoders, and references for smart-card and FIDO engineers.

All resources →