Aprende la fórmula matemática oficial con ejemplos reales paso a paso o calcúlalo de forma automática con nuestra herramienta gratuita.
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.
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.
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:
8412345678908, 4, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0.
8 + 1 + 3 + 5 + 7 + 9 = 33.
4 + 2 + 4 + 6 + 8 + 0 = 24.
24 × 3 = 72.
33 + 72 = 105.
110 - 105 = 5.
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).
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;
}
Crea etiquetas para tus productos y maquetas en folios A4 sin errores matemáticos.
Ir al Generador EAN-13 Gratis ➔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.
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.