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

CRC Calculator

Compute a cyclic redundancy check over text, hex, or binary input using 70+ catalogue presets (CRC-8/16/32/64, CCITT, XMODEM, MODBUS, CRC-32C and more) or a fully custom width, polynomial, init, reflection, and xorout. The engine verifies each preset against its documented check value.

Client-sideWidths 3–64reveng catalogue

Input

Result

Pick a preset and enter input to compute its CRC.
All CRC computation runs locally in your browser. Nothing is uploaded — safe for proprietary frame layouts and firmware payloads.

What a CRC calculator is for

A cyclic redundancy check is an error-detecting code computed by treating your message as the coefficients of a polynomial and taking the remainder after dividing by a fixed generator polynomial. The remainder — the CRC — is appended to the data so a receiver can recompute it and detect transmission or storage errors. CRCs are everywhere in embedded and protocol work: Ethernet frames, USB packets, MODBUS RTU, CAN bus, ZIP/gzip archives, ISO 7816 smart-card transport, and countless proprietary radio and sensor frames.

The catch is that "CRC-16" or "CRC-32" alone does not pin down a value. A CRC variant is defined by six parameters — width, polynomial, initial value, input reflection, output reflection, and a final XOR — and changing any one of them yields a different result for the same bytes. This tool implements one generic bit-by-bit engine, parameterised by those six values and using BigInt internally, so widths from 3 to 64 bits all behave identically and correctly. It ships with 70+ named presets drawn from Greg Cook's well-known reveng catalogue, plus a fully custom mode.

When to use it

Reach for this tool when you are reverse-engineering or implementing a protocol and need to confirm exactly which CRC variant a device uses, when a checksum you computed in one language does not match another stack, or when you are validating firmware that appends a CRC trailer. Selecting a preset immediately recomputes that preset's documented check value — the CRC of the ASCII string 123456789 — and shows a pass/fail badge comparing the computed result against the catalogue figure, so you can trust the engine before trusting any other output. For a plain additive or XOR integrity byte instead of a polynomial CRC, the sibling LRC calculator and checksum tool are the right fit.

Input and output

Choose how your message is interpreted: Text is UTF-8 encoded to bytes; Hex bytes accepts pairs of hex digits with optional spaces, colons, or 0x prefixes; Binary bits accepts 0/1 in groups totalling a whole number of bytes. The result panel reports the byte count and the final CRC in three forms — hexadecimal (zero-padded to the register width), decimal, and binary — and the Copy button copies the hex value. Each render also prints the active six parameters so the result is self-documenting.

Presets

70+ named variants across widths 3–64: CRC-8 family, CCITT-FALSE, XMODEM, KERMIT, MODBUS, USB, X-25, CRC-32, CRC-32C, BZIP2, MPEG-2, the CRC-64 set, and more.

Custom mode

Set width, polynomial, init, RefIn, RefOut, and xorout by hand to match an undocumented device. The same engine runs, so results are consistent with the presets.

Check verification

Every preset's CRC of 123456789 is recomputed live and compared to the documented value, giving you a green pass badge before you rely on the tool.

Common mistakes

Related tools

LRC calculator

Longitudinal redundancy check — the XOR/sum integrity byte used in many serial protocols.

Open LRC calculator →

Checksum

Simple additive and complement checksums for lightweight frame validation.

Open Checksum →

More utilities

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

All resources →