QR Studio
Volver
← Blog

Cómo funciona un código QR y cómo lo lee tu celular

Última actualización: 15/09/2026

Apuntás la cámara, ves un cuadradito por medio segundo y el celular ya te muestra el link. Parece magia, pero es geometría, matemática y un poco de redundancia bien pensada. Así es un código QR por dentro y así es como se decodifica.

La anatomía de un QR

Un código QR es una grilla cuadrada de casilleros blancos y negros llamados módulos. Dentro de esa grilla hay zonas con un rol fijo, siempre en la misma posición relativa:

  1. Patrones de posición: los tres cuadrados grandes en las esquinas.
  2. Patrón de temporización: la línea punteada que cruza el centro.
  3. Zona de datos: el resto de los módulos, con la información codificada.
  4. Zona de silencio: el margen blanco alrededor de todo el código.

De tus datos a la grilla

Cuando generás un QR, el texto, la URL o los datos de WiFi se convierten primero a binario y se agrupan según su tipo de contenido (numérico, alfanumérico, texto libre). A eso se le suma la información de corrección de errores, calculada con un algoritmo llamado Reed–Solomon (el mismo tipo de matemática que se usa para que un CD rayado siga sonando bien). Todo ese conjunto de bits se acomoda en la grilla siguiendo un patrón en zigzag, y por último se le aplica una de ocho “máscaras” posibles: un patrón que mezcla los módulos para evitar zonas demasiado uniformes de blanco o negro, que son más difíciles de leer para una cámara.

Cómo lo decodifica la cámara

Cuando apuntás el celular, el proceso ocurre en unos pocos cuadros de video:

  1. El software busca en la imagen los tres patrones de posición característicos (proporción de franjas 1:1:3:1:1), que son muy poco comunes en fotos “normales”, por eso se detectan rápido.
  2. Con esos tres puntos calcula la orientación, el tamaño y la perspectiva del código, y corrige la distorsión si la foto no fue tomada de frente.
  3. Usa los patrones de temporización para trazar la grilla exacta y “muestrea” cada módulo, leyéndolo como 0 (blanco) o 1 (negro).
  4. Quita la máscara aplicada al generar el código (esa información está en la zona de formato) para recuperar los datos originales.
  5. Aplica la corrección de errores Reed–Solomon: si algunos módulos no se leyeron bien (por suciedad, un logo, una rotura), los reconstruye matemáticamente a partir de la redundancia guardada.
  6. Convierte los bits resultantes de nuevo a texto y actúa según el tipo de dato: abre el navegador si es una URL, ofrece conectarte si es WiFi, muestra el texto si es texto plano.

Por qué a veces no lee

Casi siempre es alguno de estos motivos: poco contraste entre los colores elegidos, el margen blanco recortado o muy chico, el código demasiado pequeño para la distancia a la que se escanea, o un logo demasiado grande para el nivel de corrección de errores configurado.

Ahora que sabés cómo funciona, ¡probá crear uno!

Ir al generador