Inicio › Dígito de control
Dígito de control EAN y UPC: cómo se calcula
El último número de un código de barras no es decorativo: sirve para detectar errores. Aquí lo calculamos paso a paso, con ejemplos resueltos, y vemos qué errores detecta y cuáles se le escapan.
- Tus datos no salen de tu navegador
- PDF en milímetros reales
- Dígito de control automático
- Modelos Avery A4 y Carta
Elige el tipo y todo se configura solo (código, tamaño de hoja y diseño). Después puedes cambiar lo que quieras.
Orden si no hay encabezado: nombre, precio, código, referencia, precio anterior, copias. Con encabezado (nombre, precio, codigo, ref…) reconocemos las columnas solas. Una sola columna = solo códigos.
| # | Nombre | Precio | Código | Ref. | P. anterior | Copias |
|---|
Tipo actual: · Cambiar tipo de etiqueta
El archivo se guarda en tu ordenador y no se sube a ningún sitio. Sirve para volver a usar el mismo diseño otro día o en otro ordenador.
El logo se procesa aquí mismo y no se sube a ningún sitio. Usa una imagen sencilla: en etiquetas pequeñas los detalles no se ven.
Tus listas de productos, precios y logos nunca se suben a ningún servidor. El PDF, el PNG, el SVG y el ZIP se crean en tu propio dispositivo. Para no perder el trabajo, se guarda una copia solo en este navegador (puedes borrarla con «Borrar todo»).
Qué es el dígito de control y para qué sirve
El último dígito de un EAN-13, un EAN-8, un UPC-A o un ITF-14 se llama dígito de control. No identifica nada del producto: se calcula a partir de todos los demás y sirve para que el lector de la caja pueda comprobar, en una fracción de segundo, que ha leído bien el código. Si un número falla, la caja rechaza la lectura en vez de cobrar el producto equivocado.
Para ti, como quien genera códigos, significa dos cosas: que no puedes inventar el último dígito (si no es el correcto, el lector rechazará el código) y que, si escribes los demás, puede calcularse solo. Eso es lo que hace GeneraEtiquetas: si escribes los 12 primeros dígitos de un EAN-13, añade el último.
El algoritmo paso a paso (EAN-13)
Los cuatro formatos usan el mismo algoritmo, llamado módulo 10 de GS1. Para un EAN-13 se parte de los 12 primeros dígitos:
- Numera los dígitos de derecha a izquierda, empezando por el último de esos 12 (el que quedará pegado al dígito de control).
- Multiplica por 3 los de posición impar (1.º, 3.º, 5.º…) y por 1 los de posición par (2.º, 4.º, 6.º…).
- Suma todos los resultados.
- Calcula lo que falta para llegar a la siguiente decena. Si la suma ya acaba en 0, el dígito de control es 0.
Ejemplo con 590123412345:
| Posición (desde la derecha) | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Dígito | 5 | 4 | 3 | 2 | 1 | 4 | 3 | 2 | 1 | 0 | 9 | 5 |
| Peso | 3 | 1 | 3 | 1 | 3 | 1 | 3 | 1 | 3 | 1 | 3 | 1 |
| Producto | 15 | 4 | 9 | 2 | 3 | 4 | 9 | 2 | 3 | 0 | 27 | 5 |
La suma es 15 + 4 + 9 + 2 + 3 + 4 + 9 + 2 + 3 + 0 + 27 + 5 = 83. La siguiente decena es 90, así que faltan 7. El EAN-13 completo es 5901234123457.
El mismo algoritmo en UPC-A, EAN-8 e ITF-14
Con los otros formatos, el procedimiento es idéntico: se numera desde la derecha, empezando por el último dígito del cuerpo (sin contar el de control), con peso 3 para el primero y alternando 3 y 1. Solo cambia cuántos dígitos tiene el cuerpo:
| Formato | Cuerpo | Suma | Control | Código completo |
|---|---|---|---|---|
| EAN-13 | 590123412345 (12) | 83 | 7 | 5901234123457 |
| UPC-A | 03600029145 (11) | 58 | 2 | 036000291452 |
| EAN-8 | 9638507 (7) | 86 | 4 | 96385074 |
| ITF-14 | 1001234567890 (13) | 88 | 2 | 10012345678902 |
Observa que el algoritmo siempre pone el peso 3 en el dígito más cercano al de control. Por eso, si conviertes un UPC-A en EAN-13 añadiendo un cero delante (0036000291452), el dígito de control sigue siendo el mismo, 2: el cero no suma nada y los pesos del resto no cambian.
Cómo comprobar un código que ya tienes
Hay una forma rápida de validar un código completo: multiplica sus dígitos, de izquierda a derecha, por los pesos 1, 3, 1, 3… (en un EAN-13; el último, el de control, queda con peso 1) y suma. Si el resultado es un múltiplo de 10, el código es válido. Con 5901234123457: 5×1 + 9×3 + 0×1 + 1×3 + 2×1 + 3×3 + 4×1 + 1×3 + 2×1 + 3×3 + 4×1 + 5×3 + 7×1 = 90. Es múltiplo de 10, así que el código es válido.
En un EAN-8 o un UPC-A, que tienen un número par de dígitos, los pesos de izquierda a derecha empiezan por 3 (3, 1, 3, 1…). La forma más fiable de no equivocarte es contar siempre desde la derecha.
Cómo calcularlo en Excel
Si tienes una columna de códigos de 12 dígitos guardados como texto en la celda A1, esta fórmula de Excel devuelve el dígito de control de un EAN-13:
=MOD(10-MOD(SUMPRODUCT(--MID(A1,{1,2,3,4,5,6,7,8,9,10,11,12},1),{1,3,1,3,1,3,1,3,1,3,1,3}),10),10)
Multiplica los dígitos, de izquierda a derecha, por 1, 3, 1, 3…, suma y calcula lo que falta para la decena. Para un código completo, puedes pegar la columna en GeneraEtiquetas y dejar que lo valide y lo corrija.
Qué errores detecta y cuáles no
El dígito de control es muy eficaz, pero no es infalible. Detecta:
- Cualquier error de un solo dígito. Si cambias un 4 por un 7 en cualquier posición, la suma cambia y el control deja de cuadrar. Es el error más habitual al teclear.
- La mayoría de los intercambios de dos dígitos contiguos. Por ejemplo,
12escrito como21.
Lo que no detecta es el intercambio de dos dígitos contiguos que se diferencian en exactamente 5 (0 y 5, 1 y 6, 2 y 7, 3 y 8, 4 y 9). La razón es matemática: al intercambiarlos, la suma cambia en 2 × (a − b), y si la diferencia es 5, ese cambio es 10, que no altera el dígito de control. Un ejemplo real: 1234056789018 y 1234506789018 son dos EAN-13 válidos distintos, con el mismo dígito de control, y se confundirían si alguien intercambia el 0 y el 5. En cambio, si en 1234126789016 se intercambian el 1 y el 2 (queda 1234216789016), el control ya no cuadra, porque le correspondería un 8, y el error se detecta.
Tampoco detecta errores que se compensan entre sí (dos dígitos equivocados que anulan el cambio de la suma), aunque son poco frecuentes. Y, sobre todo, el dígito de control no garantiza que el código exista ni que sea tuyo: un número con el control correcto puede estar sin asignar o pertenecer a otro producto. Eso solo lo garantiza GS1.
Los códigos que no usan este dígito
- Code 128 lleva su propio carácter de control (módulo 103), que añade el codificador y que ni siquiera se imprime en texto legible. No tienes que calcularlo.
- Code 39 no lleva dígito de control obligatorio (existe una variante opcional, módulo 43).
- QR usa códigos de corrección de errores Reed-Solomon, mucho más potentes: pueden reconstruir parte del dibujo si está dañado.
- ISBN-13 (libros) usa exactamente el mismo algoritmo que el EAN-13, porque es un EAN con prefijo 978 o 979.
Errores habituales al calcularlo (y cómo evitarlos)
- Excel te borra los ceros iniciales. Un código como
036000291452pasa a36000291452y deja de ser válido. Formatea la columna como Texto antes de escribir o pegar. - Contar los pesos desde la izquierda en formatos de longitud par. En EAN-8 y UPC-A, el primer dígito tiene peso 3, no 1. Cuenta siempre desde la derecha.
- Incluir el dígito de control en la suma al calcularlo. Al calcular, solo se usa el cuerpo. El control se incluye únicamente al validar.
- Confundir 12 y 13 dígitos. Un EAN-13 se escribe con 12 dígitos más el control; un UPC-A, con 11 más el control. Si escribes 12 en un UPC-A, sobra un dígito.
Cómo lo hace GeneraEtiquetas
Elige un tipo numérico (EAN-13, EAN-8, UPC-A o ITF-14) en el paso 1 y escribe el código:
- Si escribes el cuerpo sin el dígito de control, lo calcula y lo añade, y te lo indica.
- Si escribes el código completo y el último dígito no cuadra, te dice cuál debería ser y te ofrece corregirlo con un clic.
- En el modo de varias etiquetas, marca cada fila con error y puedes corregir todas de golpe.
- Con las series automáticas en formatos numéricos, rellena con ceros y añade el dígito de control a cada código.
Cómo hemos comprobado que el cálculo es correcto se explica en Cómo verificamos las medidas y los códigos.
Preguntas frecuentes
¿Qué pasa si el dígito de control de mi código es incorrecto?
El lector de la caja rechazará la lectura (o, en algunos sistemas, dará un error), porque el último número no cuadra con los anteriores. GeneraEtiquetas te avisa antes de imprimir y te indica el dígito correcto.
¿Puedo elegir yo el dígito de control?
No. Se calcula siempre a partir de los demás dígitos; si pones otro, el código no será válido. Lo único que se puede elegir son los dígitos anteriores, que en un EAN oficial los asigna GS1.
¿El dígito de control garantiza que el código es único?
No. Solo comprueba que el número está bien formado. Un código con el control correcto puede estar sin asignar o pertenecer a otro producto. La unicidad mundial solo la garantiza GS1.
¿Se calcula igual en EAN-13 que en UPC-A?
Sí: es el mismo algoritmo (módulo 10 de GS1). Se numera desde la derecha, se multiplica por 3 y por 1 alternando, se suma y se calcula lo que falta para la decena. Solo cambia la longitud del cuerpo (12 dígitos en EAN-13, 11 en UPC-A).
¿Por qué mi Excel me da un código distinto?
Lo más habitual es que Excel haya quitado los ceros iniciales (formatea la columna como Texto) o que se estén contando los pesos desde el lado equivocado. Pega los códigos en GeneraEtiquetas y compara con el que calcula.
Más guías
Qué código elegir
Cuál elegir entre EAN-13, UPC-A, Code 128, Code 39, ITF-14 y QR según tu caso: tienda, inventario, cajas o enlaces. Comparativa con ejemplos.
Tamaño mínimo
Qué tamaño, márgenes en blanco y contraste necesita un código de barras para leerse: módulo, zonas de silencio, resolución de impresora y ejemplos reales.
Calibrar la impresora
Guía paso a paso para que las etiquetas no se descuadren: escala 100 %, hoja de prueba, ajuste en milímetros, ajustes del controlador y solución de problemas.
Etiquetas de precio
Crea e imprime etiquetas de precio con código de barras: nombre, precio, precio rebajado tachado y hojas Avery. Gratis y sin subir tus datos.
Plantillas Avery
Medidas en milímetros de las hojas Avery 3474, L7160, L7651 y más. Genera el PDF con cada etiqueta en su celda o define tu cuadrícula. Gratis.
Generador completo
Todos los formatos de código de barras y etiquetas en una sola herramienta.
Hojas más consultadas: Avery 3474 · Avery L7162 · Avery 5162 / 8162 · Avery 3422 · Avery L7165 · Avery 5160 / 8160