Skip to content
100% local

CRC checksum calculator

Calculate CRC-8, CRC-16, CRC-32, CRC-32C and Adler-32 checksums from text or hex bytes.

Input
Output

CRC checksum calculator

Paste text, or a string of hex bytes, and this tool calculates its checksum using any of the common CRC algorithms plus Adler-32. It covers CRC-8, three CRC-16 variants (CCITT-FALSE, Modbus and XMODEM, which differ only in their initial value and reflection), CRC-32 (the classic zlib/PKZIP variant), CRC-32C (Castagnoli, used by iSCSI, ext4 and Btrfs) and Adler-32. Use it to spot-check a file transfer, confirm a firmware image, or work out why two systems disagree about a Modbus frame.

Switch "Input as" to hex bytes to checksum raw binary data typed as hex pairs (spaces, dashes, colons and "0x" prefixes are all accepted) instead of the text itself. "Output as" controls whether the result prints as uppercase hex, lowercase hex or a plain decimal number. Turn on "Calculate per line" to get one checksum per line instead of one for the whole input — handy for checksumming a list of records in one pass. Paste a checksum you already have into "Verify against expected checksum" and the result is marked with a check or cross, whether you typed it as hex or decimal. "Show polynomial parameters" appends the algorithm's width, polynomial, initial value, reflection flags and final XOR, for anyone implementing the same CRC in firmware or another language.

Windows and Unix line endings are treated the same in per-line mode, and the tally under the output reports the algorithm used, the resulting checksum, the number of bytes processed and the verification result when one was requested.

Everything runs locally in your browser. Nothing you paste — text, binary data or the checksum you're verifying against — is ever uploaded anywhere. Copy the result, download it as a .txt file, or send it straight to another tool's input to continue working with it.

FAQ

Which CRC-16 should I pick?
Use Modbus for Modbus RTU/ASCII frames, XMODEM for XMODEM/YMODEM file transfers, and CCITT-FALSE for most other protocols that just say "CRC-16-CCITT" — check your protocol's spec if the checksum doesn't match, since all three share the same 0x1021 polynomial but differ in their starting value and bit order.
What's the difference between CRC-32 and CRC-32C?
Both are 32-bit checksums with the same structure, but they use different polynomials, so a CRC-32 and a CRC-32C of the same data never match. CRC-32 (zlib, PKZIP) is the one you meet most often; CRC-32C (Castagnoli) is used by iSCSI, SCTP, ext4 and Btrfs and detects more error patterns.
Can I checksum binary data, not just text?
Yes. Switch "Input as" to hex bytes and paste the data as hex pairs — with or without spaces, dashes or "0x" prefixes.
How does the checksum verification work?
Paste the value you're checking against into "Verify against expected checksum" as hex (with or without "0x") or decimal. The tool compares it to the computed checksum and marks the result with a check or a cross.
Is my data uploaded anywhere?
No. Every checksum is calculated entirely in your browser — your text and hex bytes never leave your device.