Los códigos QR (QR Code o Quick Response Code en inglés) son un tipo de código en 2 dimensiones (una matriz) que se desarrolló en Japón en 1994 por Denso Wave para la industria automovilística. La idea principal era tener un código capaz de almacenar más información que un código de barras convencional y que, al mismo tiempo, se pudiera imprimir en espacios pequeños (por ejemplo, una pieza del motor) sin dificultar su interpretación.

Código QR (2D)

Algunos de los usos que actualmente se le están dando a los códigos QR son la codificación de:

La estructura fundamental de un código QR (habitualmente de color negro sobre fondo blanco y una zona libre alrededor para facilitar la lectura) se puede dividir en 5 zonas diferenciadas que contienen la siguiente información:

  1. Versión de código usada
  2. Formato
  3. Datos y claves de corrección de errores
  4. Patrones obligatorios (posición, alineado, timing)
  5. Zona libre

Estructura de un código QR

Las ventajas principales del código QR respecto a los códigos de barra convencionales son las siguientes:

Aunque el código QR es un estándar ISO (ISO/IEC18004), su uso no está sujeto a ningún tipo de licencia ya que Denso Wave liberó la especificación del mismo y no ejerce sus derechos de patente. Por este motivo, en la web se pueden encontrar múltiples generadores de códigos QR (habitualmente gratuitos aunque también hay servicios de pago más especializados que permiten almacenar y gestionar los códigos generados, realizar el seguimiento de su uso, incluir personalizaciones, etc.) y librerías (API) para que nosotros mismos podamos realizar una aplicación que sea capaz de generarlos y/o leerlos.

vCard de Manel Rodero (generado en goQR.me)

Algunos de los generadores de códigos QR más conocidos son los siguientes:

Algunas de las librerías y API que permiten trabajar con códigos QR son las siguientes:

A la hora de trabajar con un código QR se tiene que tener en cuenta los siguientes factores:

Versiones de código QR

Dada una versión de código QR, un cierto nivel de corrección de errores y el tipo de información a codificar, queda establecida la capacidad máxima de información que el código QR puede contener. Esto es importante tenerlo en cuenta porque se trata de una limitación a la hora de leer los códigos mediante un teléfono móvil ya que éstos, a diferencia de un escáner industrial, no pueden leer todas las versiones de códigos QR existentes.

De la misma manera, el tamaño de impresión de una versión de código QR (que equivale a X módulos como se ha comentado anteriormente) dependerá del tamaño en milímetros de cada módulo. Como es de suponer, cuanto más grande sea el tamaño del módulo más fácil será su lectura. Por tanto, a la hora de imprimirlo se usará el tamaño de módulo más grande que permita el área de impresión dejando, como mínimo, un espacio equivalente a 4 módulos alrededor del mismo (zona libre).

En Delivr se dan algunas recomendaciones a la hora de imprimir los códigos QR para que se puedan leer por el máximo número de modelos de teléfonos móviles:

Hay que destacar que la aplicación que se use para leer el código QR juega un papel muy importante en el proceso de obtención de los datos codificados en el código. Esto es debido a que la lectura del código se realiza en dos pasos: a) la cámara de un teléfono móvil se utiliza para obtener una imagen del código y b) el software utiliza diferentes algoritmos para decidir que ciertos puntos de la imagen corresponden a módulos del código. Si los algoritmos son buenos, el programa podrá compensar la falta de nitidez provocada por una mala óptica de la cámara, nuestro pulso a la hora de sujetar el móvil, la falta de luz y contraste en la imagen y usar los datos de corrección de errores para obtener la información que se ha codificado. Algunos de los programas más populares a la hora de leer estos códigos son:

Finalmente, es importante comentar que en España también se usa otro tipo de código bidireccional llamado Bidi. Aunque su funcionalidad es similar, los códigos Bidi no son lo mismo que los códigos QR. A diferencia de los códigos QR, los códigos Bidi se generan mediante un algoritmo de código cerrado, privado y no gratuito de la empresa Scanlife. La compañía de telefonía móvil Movistar fue la primera en lanzar este sistema en el año 2008 para hacer publicidad de sus productos (aunque después se han apuntado otras compañías como Vodafone y Orange e incluso fabricantes de coches, bancos, marcas de ropa, etc.).

Aunque a primera vista no hay diferencia entre los dos tipos de código, se puede ver que los Bidi carecen de los 3 cuadrados de posicionamiento en las esquimas que tienen los QR. Por este motivo, los códigos Bidi sólo se leen con las cámaras y aplicaciones específicas de cada marca implantadas en sus propios dispositivos móviles (p.ej. BIDI para Android o para iOS ). Estas aplicaciones pueden no leer o leer parcialmente un código QR ya que están preparadas específicamente para los códigos Bidi. Por esta razón es recomendable comprobar que la aplicación instalada «de serie» en nuestro teléfono móvil sea compatible con los códigos QR.

Como se puede comprobar con una simple búsqueda en Google Images, existe mucha confusión entre los dos tipos de código y se ven códigos QR llamados Bidi y viceversa. Por ejemplo, en la presentación de los Presupuestos Generales del Estado 2012 se indicó inicialmente que el código usado era un Bidi cuando en realidad era un QR. A día de hoy, la página ya está corregida pero aún quedan trazas del gazapo en la URL de la página o en en la prensa.

Confusión BIDI vs QR (MinHap)