Los códigos de barras se diseñan para que una máquina los lea con rapidez, pero entender su mecanismo no es difícil. Detrás del típico «beep» se esconden datos como el país, la empresa y el producto, además de un dígito de verificación que garantiza que la lectura fue correcta.

Cómo leer códigos de barras… sin un lector de código de barras
Código de barras

Breve historia del código de barras

Como ocurre con muchos inventos, el código de barras para productos de consumo tiene su origen a finales de los años cuarenta. Los pioneros fueron Norman Joseph Woodland y Bernard Silver, y ambos patentaron una versión inicial basada en un diseño circular, inspirada según Woodland en el código Morse.

Woodland acabó trabajando con IBM, que mostró un gran interés e incluso intentó comprar la patente, aunque reconoció que la potencia de procesamiento necesaria aún no existía. Setenta años después, los códigos de barras aparecen en casi cualquier producto que se venda por unidad, paquete o peso.

Cómo funcionan los códigos de barras

Todo empieza con un estándar. Aquí entra en juego la organización GS1, con sede en Bruselas, que cuenta con más de 100 oficinas y alrededor de un millón y medio de empresas registradas. Los dos formatos más comunes son UPC-A y EAN-13; el primero se usa en Estados Unidos y Canadá, pero el comercio internacional hace que ambas variantes estén por todas partes.

Cómo leer códigos de barras… sin un lector de código de barras
Los códigos GS1. Nuestro artículo se concentra en UPC-A.

Tomemos UPC-A. Cada código tiene 95 barras, entre negras y blancas, más tres pilares de separación que marcan el inicio, el centro y el final. Estos pilares consumen 11 barras (patrón 3-5-3), dejando 84 barras para la información, divididas en doce grupos de siete barras, uno por dígito. La configuración de cada grupo determina el número representado.

Cómo leer códigos de barras… sin un lector de código de barras
Las diferencias son sutiles, pero críticas

Algo curioso: la codificación no es igual a ambos lados. En la mitad izquierda, las barras blancas son siempre pares; en la derecha, impares. Esto permite que el lector detecte si el código está invertido y lo lea en la dirección correcta.

Los tres primeros dígitos indican el país. Puedes consultar la tabla oficial de prefijos GS1 o usar el buscador internacional de GS1, con un límite diario de consultas. El resto del código identifica la empresa y el producto. GS1 vende prefijos: las grandes compañías necesitan códigos más cortos para su enorme catálogo, mientras que las pequeñas, con diez productos o menos, pueden adquirir prefijos más económicos.

Cómo leer códigos de barras… sin un lector de código de barras
Un ejemplo de código UPC-A en un ratón Logitech: 09785506395-3

El último dígito es el checksum, un control que verifica la lectura correcta. El cálculo es sencillo: se suman los seis dígitos en posiciones impares y se multiplican por tres; se suman los cinco dígitos en posiciones pares; se combinan ambos resultados y se añade el dígito de verificación para que el total sea múltiplo de 10. Con el código del ratón Logitech, 09785506395-3, la comprobación es:

  1. (0 + 7 + 5 + 0 + 3 + 5) = 20
  2. (20 x 3) = 60
  3. (9 + 8 + 5 + 6 + 9) = 37
  4. (60 + 37) = 97
  5. (97 + 3) = 100

Tal como se aprecia en la imagen, el resultado es exactamente 100.