CRC16 Checksum Generator
Calculate CRC-16 checksums of text or files in your browser — ARC, MODBUS, CCITT-FALSE and XMODEM variants.
Digest
About this input
Import from File
Drag & drop a file here
or
Supports .txt, .csv, .log, .json and other text files
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
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
Related Tools
Everything runs in your browser. Text and files are hashed locally — nothing is uploaded, logged or stored.