Calculadora de checksum SUM/XOR/LRC

Calcula SUM-8, SUM-16, XOR-8 y LRC-8 a partir de bytes HEX o texto UTF-8.

Los cálculos se realizan en tu navegador. Los datos no se suben a ningún servidor.

Formato de entrada

Usa HEX continuo o grupos de bytes completos separados por espacios, comas o punto y coma. Se admite el prefijo 0x. Tamaño máximo: 64 KiB.

Resultados de checksum

Entrada: 4 bytes

Vista previa de bytes (HEX)

01 02 03 04

SUM-8

Suma los bytes y conserva los 8 bits inferiores.

HEX
0x0A
Decimal
10
Binario
00001010

SUM-16

Suma los bytes y conserva los 16 bits inferiores.

HEX
0x000A
Decimal
10
Binario
0000000000001010

XOR-8

Aplica XOR a cada byte, empezando en 0.

HEX
0x04
Decimal
4
Binario
00000100

LRC-8

Complemento a dos de SUM-8: (256 − SUM-8) mod 256.

HEX
0xF6
Decimal
246
Binario
11110110

LRC-8 usa el complemento a dos de la suma de Modbus ASCII. Solo se calculan los bytes introducidos; no se eliminan automáticamente las cabeceras ni los finales de trama.

Cómo calcular el checksum

Elige bytes HEX o texto UTF-8 e introduce los datos. Los cuatro resultados se actualizan automáticamente. HEX admite 01020304, 01 02 03 04 o 0x01, 0x02. No admite medios bytes, signos negativos, dos puntos ni tramas Modbus ASCII completas. Cambiar el formato reinterpreta el contenido; no lo convierte.

Diferencias entre algoritmos

  • SUM-8: suma los valores de los bytes módulo 256.
  • SUM-16: suma bytes individuales módulo 65536. No agrupa bytes en palabras de 16 bits ni calcula el checksum de Internet.
  • XOR-8: aplica XOR a todos los bytes empezando en cero. Algunos protocolos lo llaman BCC; consulta la definición del dispositivo.
  • LRC-8: complemento a dos de SUM-8, según Modbus ASCII. Otros protocolos pueden definir LRC de otra manera.

Para HEX 01 02 03 04:

SUM-8 SUM-16 XOR-8 LRC-8
0x0A 0x000A 0x04 0xF6

Ejemplo de LRC Modbus ASCII

El ejemplo 01 03 00 00 00 0A produce LRC-8 0xF2. Son seis bytes HEX, no los códigos UTF-8 de los caracteres hexadecimales.

Para generar LRC, introduce solo dirección, función y datos. Excluye los dos puntos iniciales, el LRC existente y CR/LF. Añade F2 para obtener :01030000000AF2, seguido de CR/LF. Consulta la guía Modbus Serial Line, §6.2.1.

Para comprobar un LRC existente, introduce datos y LRC en modo HEX, como 01 03 00 00 00 0A F2. SUM-8 debe ser 0x00. Esto comprueba la suma, no la estructura completa de la trama.

Texto y HEX no son lo mismo

El texto 01 se codifica como 30 31; HEX 01 es un solo byte. Los espacios y saltos de línea cuentan en modo texto, y los caracteres no ASCII pueden ocupar varios bytes. Revisa la vista previa. El límite es 64 KiB; solo se muestran los primeros 32 bytes, pero se calculan todos.

Estos checksums detectan algunos errores de transmisión; no protegen contra la manipulación. Para CRC, MD5 o SHA, usa las herramientas enlazadas en esta página.