CRC-16/MODBUS Checksum

Calculate CRC-16/MODBUS over UTF-8 text with polynomial 0x8005, initial value 0xFFFF, and final XOR 0x0000.

Description

Calculate CRC-16/MODBUS Checksum over UTF-8 text and display the result as uppercase hexadecimal.

CRC-16/MODBUS Checksum is intended for interoperability and accidental-error detection. CRC-16/MODBUS uses a 16-bit register, polynomial 0x8005, initial value 0xFFFF, final XOR 0x0000, and reflected byte processing.1

When to use CRC-16/MODBUS Checksum

Use this checksum only when a file format, device, protocol, or published test vector specifies the same named profile and parameters. Profiles with the same width can still produce unrelated results.

How CRC-16/MODBUS Checksum works

CRC-16/MODBUS uses a 16-bit register, polynomial 0x8005, initial value 0xFFFF, final XOR 0x0000, and reflected byte processing.1

How the CRC-16/MODBUS function processes input

  1. Encode the entered text as UTF-8 bytes.
  2. Process the bytes with the selected algorithm and its exact parameters.
  3. Render the result in the canonical textual form shown by the tool.

Limitations and assumptions

  • Checksums are not collision-resistant and must not be used as digital signatures or security proofs.
  • Text is encoded as UTF-8; a checksum over a file's raw bytes can differ.
  • Every CRC parameter—including reflection and initialization—must match the other implementation.

Alternative or Complementary approaches

Use a cryptographic hash such as SHA-256 when malicious modification is in scope. Use the custom CRC calculator when a documented profile is not available as a preset.

References

  1. Catalogue of parametrised CRC algorithms — CRC RevEng

Similar or alternative tools

Don't forget to set a bookmark for tool.io!
Privacy | Imprint | Cookies