Cómo funciona un código QR

Una cámara reconoce una cuadrícula, recupera sus datos y corrige ciertos errores.

En este artículo
  1. Antes de leer hay que saber dónde empieza
  2. No todos los cuadrados representan tu mensaje
  3. Cómo puede leerse aunque tenga una mancha
  4. Un código fijo puede llevar a contenido cambiante
  5. Qué ocurre al final
  6. Fuentes y alcance

Apuntas la cámara a un cuadrado impreso y aparece una dirección web. El papel no transmitió una señal ni consultó una base de datos. El dibujo contiene datos distribuidos en una cuadrícula; la cámara los convierte en una imagen y un programa interpreta el patrón.

Un código QR puede guardar una dirección, un texto u otros datos. Lo que ocurra después depende de la aplicación que los recibe. Abrir un menú de restaurante es una acción posterior a leer el código.

Antes de leer hay que saber dónde empieza

En un QR convencional destacan tres cuadrados grandes cerca de las esquinas. Son marcas de posición. Ayudan a localizar el símbolo y reconocer su orientación, aunque la cámara no esté perfectamente alineada. El lector identifica además la cuadrícula sobre la que debe interpretar las zonas claras y oscuras. 1

Esto resuelve una dificultad que a simple vista parece menor. Una fotografía contiene sombras, letras, bordes de la mesa y quizá varios objetos. El programa necesita distinguir el código de todo lo demás y corregir la perspectiva para no leer una fila como si fuera otra.

Los pequeños cuadrados se llaman módulos. Un módulo no tiene que equivaler a un píxel de la cámara: puede ocupar muchos. La imagen debe tener suficiente detalle para distinguirlos. Si el código aparece diminuto, desenfocado o con un reflejo encima, habrá menos información útil para reconstruirlo.

No todos los cuadrados representan tu mensaje

Una parte del símbolo sirve para orientarse; otra describe cómo se codificaron los datos; otra guarda el contenido y su redundancia. El lector necesita conocer esas reglas para recuperar el mensaje.

El contenido se convierte en una secuencia de datos y se coloca según reglas compartidas entre quien genera el símbolo y quien lo lee. Esas reglas permiten reconstruir el mensaje: no hay que adivinar qué quiso dibujar su autor. Que la cuadrícula resulte ilegible a simple vista tampoco significa que esté cifrada. Un QR ordinario no protege un secreto sólo por representarlo de esa manera.

Por eso no se puede dibujar una cuadrícula cualquiera y esperar que funcione. Tiene que respetar una estructura que otro programa pueda reconocer. El estándar hace posible que un teléfono de una marca lea un código producido por una herramienta diferente.

Cómo puede leerse aunque tenga una mancha

El código incluye información adicional calculada a partir de los datos. Esa redundancia permite detectar y corregir ciertos errores mediante códigos Reed–Solomon. No consiste en guardar varias fotografías completas del mensaje: se añaden relaciones matemáticas que ayudan a reconstruir partes perdidas. 3

Hay distintos niveles de corrección. Una protección mayor ocupa más espacio que podría haberse utilizado para el contenido. Es un intercambio: más tolerancia frente a ciertos daños o más datos dentro del mismo tamaño.

Las cifras de recuperación se refieren a unidades de datos del código, no a cualquier porcentaje de superficie que alguien decida tapar. Dañar una zona importante para localizar el símbolo puede impedir la lectura antes de que la corrección llegue a actuar. No existe una regla segura del tipo «puedo borrar cualquier esquina y seguirá funcionando». 3

Una analogía limitada ayuda: si un documento contiene comprobaciones cruzadas, una omisión puede detectarse y repararse mejor que en una copia sin ninguna referencia. Pero el QR hace ese trabajo con relaciones exactas entre datos, no interpretando el sentido del texto como lo haría una persona.

Un código fijo puede llevar a contenido cambiante

El QR impreso no necesita cambiar para que cambie el menú. Puede contener una dirección estable; el servidor entrega después la versión actual de la página. Algunos servicios denominan «dinámico» a un código que apunta a una dirección intermediaria cuyo destino pueden modificar.

La cuadrícula sigue siendo la misma. Lo que cambia está en la red. Esta distinción también explica un fallo frecuente: el teléfono puede leer perfectamente el QR, pero la página haber desaparecido. La lectura del símbolo y el acceso al recurso son dos procesos distintos.

La consecuencia de seguridad es directa. Poder decodificar una dirección no demuestra que esa dirección sea confiable. Una etiqueta puede haberse sustituido o conducir a un sitio distinto del esperado. El mecanismo certifica que se leyó una secuencia coherente, no la honestidad de quien la colocó.

Qué ocurre al final

El lector entrega los datos recuperados a la aplicación. Puede mostrar un texto, proponer abrir una dirección o interpretar un formato compatible. Si se abre una web, empieza entonces otro recorrido completo: localizar el servidor, solicitar recursos y mostrarlos.

El gesto parece instantáneo porque la cámara, el reconocimiento geométrico y la decodificación trabajan juntos. Lo memorable no es que el QR «sepa» adónde llevarte. Es que un patrón de tinta puede contener suficientes reglas para orientarse, transportar datos y recuperarse de ciertos errores.

Fuentes y alcance

[1] DENSO WAVE — Lectura desde distintas direcciones. Explicación del creador del QR sobre marcas de posición.

[2] ZXing — Documentación del detector de patrones QR. Documentación de una implementación de lectura. Las etapas generales se explican sin reproducir su algoritmo completo.

[3] DENSO WAVE — Error Correction Feature. Descripción de Reed–Solomon, niveles y proporciones de codewords; no se equipara capacidad de corrección con área arbitraria dañada.

Explicación conceptual con fuentes. No sustituye formación técnica ni asesoramiento profesional. Alcance de la revisión.