¿Qué es un dígito de verificación?
Un dígito de verificación es el dígito final de un número de código de barras. No es arbitrario: se calcula a partir de todos los demás dígitos usando un algoritmo fijo. Cuando un escáner lee un código de barras, recalcula cuál debería ser el dígito de verificación basándose en los dígitos que escaneó, y luego compara ese valor con el dígito que realmente leyó. Si coinciden, el escaneo se acepta. Si no coinciden, el escáner rechaza la lectura como un probable error de escaneo.
Este es un mecanismo de detección de errores simple pero efectivo. La mayoría de los errores de escaneo producen un único dígito incorrecto, y un dígito incorrecto casi siempre produce un cálculo de dígito de verificación incorrecto, que el escáner detecta.
¿Qué formatos de código de barras usan dígitos de verificación?
La familia de códigos de barras GS1 —EAN-13, UPC-A, EAN-8, ISBN-13 y GTIN-14— todos usan el mismo algoritmo de dígito de verificación. Esta consistencia es intencional: permite a un único escáner validar códigos de barras de cualquier formato GS1.
Code 128 y Code 39 también tienen mecanismos de dígito de verificación, aunque son opcionales en Code 39 y usan algoritmos diferentes.
El algoritmo de dígito de verificación GS1
El algoritmo módulo-10 de GS1 funciona de la siguiente manera:
- Toma todos los dígitos excepto el dígito de verificación (el último dígito).
- Asigna pesos alternos de 1 y 3 a cada dígito, comenzando desde el dígito más a la derecha (la posición 1 desde la derecha obtiene peso 3, la posición 2 obtiene peso 1, la posición 3 obtiene peso 3, y así sucesivamente).
- Multiplica cada dígito por su peso y suma todos los resultados.
- Divide la suma entre 10. El dígito de verificación es 10 menos el resto. Si el resto es 0, el dígito de verificación es 0.
Ejemplo con base EAN-13: 400638133393
| Posición desde la derecha | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | |---|---|---|---|---|---|---|---|---|---|---|---|---| | Dígito | 4 | 0 | 0 | 6 | 3 | 8 | 1 | 3 | 3 | 3 | 9 | 3 | | Peso | 1 | 3 | 1 | 3 | 1 | 3 | 1 | 3 | 1 | 3 | 1 | 3 | | Producto | 4 | 0 | 0 | 18 | 3 | 24 | 1 | 9 | 3 | 9 | 9 | 9 |
Suma: 4+0+0+18+3+24+1+9+3+9+9+9 = 89
Resto: 89 mod 10 = 9
Dígito de verificación: 10 - 9 = 1
EAN-13 completo: 4006381333931
Validar un dígito de verificación sin software
Si tienes un número EAN-13 de 13 dígitos y quieres verificar que es correcto:
- Separa el último dígito (el dígito de verificación).
- Aplica el algoritmo a los primeros 12 dígitos.
- Compara el dígito de verificación calculado con el último dígito. Si coinciden, el número es válido.
Usar la herramienta verificadora de dígitos de verificación
El verificador de dígito de verificación de código de barras de este sitio hace esto automáticamente. Ingresa tu número de código de barras, selecciona el formato (EAN-13, UPC-A, EAN-8, ISBN-13 o GTIN-14), y la herramienta te indica:
- Si ingresaste un número completo (13 dígitos para EAN-13): valida el dígito de verificación y te muestra si es correcto.
- Si ingresaste el número base sin el dígito de verificación (12 dígitos para EAN-13): calcula y muestra el dígito de verificación correcto.
La herramienta también muestra el cálculo paso a paso para que puedas verificar el proceso.
Escenarios comunes donde esto importa
Errores de transcripción. Tienes un número de producto escrito en papel, pero no estás seguro de si se copió correctamente. Ingrésalo en el verificador para comprobar que el dígito de verificación es consistente con los otros dígitos.
Validación de base de datos. Tienes una hoja de cálculo de códigos de barras de productos importados de un proveedor. Ejecutarlos a través de la validación del dígito de verificación detecta los que se ingresaron con un error tipográfico.
Construir un código de barras a partir de una referencia de producto. Tienes un número base de 12 dígitos y necesitas el EAN-13 completo de 13 dígitos. El verificador calcula el dígito de verificación por ti. Esto también es útil cuando se emplea un generador de números de código de barras aleatorios para pruebas: el dígito de verificación debe ser estructuralmente correcto para que el código escanee sin errores.
Verificar un código de barras que estás a punto de imprimir. Si estás generando tus propios códigos de barras usando un prefijo de empresa GS1, verifica que el dígito de verificación es correcto antes de comprometerte con una tirada de impresión. Un código de barras con un dígito de verificación incorrecto será rechazado por cada escáner que lo valide. Puedes generar y previsualizar un código de barras terminado usando el generador de código de barras EAN-13 o el generador de código de barras UPC-A una vez que hayas confirmado que el número es válido.
Cuando un dígito de verificación correcto no significa que el código de barras esté registrado
Un dígito de verificación válido significa que el número es estructuralmente correcto. No significa que el número esté registrado en GS1, asignado a un producto real o reconocido por la base de datos de productos de ningún minorista. Esos son sistemas completamente separados.
Un código de barras falso —generado con un número arbitrario o aleatorio en lugar de un prefijo GS1 registrado— superará la validación del dígito de verificación y escaneará correctamente. Simplemente devolverá "producto desconocido" en cualquier base de datos de minoristas que busque el producto por código de barras.