CRC16 Checksum Generator

Calculate CRC-16 checksums of text or files in your browser — ARC, MODBUS, CCITT-FALSE and XMODEM variants.

Digest

What It Does

This tool calculates 16-bit CRC checksums. CRC-16 is not one algorithm but a family of parameter sets — polynomial, initial value, bit reflection — and two devices only agree if they use the same one. The page offers the four that cover most real protocols: CRC-16/ARC, CRC-16/MODBUS, CRC-16/CCITT-FALSE and CRC-16/XMODEM, each verified against its catalogued check value.

When to Use It

  • You are writing a Modbus RTU frame and need the CRC to append.
  • A serial device's datasheet specifies CCITT or XMODEM CRC and your values do not match.
  • You are sending a file over XMODEM and want to confirm a block's CRC.
  • You have a CRC from a capture and want to find which variant produced it.

Worked Examples

123456789

The universal check string. ARC gives bb3d, MODBUS 4b37, CCITT-FALSE 29b1 and XMODEM 31c3 — switch the variant to see each.

With empty input the CRC is simply the variant's initial value after its final steps: 0000 for ARC and XMODEM, ffff for MODBUS and CCITT-FALSE.

Hello

Change the variant and every value differs. If your device disagrees, the variant is almost always the reason.

Features

CRC-16 digest as you type
Hash files as raw bytes without uploading
Hex / HEX / Base64 output
Hash each line separately
Checksum comparison that recognises the wrong algorithm
Warnings for line endings
BOMs and passwords

How to Use

1. Type or paste text, or choose Hash a file to hash a file's raw bytes. 2. Pick the output encoding the value will be compared against — hex is the usual one. 3. To check a published checksum, paste it into the comparison box; the tool tells you whether it matches and, if not, whether it is even the same algorithm.

Common Mistakes

  • Hashing text that is not byte-for-byte what the other side hashed. A trailing newline, Windows line endings or a byte-order mark each produce a completely different CRC-16 value, and none of them are visible.
  • Comparing a hex digest with a Base64 one. They encode the same bytes differently, so they never look alike even when they match — switch the output format before deciding two values disagree.
  • Comparing digests in mixed case and concluding they differ. Hex is case-insensitive; ABCDEF and abcdef are the same value.
  • Using a plain CRC-16 digest where a secret is involved. To prove a message came from someone holding a key, you need HMAC, not hash(secret + message).

Frequently Asked Questions

Everything runs in your browser. Text and files are hashed locally — nothing is uploaded, logged or stored.

Explore related topics

#Hash #Checksum