Dígito de control EAN: cómo calcularlo, con calculadora gratuita
Cómo se calcula el 13.º dígito de un código EAN, cómo validar cualquier GTIN en segundos y por qué un dígito de control correcto no dice nada sobre quién es el titular del código.
En resumen
- El dígito de control es el último dígito de un EAN-13 y se calcula a partir de los 12 primeros dígitos.
- Multiplique los dígitos alternativamente por 1 y por 3 desde la izquierda, súmelos y tome lo que falta para llegar al siguiente múltiplo de 10.
- En GTIN-8, UPC-A y GTIN-14 las ponderaciones empiezan por la derecha: el dígito contiguo al dígito de control siempre cuenta tres veces.
- El dígito de control detecta cualquier dígito erróneo aislado y la mayoría de los intercambios, pero no el intercambio de dígitos que se diferencian en 5.
- Un dígito de control válido solo demuestra el formato; no dice nada sobre registro, titularidad ni unicidad.
El dígito de control EAN es el 13.º y último dígito del número de un código de barras EAN-13, y se calcula a partir de los 12 primeros dígitos para que los escáneres y el software puedan detectar errores de escritura y de lectura. Para calcular el dígito de control EAN, multiplique los 12 primeros dígitos alternativamente por 1 y por 3 (empezando por 1 a la izquierda), sume los resultados y tome lo que falta para llegar al siguiente múltiplo de 10: ese número, de 0 a 9, es el dígito de control.
Ese es todo el método, y es el mismo que GS1 publica para todas las longitudes de GTIN. Esta guía lo explica paso a paso con ejemplos resueltos por completo, muestra cómo cambian las ponderaciones en el GTIN-8, el UPC-A (GTIN-12) y el GTIN-14, explica qué errores detecta el dígito de control y cuáles se le escapan, y le ofrece fórmulas que puede pegar directamente en Excel o Google Sheets. También puede usar la calculadora gratuita que aparece a continuación para calcular o comprobar un código EAN en un segundo.
Una aclaración antes de empezar, porque genera mucha confusión: un dígito de control correcto le indica que un número está bien formado. No le indica que el número se haya asignado a alguien, que sea único ni que le pertenezca a usted. Volveremos sobre ello en detalle más adelante.
¿Qué es el dígito de control de un código EAN y para qué sirve?
Un código EAN-13 (también llamado GTIN-13, el Global Trade Item Number de 13 dígitos) se compone de un prefijo de empresa GS1, una referencia de artículo y un dígito de control al final. El prefijo y la referencia de artículo identifican juntos el producto. El dígito de control no aporta ninguna información sobre el producto. Su única función es proteger los otros 12 dígitos frente a errores.
Piense en la cantidad de veces que se copia un código de producto, a mano o por máquina: un vendedor escribe el código en la plantilla de carga de un marketplace, un operario de almacén lo teclea en el programa de stock cuando una etiqueta no se puede escanear, una herramienta de feeds convierte una columna de una hoja de cálculo, un escáner lee un código de barras en una bolsa arrugada. Cada uno de esos pasos puede introducir un error. Sin dígito de control, un número equivocado parecería tan verosímil como el correcto, y el error solo saldría a la luz cuando el producto equivocado apareciera en un pedido.
Con un dígito de control, el sistema que recibe el número puede recalcular el último dígito a partir de los 12 primeros y compararlo. Si no coinciden, el número se rechaza de inmediato. Los escáneres de caja lo hacen con cada pitido, y por eso un código de barras dañado suele no leerse en lugar de registrar el producto equivocado. Los validadores de los marketplaces y de los feeds de productos hacen lo mismo con los números que usted sube. Google, por ejemplo, pide a los comerciantes que se aseguren de que el dígito de control sea válido y remite a la calculadora de GS1 para comprobarlo.
Dónde está el dígito de control en el código
En el número EAN-13 8712345678906, las partes son:
- 871234567890: los 12 primeros dígitos, que contienen el prefijo de empresa GS1 (de 7 a 10 dígitos, empezando por un prefijo GS1 de 2 o 3 dígitos) y la referencia de artículo.
- 6: el dígito de control, calculado a partir de esos 12 dígitos.
Este número se utiliza en todo el artículo únicamente para ilustrar la aritmética. No corresponde a ningún producto real. Si quiere entender qué significan el prefijo y la referencia de artículo, y por qué los primeros dígitos no revelan dónde se fabricó un producto, lea nuestra guía completa del código EAN.
Cómo calcular el dígito de control de un EAN-13, paso a paso
GS1, la organización que mantiene el estándar GTIN, describe el cálculo como un método de módulo 10 con ponderaciones de 1 y 3 (GS1: cómo calcular un dígito de control manualmente). «Módulo 10» significa simplemente que solo importa el resto de dividir entre 10, es decir, el último dígito de la suma. Estos son los pasos para un EAN-13.
- Anote los 12 primeros dígitos. Deje fuera el dígito de control si ya lo tiene, o parta de los 12 dígitos que quiere completar.
- Asigne una ponderación a cada dígito. Empezando por la izquierda, el 1.er dígito tiene ponderación 1, el 2.º ponderación 3, el 3.º ponderación 1, y así sucesivamente, alternando. Las posiciones impares valen 1 y las pares, 3.
- Multiplique cada dígito por su ponderación. Obtendrá 12 productos.
- Sume los 12 productos.
- Busque el siguiente múltiplo de 10. Redondee la suma hacia arriba al múltiplo de 10 más cercano (si la suma ya termina en 0, ya es un múltiplo de 10).
- Reste. El siguiente múltiplo de 10 menos la suma es el dígito de control. Si la suma ya termina en 0, el dígito de control es 0.
Un atajo que da el mismo resultado: tome el último dígito de la suma y réstelo de 10. Si el resultado es 10, el dígito de control es 0. Expresado como fórmula: dígito de control = (10 − (suma mod 10)) mod 10.
Truco para recordarlo: en un EAN-13, los dígitos de las posiciones 2, 4, 6, 8, 10 y 12 (el que está justo a la izquierda del dígito de control y uno de cada dos antes de él) son los que se multiplican por 3. Todos los demás cuentan una vez.
Ejemplos resueltos: dígitos de control EAN-13 calculados por completo
La forma más rápida de confiar en el método es verlo funcionar con algunos números. Cada ejemplo de abajo se ha calculado y comprobado dos veces.
Ejemplo 1: 871234567890 se convierte en 8712345678906
| Posición | Dígito | Ponderación | Producto |
|---|---|---|---|
| 1 | 8 | ×1 | 8 |
| 2 | 7 | ×3 | 21 |
| 3 | 1 | ×1 | 1 |
| 4 | 2 | ×3 | 6 |
| 5 | 3 | ×1 | 3 |
| 6 | 4 | ×3 | 12 |
| 7 | 5 | ×1 | 5 |
| 8 | 6 | ×3 | 18 |
| 9 | 7 | ×1 | 7 |
| 10 | 8 | ×3 | 24 |
| 11 | 9 | ×1 | 9 |
| 12 | 0 | ×3 | 0 |
| Suma | 114 | ||
El siguiente múltiplo de 10 después de 114 es 120, y 120 − 114 = 6. El dígito de control es 6, así que el código EAN-13 completo es 8712345678906.
Ejemplo 2: el ejemplo de GS1, 629104150021 se convierte en 6291041500213
GS1 utiliza este número en su página de cálculo manual. Los dígitos 6 2 9 1 0 4 1 5 0 0 2 1, ponderados 1, 3, 1, 3 y así sucesivamente, dan los productos 6, 6, 9, 3, 0, 12, 1, 15, 0, 0, 2 y 3. Su suma es 57. El siguiente múltiplo de 10 es 60, y 60 − 57 = 3. El número completo es 6291041500213.
Fíjese en el 2 de la posición 11 y el 1 de la posición 12: el 2 se multiplica por 1 y el 1 se multiplica por 3. Confundir esos dos es el motivo más habitual de que un cálculo a mano salga mal.
Ejemplo 3: un código de muestra de una guía de publicación en Kaufland, 4006381333931
Una guía de publicación de productos en Kaufland publicada por wisepim usa 4006381333931 como EAN de ejemplo. Comprobemos el último dígito. Los 12 primeros dígitos son 4 0 0 6 3 8 1 3 3 3 9 3.
- Posiciones impares (ponderación 1): 4 + 0 + 3 + 1 + 3 + 9 = 20
- Posiciones pares (ponderación 3): (0 + 6 + 8 + 3 + 3 + 3) × 3 = 23 × 3 = 69
- Suma: 20 + 69 = 89
- Siguiente múltiplo de 10: 90, así que el dígito de control es 90 − 89 = 1
El código termina en 1, así que es válido. Este ejemplo muestra además un atajo útil para el cálculo mental: sume las posiciones impares, sume las posiciones pares, multiplique una sola vez el total par por 3 y sume los dos totales. Es el mismo cálculo con menos multiplicaciones.
Ejemplo 4: cuando el dígito de control es 0
Tome los 12 dígitos 501234567890. Las posiciones impares suman 5 + 1 + 3 + 5 + 7 + 9 = 30. Las posiciones pares suman 0 + 2 + 4 + 6 + 8 + 0 = 20, y 20 × 3 = 60. El total es 90, que ya es un múltiplo de 10, así que el dígito de control es 0 y el número completo es 5012345678900. A veces se espera que la respuesta sea 10 en este caso. Nunca lo es: un dígito de control es siempre un único dígito del 0 al 9.
Ejemplo 5: un ISBN-13 usa exactamente el mismo método
Los números de libros que empiezan por 978 o 979 son GTIN-13 del rango GS1 «Bookland», así que su último dígito sigue la misma regla. Para el ISBN-13 de ejemplo 978030640615, las posiciones impares dan 9 + 8 + 3 + 6 + 0 + 1 = 27 y las posiciones pares (7 + 0 + 0 + 4 + 6 + 5) × 3 = 22 × 3 = 66. La suma es 93, así que el dígito de control es 7 y el número es 9780306406157. Recuerde que los ISBN los asignan las agencias nacionales del ISBN, no GS1 ni los revendedores de códigos de barras.
Cómo validar un EAN-13 completo en un solo paso
Cuando ya tiene los 13 dígitos y solo quiere saber si el número es válido, no necesita calcular el dígito de control por separado y compararlo. Hay una prueba más rápida.
- Pondere los 13 dígitos: 1, 3, 1, 3… desde la izquierda, lo que significa que el propio dígito de control recibe la ponderación 1.
- Sume los 13 productos.
- Si el total termina en 0 (es un múltiplo de 10), el número es válido. Si termina en cualquier otro dígito, no lo es.
Para 8712345678906, los 12 primeros dígitos dan 114 (como en el ejemplo 1), y el dígito de control añade 6 × 1 = 6. El total es 120, que termina en 0, así que el número es válido. Para 8712345678909, el total sería 114 + 9 = 123, que termina en 3, así que el número no es válido.
Esto es exactamente lo que hace la calculadora de arriba cuando pega un código completo de 13 dígitos, y lo que hacen internamente los scripts de validación de los marketplaces y de las plataformas de tienda online.
Dígitos de control de GTIN-8, UPC-A (GTIN-12) y GTIN-14: ponderaciones desde la derecha
Los GTIN existen en cuatro longitudes: GTIN-8, GTIN-12, GTIN-13 y GTIN-14. El feed de productos de Google acepta las cuatro (ayuda de Google Merchant Center sobre el GTIN). Todas usan el mismo cálculo de módulo 10, pero hay una regla que se suele aplicar mal al cambiar de longitud: las ponderaciones se fijan desde la derecha, no desde la izquierda.
El dígito situado inmediatamente a la izquierda del dígito de control recibe siempre la ponderación 3. Hacia la izquierda, las ponderaciones alternan 1, 3, 1, 3. En un GTIN-13 eso produce 1, 3, 1, 3… desde la izquierda, porque hay 12 dígitos antes del dígito de control (un número par). En el GTIN-8 y el GTIN-12 hay un número impar de dígitos antes del dígito de control (7 y 11), así que, contado desde la izquierda, el patrón empieza por 3. Lo mismo ocurre con el GTIN-14, que tiene 13 dígitos antes del dígito de control.
| Formato | Dígitos antes del dígito de control | Ponderaciones desde la izquierda | Uso habitual |
|---|---|---|---|
| GTIN-8 (EAN-8) | 7 | 3, 1, 3, 1, 3, 1, 3 | Envases muy pequeños |
| GTIN-12 (UPC-A) | 11 | 3, 1, 3 … 3 | Productos en Estados Unidos y Canadá |
| GTIN-13 (EAN-13) | 12 | 1, 3, 1 … 3 | Productos de consumo fuera de Norteamérica |
| GTIN-14 | 13 | 3, 1, 3 … 3 | Cajas y otras unidades logísticas (ITF-14, GS1-128) |
Una regla para todas las longitudes: rellene cualquier GTIN con ceros a la izquierda hasta 14 dígitos y pondere los 13 primeros dígitos 3, 1, 3, 1… desde la izquierda. Los ceros a la izquierda no suman nada, así que el resultado es idéntico para GTIN-8, 12, 13 y 14. Muchos scripts de validación funcionan exactamente así.
Ejemplo de GTIN-8: 9638507 se convierte en 96385074
Las ponderaciones desde la izquierda son 3, 1, 3, 1, 3, 1, 3. Los productos son 9×3 = 27, 6×1 = 6, 3×3 = 9, 8×1 = 8, 5×3 = 15, 0×1 = 0 y 7×3 = 21. La suma es 86, el siguiente múltiplo de 10 es 90 y el dígito de control es 4. El GTIN-8 completo es 96385074.
Si hubiera usado por error el patrón del EAN-13 (1, 3, 1… desde la izquierda), obtendría un dígito distinto e incorrecto. Es el error clásico con los códigos EAN-8. En la práctica, pocos vendedores online necesitan un EAN-8: GS1 Nederland solo lo asigna para ciertos envases pequeños, por ejemplo cuando la superficie imprimible es inferior a 80 cm², y propone reducir un EAN-13 como alternativa (soporte de GS1 NL).
Ejemplo de UPC-A (GTIN-12): 03600029145 se convierte en 036000291452
Para los 11 dígitos 0 3 6 0 0 0 2 9 1 4 5, las ponderaciones desde la izquierda son 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3. Las posiciones impares suman 0 + 6 + 0 + 2 + 1 + 5 = 14, que por 3 da 42. Las posiciones pares suman 3 + 0 + 0 + 9 + 4 = 16. La suma es 42 + 16 = 58, así que el dígito de control es 60 − 58 = 2, lo que da 036000291452.
Escriba ahora el mismo UPC como EAN-13 añadiendo un cero delante: 0036000291452. Pondere los 12 primeros dígitos 1, 3, 1, 3… desde la izquierda y obtendrá la misma suma de 58 y el mismo dígito de control, 2. Por eso un UPC-A con un 0 delante es un GTIN-13 válido, y por eso los números de origen estadounidense empiezan por 0 cuando se escriben como EAN-13. La diferencia entre estos formatos se explica en EAN, UPC y GTIN: diferencias explicadas.
Ejemplo de GTIN-14: 1871234567890 se convierte en 18712345678903
Los GTIN-14 identifican unidades logísticas como las cajas exteriores, que normalmente se imprimen como código de barras ITF-14 o GS1-128 (GS1 UK sobre niveles de embalaje). Solo para mostrar la aritmética, tome los 13 dígitos 1 8 7 1 2 3 4 5 6 7 8 9 0. Con ponderaciones 3, 1, 3… desde la izquierda:
- Posiciones impares (ponderación 3): 1 + 7 + 2 + 4 + 6 + 8 + 0 = 28, por 3 = 84
- Posiciones pares (ponderación 1): 8 + 1 + 3 + 5 + 7 + 9 = 33
- Suma: 84 + 33 = 117, así que el dígito de control es 120 − 117 = 3
El número completo es 18712345678903. Observe que su dígito de control (3) difiere del dígito de control del EAN-13 para 871234567890 (6). Cambiar el primer dígito cambia la suma, así que un GTIN-14 para una caja necesita su propio dígito de control. Los GTIN de las cajas los asigna el propietario de la marca conforme a las reglas de GS1, así que no los invente para productos reales.
Rellenar un EAN-13 hasta 14 dígitos
Algunos sistemas almacenan todos los GTIN en un campo de 14 dígitos. En esos campos, un GTIN-13 recibe un cero a la izquierda: 8712345678906 pasa a ser 08712345678906, como explica GS1 UK para los campos de código de barras de 14 dígitos. El dígito de control sigue siendo 6, porque un cero delante no añade nada a la suma ponderada. Para rellenar solo se permiten ceros. Cualquier otro dígito inicial crea un número distinto con un dígito de control distinto, como muestra el ejemplo de GTIN-14.
¿Qué errores detecta el dígito de control y cuáles se le escapan?
Las ponderaciones 1 y 3 se eligieron para que los errores humanos más habituales cambien el último dígito de la suma. Esto es lo que significa en la práctica.
Un solo dígito erróneo: siempre se detecta
Si un dígito es incorrecto, el número siempre falla la comprobación. Cambie el 5.º dígito de 8712345678906 de 3 a 8 y obtendrá 8712845678906. Los 12 primeros dígitos suman ahora 119 en lugar de 114, así que el dígito de control correcto sería 1, no 6. El validador rechaza el código. Esto funciona con cualquier dígito erróneo en cualquier posición: multiplicar la diferencia por 1 o por 3 nunca puede dar un múltiplo de 10, salvo que la diferencia sea cero.
Dos dígitos contiguos intercambiados: casi siempre se detecta
Transponer dos dígitos contiguos es un error de tecleo muy común. Intercambie los dos últimos dígitos antes del dígito de control en 8712345678906 y obtendrá 8712345678096. Los 12 primeros dígitos (871234567809) dan ahora un dígito de control de 8, no de 6, así que el código se rechaza.
Hay un punto ciego. Si los dos dígitos intercambiados se diferencian exactamente en 5 (0 y 5, 1 y 6, 2 y 7, 3 y 8, 4 y 9), el intercambio no se detecta. Un dígito pasa de la ponderación 1 a la 3 y el otro al revés, así que la suma cambia en 2 × 5 = 10, lo que deja igual su último dígito. Por ejemplo, 8712345678500 y 8712345678050 son ambos números EAN-13 válidos: sus 12 primeros dígitos suman 110 y 120, y ambos dan un dígito de control de 0. Si alguien escribe uno en lugar del otro, ningún validador lo notará.
Errores mayores: se detectan casi siempre, pero no siempre
Cuando dos o más dígitos son incorrectos a la vez, o se intercambian dígitos más alejados, el dígito de control detecta el error en la mayoría de los casos, pero no en todos. A grandes rasgos, un número erróneo cualquiera tiene alrededor de una probabilidad entre diez de terminar por casualidad en el dígito de control correcto, porque solo hay diez dígitos de control posibles. Por eso el dígito de control es una red de seguridad contra pequeños descuidos, no una garantía de que un número sea correcto.
| Tipo de error | Ejemplo | ¿Se detecta? |
|---|---|---|
| Un dígito erróneo | 8712845678906 | Sí, siempre |
| Intercambio de dígitos contiguos que no se diferencian en 5 | 8712345678096 (9 y 0 intercambiados) | Sí |
| Intercambio de dígitos contiguos que se diferencian en 5 | 8712345678050 en lugar de 8712345678500 | No |
| Solo el dígito de control es erróneo | 8712345678909 | Sí, siempre |
| Varios dígitos erróneos | Cualquiera | Normalmente, no siempre |
| Número correcto, producto equivocado | Un código válido de otro artículo | No, nunca |
La última fila es la que más importa a los vendedores, y nos lleva directamente a la siguiente sección.
Lo que un dígito de control válido no demuestra
En internet encontrará muchos «validadores de EAN» que dicen que un número es «válido» o incluso «verificado». En casi todos los casos, lo único que han hecho es el cálculo de este artículo. La propia Google sugiere usar la calculadora de dígito de control de GS1 para verificar un GTIN, pero eso es una comprobación de formato. Una marca verde de una herramienta de dígito de control no le dice nada sobre lo siguiente.
- Si el número se llegó a asignar. Aproximadamente una de cada diez secuencias aleatorias de 13 dígitos termina en el dígito de control correcto. Esos números tienen un formato válido y puede que nunca se hayan asignado a nadie.
- A quién pertenece el número. El dígito de control no contiene ninguna información sobre el propietario de la marca, el titular de la licencia ni el comprador.
- Si el número es único. Un código que ya se ha usado para otro producto supera la prueba del dígito de control igual de fácil que uno sin usar.
- Si el prefijo está permitido para productos. Los rangos restringidos y especiales, como 200–299 (códigos internos de tienda y de peso variable), 977 (ISSN), 978–979 (ISBN), 980 (vales de devolución) y 981–983 y 99 (cupones), pueden llevar dígitos de control válidos (lista de prefijos GS1). Google Merchant Center rechaza los prefijos 02, 04 y 2 como restringidos, y 05, 98, 99 y 981–984 como rangos de cupones, aunque el dígito de control sea correcto.
- Si un marketplace lo aceptará. Amazon compara los códigos de producto con los datos de GS1, y bol.com exige un EAN registrado en GS1 para los artículos de marca. Un dígito de control correcto no le permite superar ninguna de las dos reglas. Consulte códigos EAN para Amazon para ver cómo funciona esa comprobación de marca.
Comprobación de formato frente a consulta en un registro
Para saber de un número algo más que su formato, necesita un registro. El buscador de GS1, Verified by GS1 (gepir.gs1.org ahora redirige allí), muestra la empresa que obtuvo el número bajo licencia de GS1, además de los datos de producto que haya subido el titular (Verified by GS1). En el caso de un número revendido, muestra el titular original de la licencia, o ningún dato de producto, y no la empresa que lo utiliza hoy.
GTINcodes.com mantiene su propio registro, independiente. Cada EAN-13 vendido en nuestras tiendas es un número válido del stock de GTINcodes, asignado una sola vez y registrado a nombre del comprador en el registro de GTINcodes, y cualquiera puede consultarlo en la página de comprobación de códigos. Ese registro muestra a qué cliente se asignó el número y cuándo y, con un plan de protección, también el nombre de la empresa del comprador. No es un registro en GS1 y no cambia lo que muestra Verified by GS1. Si necesita demostrar en una disputa que un código es suyo, nuestra guía para demostrar la titularidad de un EAN explica qué tipo de prueba sirve en cada caso.
| Pregunta | Cálculo del dígito de control | Verified by GS1 | Registro de GTINcodes |
|---|---|---|---|
| ¿Está bien formado el número? | Sí | Sí | Sí |
| ¿Quién lo obtuvo bajo licencia de GS1? | No | Sí | No |
| ¿Quién lo compró a GTINcodes.com y cuándo? | No | No | Sí, para números de GTINcodes |
| ¿Es exclusivo de un solo producto? | No | Solo para los datos publicados por el titular | Asignado una sola vez por GTINcodes.com |
| ¿Lo aceptará un marketplace? | No | Depende de las reglas del canal | Depende de las reglas del canal |
Cómo calcular el dígito de control EAN en Excel, Google Sheets y en código
Si gestiona decenas o cientos de productos, querrá comprobar los códigos de forma masiva y no uno a uno. Las fórmulas siguientes suponen que el código está guardado como texto en la celda A2, sin espacios ni guiones.
Fórmula de hoja de cálculo: calcular el 13.º dígito
Ponga los 12 primeros dígitos en A2 y use esta fórmula en B2:
=RESIDUO(10-RESIDUO(SUMAPRODUCTO(--EXTRAE(A2;{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)
Toma cada uno de los 12 caracteres con EXTRAE (MID en inglés), los convierte en números con el doble signo menos, los multiplica por las ponderaciones 1, 3, 1, 3… con SUMAPRODUCTO (SUMPRODUCT) y aplica la regla del módulo 10 con RESIDUO (MOD). Para 871234567890 devuelve 6. Si su hoja de cálculo está en inglés, use los nombres ingleses de las funciones y comas en lugar de puntos y coma. Después, una ambas celdas con =A2&B2 para obtener el código completo de 13 dígitos.
Fórmula de hoja de cálculo: validar un EAN-13 completo
Ponga los 13 dígitos completos en A2:
=Y(LARGO(A2)=13;RESIDUO(SUMAPRODUCTO(--EXTRAE(A2;{1;2;3;4;5;6;7;8;9;10;11;12;13};1);{1;3;1;3;1;3;1;3;1;3;1;3;1});10)=0)
Y (AND) comprueba a la vez la longitud con LARGO (LEN) y la suma ponderada. La fórmula devuelve VERDADERO (TRUE) para 8712345678906, 6291041500213 y 4006381333931, y FALSO (FALSE) para 8712345678909. Compruebe la fórmula con estos ejemplos conocidos antes de fiarse de ella con su propia lista. Las versiones de las hojas de cálculo y la configuración regional varían: en español, el separador de argumentos es el punto y coma en lugar de la coma, y aquí las constantes matriciales también se escriben con punto y coma, lo que funciona en este cálculo porque ambas series tienen la misma forma.
Cuidado con los ceros a la izquierda y la notación científica
Las hojas de cálculo son la principal fuente de códigos EAN estropeados. Fallan dos cosas.
- Los ceros a la izquierda desaparecen. Escriba 0036000291452 en una celda con formato de número y se convertirá en 36000291452, que solo tiene 11 dígitos. Dé formato de texto a la columna antes de pegar los códigos, o escriba un apóstrofo delante del número.
- Los números largos pasan a notación científica. Un número de 13 dígitos puede mostrarse como 8,71235E+12. Si el archivo se guarda como CSV en ese estado, los dígitos reales pueden perderse y sustituirse por ceros. De nuevo, la solución es tratar la columna como texto desde el principio.
Después de cada importación o exportación, aplique la fórmula de validación a toda la columna. Una columna de valores FALSO es mucho más fácil de detectar que un informe de rechazo de un marketplace una semana después.
Unas líneas de Python para cualquier longitud de GTIN
Los desarrolladores pueden usar la regla de las «ponderaciones desde la derecha» para tratar las cuatro longitudes con una sola función:
def check_digit(body):
total = sum(int(d) * (3 if i % 2 == 0 else 1) for i, d in enumerate(reversed(body)))
return (10 - total % 10) % 10
Pásele los dígitos sin el dígito de control: 7 para un GTIN-8, 11 para un GTIN-12, 12 para un GTIN-13 o 13 para un GTIN-14. Como empieza por el dígito situado más a la derecha con ponderación 3, check_digit("871234567890") devuelve 6, check_digit("9638507") devuelve 4 y check_digit("03600029145") devuelve 2. Para validar un código completo, compare el resultado con su último dígito. Antes de llamar a la función, elimine espacios y guiones y confirme que la entrada solo contiene dígitos.
Plataformas de tienda online que validan por usted
Algunas plataformas ya realizan esta comprobación al introducir el código. La versión 2026-10 de la API de Shopify, anunciada el 8 de septiembre de 2026, sustituye el campo único de código de barras de cada variante por una lista de hasta 20 identificadores por variante, cada uno con su tipo (UPC, EAN, ISBN, GTIN o ASIN) y validado según su estándar (registro de cambios para desarrolladores de Shopify). En la práctica, un código con un dígito de control erróneo, o un EAN de 13 dígitos introducido como UPC, puede rechazarse en el momento de guardar el producto y no más tarde en un feed.
Errores de validación de EAN frecuentes en marketplaces y feeds
Cuando un canal rechaza un código por «no válido», la causa suele ser uno de los problemas siguientes. Revíselos en este orden, porque los primeros se comprueban en segundos.
1. El número no tiene la longitud correcta
Un EAN-13 tiene exactamente 13 dígitos. Cuéntelos. Un número de 12 dígitos suele ser un UPC-A que ha perdido el cero inicial, o un EAN-13 que ha perdido el dígito de control. Un número de 11 dígitos suele ser un UPC-A que ha perdido el cero inicial en una hoja de cálculo. Un número de 14 dígitos puede ser un GTIN-13 rellenado (con un 0 delante) o un GTIN-14 de caja que no debería figurar en un anuncio para consumidores.
2. Un UPC en un campo EAN, o al revés
Algunos formularios y feeds tienen campos separados para UPC y EAN. Un UPC-A de 12 dígitos introducido en un campo EAN de 13 dígitos necesita un cero delante para convertirse en GTIN-13. Un EAN de 13 dígitos introducido en un campo UPC fallará directamente. Poner un EAN de 13 dígitos en un campo UPC es uno de los problemas de GTIN más habituales entre los vendedores, según gtin.info, sitio socio de GS1 US.
3. Caracteres ocultos
Los espacios, guiones, espacios de no separación y la letra O en lugar del número 0 hacen fallar la validación, y algunos son invisibles en una hoja de cálculo. Si un código parece correcto pero falla, vuelva a escribirlo o limpie la columna con una fórmula de «solo dígitos» antes de subirlo.
4. El dígito de control es realmente incorrecto
Si la longitud y los caracteres están bien, recalcule el dígito de control con la calculadora de arriba. Un último dígito incorrecto suele indicar un error de tecleo en algún punto de los 13 dígitos, no solo al final. Vuelva a la fuente (los datos del proveedor, su confirmación de compra o el código de barras impreso) en lugar de «arreglar» el último dígito para que pase la comprobación. Cambiar el dígito de control para que un número incorrecto parezca válido solo crea otro número distinto y equivocado.
5. Ponderaciones erróneas en una herramienta casera
Si su propia hoja de cálculo o script no coincide con la calculadora, revise las ponderaciones. Aplicar 3, 1, 3… desde la izquierda a los 12 dígitos de un EAN-13 (el patrón del GTIN-12) da un resultado erróneo: para 871234567890 produce una suma de 126 y un dígito de control de 4 en lugar de 6. La solución es fijar las ponderaciones desde la derecha, como se explicó antes.
6. Prefijos restringidos o especiales
Un número puede tener un dígito de control perfecto y aun así rechazarse por su prefijo. Los números que empiezan por 2 (códigos de tienda y de peso variable), 977–979 (publicaciones seriadas y libros) o 98–99 (vales de devolución y cupones) no son GTIN normales de producto, y las reglas de feeds de Google incluyen varios de estos rangos como no permitidos. Si un proveedor o un generador gratuito online le ha dado un número así para un producto corriente, es el tipo de código equivocado.
7. Válido, pero ya usado para otro producto
Google lo llama «GTIN incorrecto»: el formato es correcto, pero el número pertenece a otro producto. Amazon tiene el error 8542 para un identificador de producto que ya existe para otro ASIN. Ninguna calculadora de dígito de control puede detectarlo. Necesita un número que no se haya usado antes, y aquí el origen de sus códigos importa más que la aritmética. Para soluciones específicas de cada canal, consulte GTIN para Google Shopping.
No pruebe números uno tras otro hasta que alguno sea aceptado. Subir un código tras otro de un mismo lote, o retocar dígitos hasta que un marketplace deje de protestar, puede parecer un intento de manipular el catálogo. Averigüe por qué se rechazó el primer código y corrija esa causa.
¿Puede crear su propio código EAN calculando el dígito de control?
Técnicamente, cualquiera puede escribir 12 dígitos y añadir el 13.º correcto. El resultado superará cualquier prueba de dígito de control. Pero eso no lo convierte en un número de producto utilizable, y aquí es donde muchos vendedores nuevos se equivocan.
Un GTIN solo funciona si es único: un número para un producto, en todo el mundo. Los minoristas y los marketplaces construyen sus catálogos sobre esa premisa. Bol.com y Kaufland, por ejemplo, crean una página de producto por EAN y asocian a ella la oferta de cada vendedor de ese artículo. Un número inventado puede pertenecer ya al producto de otra persona, estar en un rango restringido o chocar con un código que se asigne más adelante. La indicación de Google es tajante: «No se invente ni cree GTIN nuevos» («Do not make up or create new GTINs», Google Merchant Center).
La imagen del código de barras es otra cosa. Una vez que tiene un número que se le ha asignado correctamente, puede generar usted mismo el gráfico del código de barras EAN-13 con software gratuito. El blog alemán de Shopify lo resume bien: inventarse los EAN es arriesgado por los duplicados, pero la imagen del código de barras se puede crear sin ningún problema. Para el tamaño de impresión, los colores y los márgenes en blanco, consulte nuestra guía de impresión de códigos de barras.
De dónde salen los números asignados correctamente
Hay dos vías. Las organizaciones miembro de GS1, como AECOC (GS1 Spain), conceden bajo licencia prefijos de empresa y GTIN individuales, normalmente a cambio de una cuota anual. GS1 es la opción adecuada si vende a cadenas de distribución o supermercados, en Zalando, o productos de marca en Amazon o bol.com, o si necesita que su empresa aparezca en el registro de GS1. Revendedores como GTINcodes.com venden números individuales por un precio único. Nuestros números son EAN-13 válidos del stock de GTINcodes, asignados una sola vez y registrados a su nombre en el registro de GTINcodes. No son afiliaciones a GS1, y en Verified by GS1 muestran el titular original de la licencia o nada, no su empresa. Son adecuados para productos sin marca, su propia tienda online y los canales cuya regla es «un EAN válido y único». Nuestra comparativa honesta entre códigos de GS1 y de revendedores explica qué opción encaja en cada situación, y los precios de nuestros códigos figuran en nuestras tiendas.
Ceros a la izquierda, prefijos de país y códigos 2D: más detalles sobre el dígito de control
El dígito de control en el código de barras impreso
Los dígitos legibles bajo un código de barras EAN-13 incluyen el dígito de control, para que alguien pueda teclear el número completo si el código de barras no se escanea. El dígito de control también está codificado en las barras, y el escáner lo recalcula en cada lectura. Si solo le dan 12 dígitos de un producto, falta el 13.º y hay que calcularlo, pero hágalo solo cuando sepa que esos 12 dígitos son correctos y se asignaron a ese producto.
Muchos productos comparten el mismo dígito de control
Solo hay diez dígitos de control posibles, así que aproximadamente uno de cada diez GTIN termina en un dígito determinado. El dígito de control por sí solo no identifica nada. Solo el número completo de 13 dígitos identifica el producto.
Los ceros a la izquierda nunca cambian el dígito de control
Los ceros a la izquierda no suman nada a la suma ponderada, así que rellenar un UPC-A hasta 13 dígitos o un EAN-13 hasta 14 mantiene el mismo dígito de control. Cualquier otro cambio en los dígitos anteriores al dígito de control, incluido añadir un 1 delante, sí lo cambia.
El cálculo es el mismo en todos los países
El método forma parte del estándar global de GS1 y es idéntico en todas partes. El prefijo al inicio del número solo indica qué oficina nacional de GS1 asignó el prefijo de empresa. No indica dónde se fabricó el producto ni dónde está establecido el vendedor, como GS1 afirma explícitamente, y no influye en el cálculo del dígito de control.
Los códigos 2D y Sunrise 2027 usan el mismo dígito de control
GS1 y el sector minorista aspiran a que los sistemas de caja de todo el mundo puedan leer códigos 2D (GS1 DataMatrix y códigos QR con GS1 Digital Link) a finales de 2027. Es un objetivo de preparación, no una obligación, y el código de barras 1D EAN/UPC seguirá conviviendo con los códigos 2D durante años. Un código 2D contiene el mismo GTIN, dígito de control incluido, así que el cálculo de este artículo sigue siendo exactamente el mismo.
Lista de comprobación: validar un EAN antes de imprimirlo o publicarlo
Siga estos pasos cada vez que añada códigos nuevos a sus datos de producto, antes de enviar nada a la imprenta o a un marketplace.
- Limpie la entrada. Elimine espacios, guiones y caracteres ocultos. Asegúrese de que la columna de su hoja de cálculo tenga formato de texto para conservar los ceros a la izquierda.
- Compruebe la longitud. 13 dígitos para un EAN-13, 12 para un UPC-A, 8 para un GTIN-8 y 14 para un GTIN-14. Rellene solo con ceros a la izquierda.
- Valide el dígito de control. Use la calculadora del principio de esta página o la fórmula de hoja de cálculo. Los 13 dígitos ponderados juntos deben sumar un múltiplo de 10.
- Revise el prefijo. Los códigos de productos corrientes no deben empezar por 2, 977, 978, 979, 98 ni 99.
- Compruebe la unicidad en sus propios datos. Ordene la columna y busque duplicados. Cada talla, color y formato de envase necesita su propio código.
- Compruebe a nombre de quién está registrado el código. Para números de GS1, busque en Verified by GS1. Para números comprados a GTINcodes.com, use nuestra página de comprobación de códigos. Busque también en el marketplace para asegurarse de que el número no está ya asociado a otro producto.
- Ajuste el código a las reglas del canal. Un dígito de control válido es necesario en todas partes, pero algunos canales exigen más. Los productos de marca en Amazon y bol.com, Zalando y el comercio físico esperan códigos de GS1 registrados a nombre del propietario de la marca.
- Imprima un código de barras de prueba y escanéelo. Genere el código de barras a partir del número validado, imprímalo al tamaño previsto y escanéelo con un móvil o un lector de mano antes de encargar envases o etiquetas.
Si solo recuerda una cosa de esta guía, que sea esta: el dígito de control es un detector de erratas. Es rápido, fiable para errores aislados y viene integrado en todos los escáneres, pero no dice nada sobre la titularidad. Utilícelo para mantener limpios sus datos, y recurra al registro adecuado, y a la fuente de códigos adecuada, para todo lo demás. Para una visión general de cómo funcionan los EAN, empiece por qué es un código EAN, o vaya a la página de inicio de GTINcodes.com para consultar o registrar códigos.
Preguntas frecuentes
¿Qué es el dígito de control de un EAN-13?
Es el 13.º y último dígito. Se calcula a partir de los 12 primeros dígitos con el método de módulo 10 de GS1, usando ponderaciones de 1 y 3. Los escáneres y el software lo recalculan para detectar errores de escritura y de lectura.
¿El dígito de control EAN es el mismo que el del UPC?
Sí, ambos usan el mismo método de módulo 10 con ponderaciones fijadas desde la derecha. Un UPC-A de 12 dígitos al que se añade un cero delante se convierte en un GTIN-13 con exactamente el mismo dígito de control.
¿Puede el dígito de control de un código EAN ser 0?
Sí. Si la suma ponderada de los 12 primeros dígitos ya es un múltiplo de 10, el dígito de control es 0. Nunca puede ser 10, porque un dígito de control es siempre un único dígito del 0 al 9.
¿Un dígito de control válido significa que un EAN está registrado?
No. Aproximadamente uno de cada diez números aleatorios de 13 dígitos tiene un dígito de control correcto. Para saber a quién se asignó un número, necesita un registro como Verified by GS1, o la página de comprobación de GTINcodes.com para números comprados a GTINcodes.
¿Por qué mi marketplace rechaza un EAN con un dígito de control correcto?
Las causas habituales son un prefijo restringido (por ejemplo, códigos que empiezan por 2, 977 a 979, 98 o 99), un número ya usado para otro producto o una regla del canal que exige un código de GS1 registrado a nombre del propietario de la marca, como ocurre con los productos de marca en Amazon y bol.com.
¿Se puede calcular el dígito de control EAN en Excel?
Sí. Con los 12 dígitos guardados como texto en A2, la fórmula =RESIDUO(10-RESIDUO(SUMAPRODUCTO(--EXTRAE(A2;{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) devuelve el dígito de control (en inglés: MOD, SUMPRODUCT y MID). Dé formato de texto a la columna para no perder los ceros a la izquierda.
¿Necesita códigos EAN?
Códigos EAN-13 válidos y únicos, registrados a nombre de su empresa y en su cuenta en pocos minutos.
Siga leyendo
- Código EAN para variantes y lotes: ¿cuándo necesita un código nuevo?Cada talla, color, formato de pack y lote necesita su propio código EAN, y algunos cambios de producto exigen uno nuevo. Aquí tiene las reglas, las diferencias entre canales y un recuento práctico.
- Tamaño mínimo del código de barras EAN-13: guía de impresiónQué tamaño debe tener un código de barras EAN-13, cuánto espacio en blanco necesita, qué colores se leen y dónde colocarlo, con una lista práctica para imprimir sus etiquetas.
Esta guía describe las reglas tal como las publicaban GS1 y los marketplaces en el momento de redactarla. Las reglas cambian; compruebe las reglas vigentes de su canal de venta antes de publicar. Se trata de información general, no de asesoramiento jurídico.