Por qué tu código QR no escanea en algunos móviles
Un código QR no es una foto de tu enlace. Es una cuadrícula de casillas blancas y negras con un esqueleto fijo — marcas en las esquinas, líneas de sincronía, una copia de la configuración y los datos repartidos por lo que queda — y el lector tiene que encontrar ese esqueleto antes de leer un solo bit. Casi todo código que escanea en un sitio y no en otro ha perdido parte del esqueleto, o las condiciones que el esqueleto necesita.
Lo primero que busca el lector
Hay tres cuadrados grandes en tres de las cuatro esquinas. Existen para ser encontrados desde cualquier ángulo: traces la línea que traces a través de uno, la proporción entre oscuro y claro a lo largo de ella es la misma, y eso permite a la cámara situar y orientar el código antes de decodificar nada. Los cuadrados de alineación más pequeños, repartidos por el resto, corrigen la curva de una botella o la inclinación de una foto.
Por eso el daño no pesa igual en todas partes. Un arañazo sobre la zona de datos suele recuperarse, mientras que un logotipo pegado encima de un cuadrado de esquina, o un código recortado al que le falta una esquina, no es un código dañado: para la cámara no llega a ser un código.
El margen forma parte del código
La especificación pide una zona tranquila de cuatro módulos vacíos —el ancho de cuatro casillas— alrededor de cada lado. No es decoración. El lector la usa para saber dónde termina la cuadrícula, y un código pegado a un borde, a una fotografía o a una línea de texto no tiene un límite fiable que encontrar.
Es, con diferencia, el fallo más común en material impreso, porque el diseñador recorta de forma natural hasta los píxeles negros. Si el código funciona cuando lo pegas en una página en blanco y falla dentro de la maqueta, empieza por aquí.
La corrección de errores es un presupuesto, y el logotipo lo gasta
Hay cuatro niveles de corrección de errores, que recuperan en torno al 7, 15, 25 y 30 por ciento del código cuando está sucio o tapado. Esa redundancia es lo que permite poner un logotipo en medio: los módulos cubiertos se tratan como daño y se reconstruyen.
El detalle es que la redundancia está hecha de módulos extra. Al mismo tamaño físico, un nivel más alto significa casillas más pequeñas, así que un código impreso pequeño, con el nivel máximo de corrección y además tapado por un logotipo ha gastado el mismo presupuesto tres veces. Si quieres logotipo, hazlo pequeño, deja el código grande y decodifica el arte final en lugar de suponer.
Contraste, inversión y superficies brillantes
Las cámaras separan la imagen en claro y oscuro, así que lo que cuenta es la diferencia de brillo, no la de color. Dos colores que al ojo contrastan bien —un azul medio sobre un verde medio— pueden convertirse casi en el mismo gris y volverse ilegibles.
Los códigos, además, deben ser oscuros sobre claro. Los códigos invertidos, con módulos blancos sobre fondo oscuro, unos lectores los aceptan y otros los rechazan, que es exactamente el patrón de funciona en mi móvil y no en el tuyo. El brillo, el foil y las pantallas bajo luz fuerte añaden reflejos que borran parte de la cuadrícula, y un código tras un cristal suele fallar solo en ciertos ángulos.
Tamaño, distancia y lo que aguanta la impresión
Una regla útil para planificar es que el lado del código sea aproximadamente la décima parte de la distancia desde la que se va a escanear: un código que se lee a dos metros quiere unos veinte centímetros de lado. Un código de cartel hecho al tamaño de uno de tarjeta es un cartel que nadie puede escanear.
La impresión pone también un suelo. La tinta se extiende un poco sobre el papel, así que cuando un módulo ronda el tercio de milímetro, las casillas oscuras vecinas empiezan a fundirse y la cuadrícula deja de leerse por buena que sea la cámara. Lo mismo vale para el bordado, el grabado y cualquier técnica con un tamaño mínimo de detalle.
Lo que metes dentro decide la densidad
La cantidad de datos decide la versión, y la versión decide cuántos módulos hay por lado: desde 21 en la más pequeña hasta 177 en la mayor. Un enlace largo con parámetros de seguimiento puede empujar el código varias versiones más denso que uno corto, y entonces hay que imprimirlo más grande para que siga siendo legible.
La codificación también influye. Los dígitos se empaquetan con más densidad, las mayúsculas y un puñado de símbolos tienen un modo compacto propio, y todo lo demás cae a bytes completos. Un enlace escrito en mayúsculas cabe por tanto en un código visiblemente más simple que el mismo enlace en minúsculas, y por eso algunas direcciones impresas van gritadas.
Prueba justo aquello que vas a publicar
Decodifica el arte final, no el archivo que generaste: el fallo suele entrar después, con un recorte, un cambio de color, un redimensionado que difumina los bordes o una compresión. Leer el código de vuelta te dice a la vez que sigue decodificándose y que apunta a donde crees.
Después pruébalo como se va a usar: impreso a tamaño final, en un móvil que no sea el tuyo, a la distancia y con la luz del sitio real. Y si el código apunta a un enlace acortado, recuerda que el papel sobrevivirá al servicio de redirección; un código que ya no puedes cambiar es la promesa de mantener esa dirección viva.