Blog
9 min readMoreFreeTools Team

Como los Codigos de Barras Codifican Datos: De las Rayas del Supermercado a los Codigos QR

Aprende como los codigos de barras codifican datos usando patrones binarios, digitos de control y correccion de errores. EAN-13, Code 128, QR explicados.

como funcionan los codigos de barrasgenerador de codigo de barrascodigo de barras EAN-13como crear un codigo de barrascodificacion de codigo de barras explicada

Generador de Codigo de Barras

La herramienta gratuita mencionada en este artículo — pruébala directamente en tu navegador.

Abrir la herramienta

Cada vez que una cajera escanea tus compras, un laser lee un patron matematico preciso codificado en lineas negras y blancas. Pero, como codifican realmente los datos los codigos de barras? La respuesta es mas elegante de lo que la mayoria de las personas se da cuenta, y entenderla revela por que los codigos de barras son uno de los sistemas de datos mas fiables jamas construidos. Esta guia explica los mecanismos de codificacion reales detras de cada formato principal de codigo de barras, desde las rayas en una caja de cereales hasta el codigo QR en tu tarjeta de embarque.

Una Breve Historia: Del Patente al Supermercado

La historia comienza con Norman Woodland y Bernard Silver, quienes presentaron la patente estadounidense 2612994 en 1949. Woodland, inspirado por el codigo Morse, extendio los puntos y rayas en lineas de anchuras variables. La tecnologia permanecio en gran medida inactiva durante decadas hasta que el escaneo laser se volvio practico.

El primer escaneo comercial de un codigo de barras ocurrio el 26 de junio de 1974, en Troy, Ohio, cuando un paquete de chicle Wrigley's Juicy Fruit fue escaneado en un supermercado Marsh. Ese unico escaneo demostro que el sistema funcionaba a velocidad minorista, y la cadena de suministro moderna nacio.

Hoy, GS1, la organizacion mundial de estandares, gestiona los estandares de codigos de barras utilizados en mas de 150 paises. Aproximadamente 6.000 millones de codigos de barras se escanean cada dia en todo el mundo.

Como los Codigos de Barras 1D Codifican la Informacion

Los codigos de barras unidimensionales tradicionales codifican datos a traves de las anchuras de barras y espacios alternantes. La idea clave es que un scanner no lee el color: lee las transiciones entre oscuro y claro, y mide que tan ancho es cada elemento.

La mayoria de los sistemas modernos de codigos de barras 1D utilizan un enfoque de codificacion basado en modulos. Un "modulo" es la barra o espacio mas estrecho posible en un simbolo dado. Los elementos mas anchos son multiplos exactos de esa anchura de modulo.

EAN-13: El Estandar Minorista Mundial

EAN-13 (European Article Number, 13 digitos) es el codigo de barras en casi todos los productos de consumo vendidos fuera de America del Norte. Su estructura es:

Posicion Digitos Significado
1-3 Prefijo pais/region Prefijo GS1 (ej: 840-849 = Espana)
4-8 Codigo fabricante Asignado por GS1 a la empresa
9-12 Codigo producto Asignado por el fabricante
13 Digito de control Calculado a partir de los primeros 12

Calculo del digito de control EAN-13: Para la cadena de 12 digitos 590123412345:

  1. Tomar los digitos en posicion impar (posiciones 1, 3, 5, 7, 9, 11): 5, 0, 2, 4, 2, 4. Suma = 17.
  2. Tomar los digitos en posicion par (posiciones 2, 4, 6, 8, 10, 12): 9, 1, 3, 1, 3, 5. Multiplicar cada uno por 3, suma = 66.
  3. Total = 17 + 66 = 83.
  4. Digito de control = siguiente multiplo de 10 menos total = 90 - 83 = 7.

El EAN-13 completo es 5901234123457.

UPC-A: El Estandar Norteamericano

UPC-A es el codigo de barras de 12 digitos utilizado en Estados Unidos y Canada. Es esencialmente un EAN-13 con un cero inicial implicito. Su estructura:

  • Digito 1: Digito del sistema de numeracion (0 = alimentacion estandar, 2 = productos de peso variable, 3 = medicamentos, 5 = cupones)
  • Digitos 2-6: Codigo fabricante (5 digitos, asignado por GS1)
  • Digitos 7-11: Codigo producto (5 digitos, asignado por el fabricante)
  • Digito 12: Digito de control (misma formula de pesos alternantes 1/3)

Code 39: El Primer Codigo de Barras Alfanumerico

Code 39 fue inventado en 1974. Fue el primer codigo de barras en codificar letras ademas de numeros. La logica de codificacion esta integrada en el nombre: cada caracter se representa mediante 9 elementos (5 barras y 4 espacios), y exactamente 3 de esos 9 elementos son anchos. "Tres de nueve" le da al Code 39 su nombre alternativo.

