Matemáticas & Estándares GS1

Cómo Calcular el Dígito de Control de un Código EAN-13

Aprende la fórmula matemática oficial con ejemplos reales paso a paso o calcúlalo de forma automática con nuestra herramienta gratuita.

🏷️ ¿Quieres calcular el dígito de control automáticamente?

Introduce 12 dígitos en nuestro generador y el algoritmo calculará al instante el 13º número (checksum) exacto, mostrándote el código de barras listo para descargar e imprimir.

Calcular Dígito Automáticamente ➔ ⚡ Algoritmo oficial GS1 Módulo 10

🔢 ¿Qué es el dígito de control en un código EAN-13?

El código EAN-13 (European Article Number) está compuesto por 13 dígitos numéricos. Los primeros 12 dígitos representan el país de origen (prefijo GS1), el código de la empresa fabricante y el número de referencia del producto.

El decimotercer dígito es el dígito de control o checksum. No representa ningún dato del producto, sino una verificación matemática basada en el algoritmo de Módulo 10. Su función es permitir que los lectores láser de los supermercados y TPV detecten de inmediato si el código se ha leído mal por un reflejo o mancha en la etiqueta.

📐 La Fórmula Paso a Paso del Algoritmo GS1

Para calcular el dígito de control de 12 dígitos dados, se sigue una regla muy sencilla de ponderación por 1 y por 3 alternativamente:

Ejemplo Práctico con el código: 841234567890
  1. Paso 1: Numerar las posiciones de izquierda a derecha (del 1 al 12).
    Nuestros 12 números son: 8, 4, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0.
  2. Paso 2: Sumar los números en posiciones impares (posiciones 1, 3, 5, 7, 9, 11).
    8 + 1 + 3 + 5 + 7 + 9 = 33.
  3. Paso 3: Sumar los números en posiciones pares (posiciones 2, 4, 6, 8, 10, 12) y multiplicar por 3.
    Suma de pares: 4 + 2 + 4 + 6 + 8 + 0 = 24.
    Multiplicación por 3: 24 × 3 = 72.
  4. Paso 4: Sumar ambos resultados.
    33 + 72 = 105.
  5. Paso 5: Calcular el dígito de control con Módulo 10.
    Buscamos el número que hay que sumar al total (105) para llegar al siguiente múltiplo de 10.
    El siguiente múltiplo de 10 después de 105 es 110.
    Dígito de control = 110 - 105 = 5.
Resultado final: El código EAN-13 completo y válido es: 8412345678905.

⚠️ ¿Qué pasa si la suma ya termina en 0?

Si al sumar los pasos 2 y 3 el resultado es un número que ya termina en 0 (por ejemplo, 120), el dígito de control es simplemente 0 (no 10).

💻 Código JavaScript para calcular el checksum

Si estás programando una aplicación o tienda online, aquí tienes la función en JavaScript oficial:

function calculateEAN13Checksum(code12) {
    if (code12.length !== 12) return null;
    let sumOdd = 0;
    let sumEven = 0;
    for (let i = 0; i < 12; i++) {
        const num = parseInt(code12[i], 10);
        if (i % 2 === 0) {
            sumOdd += num;      // Posición impar (índice 0, 2, 4...)
        } else {
            sumEven += num * 3;  // Posición par multiplicada por 3
        }
    }
    const total = sumOdd + sumEven;
    const remainder = total % 10;
    return remainder === 0 ? 0 : 10 - remainder;
}

Genera e imprime tus códigos EAN-13 con checksum

Crea etiquetas para tus productos y maquetas en folios A4 sin errores matemáticos.

Ir al Generador EAN-13 Gratis ➔

❓ Preguntas Frecuentes sobre el dígito de control

¿Qué ocurre si imprimo un código con el dígito de control mal calculado?

Ningún lector de código de barras de caja registradora, supermercado o almacén lo leerá. El lector emitirá un pitido de error o ignorará el código porque su chip interno comprueba el algoritmo de control antes de enviar los datos a la pantalla.

¿Es el mismo algoritmo para códigos UPC-A de 12 dígitos?

Sí, el algoritmo de control de UPC-A utiliza exactamente el mismo principio de ponderación Módulo 10, pero ponderando por 3 las posiciones impares al tener una longitud inicial de 11 dígitos en lugar de 12.