CRC-16 Hash Generator
Calculate CRC-16 checksums in every common variant.
CRC-16/ARC (IBM, LHA) · 16 bits
Result will appear here...
CRC-16/MODBUS · 16 bits
Result will appear here...
CRC-16/CCITT-FALSE (IBM-3740) · 16 bits
Result will appear here...
CRC-16/XMODEM (ACORN) · 16 bits
Result will appear here...
CRC-16/KERMIT (CCITT) · 16 bits
Result will appear here...
CRC-16/X-25 (IBM-SDLC) · 16 bits
Result will appear here...
CRC-16/USB · 16 bits
Result will appear here...
CRC-16/MAXIM-DOW · 16 bits
Result will appear here...
CRC-16/DNP · 16 bits
Result will appear here...
CRC-16/GENIBUS · 16 bits
Result will appear here...
CRC-16 Hash Generator
Calculate CRC-16 checksums of text, hex bytes, or a file in every common variant at once: ARC (IBM), MODBUS, CCITT-FALSE, XMODEM, KERMIT, X-25, USB, MAXIM, DNP, and GENIBUS. All values are computed in your browser and update as you type.
What is CRC-16?
A Cyclic Redundancy Check treats the data as a big binary polynomial and divides it by a fixed generator polynomial; the 16-bit remainder is the checksum. CRC-16 is used in serial protocols, industrial buses, memory cards, and file formats because it detects the burst errors typical of noisy channels far better than a simple sum.
Because a CRC is fully defined by its parameters, this tool follows the well-known catalogue values. For the standard test string 123456789, each variant produces its documented check value — for example CRC-16/MODBUS gives 0x4B37 and CRC-16/XMODEM gives 0x31C3.
Features
- All 10 CRC-16 variants side by side, with chips to hide the ones you do not need
- Text, hex, Base64, or file input
- Hex or decimal output
- Compare with a known value to validate a frame or record
Related tools
For 32-bit checks use the CRC-32 Hash Generator. For Adler-32, Fletcher, and simple sum/XOR checksums, see the Checksum Calculator. When you actually need security rather than error detection, use the SHA256 Hash Generator.
Frequently Asked Questions
Why are there so many CRC-16 variants?
CRC-16 is defined by several parameters — polynomial, initial value, input/output reflection, and final XOR. Different standards (MODBUS, XMODEM, CCITT, USB, X.25) picked different combinations, so the same bytes give different CRC-16 values under each. Pick the one your protocol specifies.
Which CRC-16 does MODBUS use?
MODBUS RTU uses polynomial 0x8005, initial value 0xFFFF, reflected input and output, and no final XOR. Its check value for \"123456789\" is 0x4B37. This tool computes it in the CRC-16/MODBUS row.
Is CRC-16 a secure hash?
No. CRC is an error-detecting code, not a cryptographic hash. It reliably catches accidental transmission or storage errors, but anyone can craft data with a chosen CRC, so never use it for security.
Should I read the CRC as decimal or hex?
Both are shown — switch the output format to hex or decimal. Protocol documents usually give the check value in hex (e.g. 0x4B37), while some serial devices report it as a decimal number.