Code 128: Codificacion ASCII de Alta Densidad

Code 128 es un formato de codigo de barras mucho mas denso que puede codificar los 128 caracteres ASCII. Cada caracter se representa mediante 3 barras y 3 espacios de anchuras variables, y la anchura total de cualquier caracter es siempre exactamente 11 modulos. Code 128 tiene tres subtipos:

Subtipo Codifica
Code 128A Mayusculas, digitos, caracteres de control
Code 128B Mayusculas y minusculas, digitos, caracteres especiales
Code 128C Solo pares numericos (densidad de digitos se duplica)

Herramienta relacionada

Generador de Codigo de Barras

Úsala directamente en tu navegador. Sin registro, sin descarga, sin datos guardados.

Usar la herramienta

Codigos QR: Codigos de Barras 2D y el Poder de la Correccion de Errores

Los codigos QR (codigos de respuesta rapida) fueron inventados por Denso Wave en 1994 para rastrear piezas de automoviles durante la fabricacion. A diferencia de los codigos de barras 1D que codifican datos en un eje, los codigos QR codifican datos en una matriz 2D de cuadrados negros y blancos.

Los codigos QR pueden contener dramaticamente mas datos que los codigos de barras 1D:

Tipo de datos Capacidad maxima
Solo numerico 7.089 caracteres
Alfanumerico 4.296 caracteres
Binario (bytes) 2.953 bytes
Caracteres Kanji 1.817 caracteres

Correccion de Errores Reed-Solomon: Por Que los QR Sobreviven al Dano

Reed-Solomon es un algoritmo matematico que agrega datos redundantes junto a los datos originales. Si parte del codigo QR esta danada, oscurecida o falta, los datos redundantes permiten al scanner reconstruir el mensaje original.

Los codigos QR admiten cuatro niveles de correccion de errores:

Nivel Datos restaurados Uso tipico
L (Bajo) ~7% Entornos limpios
M (Medio) ~15% Uso general
Q (Cuartil) ~25% Entornos industriales
H (Alto) ~30% Cuando se agregara un logotipo

Por esto puedes poner el logotipo de una empresa en el centro de un codigo QR y sigue escaneandose: el logotipo cubre algunas celdas, pero la redundancia Reed-Solomon permite al scanner reconstruir los datos faltantes.

Comparacion de Formatos

Formato Tipo Max. caracteres Correccion de errores Uso comun
EAN-13 1D 13 digitos Digito de control Productos minoristas mundiales
UPC-A 1D 12 digitos Digito de control Productos minoristas Norteamerica
Code 39 1D Variable Opcional Industrial, militar, salud
Code 128 1D Variable (todo ASCII) Caracter de control Envio, logistica
QR Code 2D Hasta 7.089 numerico Reed-Solomon (7-30%) URLs, pagos, billetes

Preguntas Frecuentes

Por que cada codigo de barras tiene un digito de control?

Un digito de control es un digito derivado matematicamente que se agrega a los datos del codigo de barras. Cuando un scanner lee el codigo, recalcula el digito de control a partir de los datos leidos y lo compara con el digito impreso. Si no coinciden, el scanner rechaza la lectura e intenta de nuevo. Esto detecta el error de escaneo mas comun: leer mal un solo digito.

Cual es la diferencia entre EAN-13 y UPC-A?

UPC-A es un sistema de 12 digitos desarrollado en Estados Unidos en 1974. EAN-13 es un sistema de 13 digitos desarrollado en Europa en 1976 como un superconjunto de UPC-A. Cada codigo de barras UPC-A puede convertirse a EAN-13 anteponiendo un cero. Los scanners modernos leen ambos formatos.

Por que los codigos QR pueden tener logotipos?

Los codigos QR pueden tener logotipos porque la correccion de errores Reed-Solomon agrega datos redundantes. Cuando un logotipo cubre parte de las celdas del codigo QR, esas celdas cubiertas se tratan como borrados. El algoritmo Reed-Solomon puede reconstruir los datos borrados siempre que el dano total no exceda el nivel de correccion de errores.

Que significa "Code 128"?

"Code 128" hace referencia al hecho de que el estandar codifica el conjunto completo de 128 caracteres ASCII. Code 128 fue desarrollado por Computer Identics Corporation en 1981 y se convirtio en uno de los formatos de codigos de barras lineales mas utilizados.


Listo para generar tu propio codigo de barras? Usa el Generador de Codigo de Barras para crear codigos EAN-13, UPC-A, Code 128, Code 39 o QR instantaneamente, sin software que instalar.

Herramienta relacionada

Generador de Codigo de Barras

Úsala directamente en tu navegador. Sin registro, sin descarga, sin datos guardados.

Usar la herramienta