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:
- Patrones de posición: los tres cuadrados grandes en las esquinas.
- Patrón de temporización: la línea punteada que cruza el centro.
- Zona de datos: el resto de los módulos, con la información codificada.
- Zona de silencio: el margen blanco alrededor de todo el código.
- Patrones de posición (los tres cuadrados grandes en tres de las cuatro esquinas): le permiten al lector encontrar el código en la imagen al instante y calcular su tamaño y rotación, sin importar si la foto está inclinada.
- Patrones de temporización: dos líneas punteadas que conectan los patrones de posición y le indican al lector el tamaño exacto de cada módulo, para contar la grilla con precisión.
- Patrón de alineación (en códigos más grandes): un cuadrado más chico que ayuda a corregir distorsiones cuando la foto no quedó perfectamente plana.
- Información de formato: una franja angosta cerca de los patrones de posición que le dice al lector qué nivel de corrección de errores y qué máscara se usó.
- Zona de datos: el resto de la grilla, donde vive la información real codificada en binario, más los bloques de corrección de errores.
- Zona de silencio (quiet zone): el margen blanco alrededor de todo el código. No es decorativo: sin ese margen, el lector puede confundir el borde del QR con el fondo de la imagen y no reconocerlo.
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:
- 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.
- 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.
- Usa los patrones de temporización para trazar la grilla exacta y “muestrea” cada módulo, leyéndolo como 0 (blanco) o 1 (negro).
- Quita la máscara aplicada al generar el código (esa información está en la zona de formato) para recuperar los datos originales.
- 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.
- 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