YourTools.
简体中文
Back to the catalog
Tools

CRC and checksums

CRC-8, CRC-16 (Modbus, CCITT, XMODEM and more), CRC-32, CRC-32C, Adler-32, BCC (XOR), LRC and 8-bit sum of hex bytes or text, shown in hex, decimal and binary.

Process locally

Files stay in this browser session. Closing or clearing releases them.

Add text

Type or paste the text to process

Adjust settings

Optional: Algorithm, Input is

CRC and checksums

Run

Processes in this browser; cancel at any time

Add text first

About this tool

Calculate a CRC or a simple checksum over hex bytes or text. It is made for serial protocols and embedded work: append the CRC-16 to a Modbus RTU frame, check the BCC or LRC of a device command, or find out which CRC variant a datasheet means by comparing results.

It offers CRC-8 (SMBUS and MAXIM), six CRC-16 variants (ARC, MODBUS, CCITT-FALSE, XMODEM, KERMIT and X-25), CRC-32, CRC-32C, CRC-32/MPEG-2, Adler-32, BCC, LRC and the 8-bit sum. Results show in hex, decimal and binary, with both byte orders for 16- and 32-bit values. Up to 1 MB is processed in your browser without being uploaded.

How to use it

  1. Type or paste the data, or select Use example to load a Modbus request (01 03 00 00 00 0A).
  2. Set “Input is” to “Hex bytes” or “Text (UTF-8)”.
  3. Choose the “Algorithm”; CRC-16/MODBUS is selected by default.
  4. Select Run, then preview checksum.txt and download it if you need it.

Formats and limits

Input
Text
Output
Plain text
Size limit
1 MB
Settings
Algorithm; Input is (Hex bytes, Text)
Privacy
Files stay in the current browser session. No file bytes are uploaded.
Price
Free, no sign-up

Common questions

Which byte order do I append for Modbus RTU?

Modbus RTU sends the CRC low byte first, so use the “Bytes, low first” line. For the example 01 03 00 00 00 0A the CRC is CDC5, which is appended as C5 CD.

Why do CRC-16 results from different tools disagree?

“CRC-16” names a family of variants that differ in polynomial, initial value, bit reflection and final XOR. ARC and MODBUS, for example, share the polynomial 0x8005 but start from 0x0000 and 0xFFFF. Try the variants here until one matches a frame whose CRC you know.

How can the hex input be written?

As pairs of hex digits, with or without spaces, commas, colons or dashes between them; 0x and \x prefixes are removed. An odd number of digits is rejected.

Why does the result change when I add a line break?

With “Text (UTF-8)” every byte counts, including spaces and line breaks, and a Chinese character is 3 bytes. Switch to “Hex bytes” when you want to enter exact byte values.

How are LRC, BCC and the 8-bit sum calculated?

LRC is the two’s complement of the 8-bit sum of all bytes, the check Modbus ASCII uses. BCC is the XOR of all bytes, and the 8-bit sum keeps only the lowest byte of the total.