La primera vez que la mayoría de las personas encuentran un código QR, lo escanean sin pensarlo dos veces. Funciona. Siguen adelante. Pero si les preguntaras cómo (cómo la cámara de un teléfono puede mirar un cuadrado de puntos blancos y negros y en milisegundos saber que codifica una URL, una contraseña de Wi-Fi o un billete de tren), la mayoría de la gente no tendría idea. Creo que esa brecha entre el uso de una tecnología y su comprensión es donde se esconden todos los riesgos de seguridad interesantes.
Esta guía explica el panorama completo: la ingeniería que hace que los códigos QR funcionen, el sistema de corrección de errores que los hace resistentes, los riesgos de seguridad que los hacen peligrosos cuando se usan incorrectamente y las opciones prácticas que marcan la diferencia entre un código QR que funciona de manera confiable y uno que falla en el peor momento posible.
Qué QR El código en realidad es
Un código QR (código de respuesta rápida) es un código de barras matricial bidimensional: una cuadrícula de cuadrados blancos y negros que codifica datos tanto horizontal como verticalmente. Esta estructura bidimensional es lo que le da a los códigos QR su espectacular ventaja de almacenamiento sobre los códigos de barras unidimensionales tradicionales, que solo codifican datos a lo largo de un único eje horizontal.
Un código de barras unidimensional como el UPC-A que se encuentra en un producto de supermercado codifica alrededor de 12 dígitos. Un código QR de tamaño físico equivalente puede contener hasta 7089 caracteres numéricos, 4296 caracteres alfanuméricos o 2953 bytes de datos binarios. Eso es aproximadamente 300 veces la capacidad de almacenamiento en el mismo espacio físico.
Denso Wave, una filial de Toyota, desarrolló códigos QR en 1994 para rastrear piezas de vehículos en la línea de montaje. El nombre "Quick Response" se refería a la velocidad de escaneo: los códigos se podían leer mucho más rápido que los sistemas de códigos de barras existentes. Durante la primera década de su existencia, los códigos QR fueron casi exclusivamente una herramienta de logística industrial. Los teléfonos inteligentes que eventualmente los harían omnipresentes aún no existían.
Los seis elementos estructurales de cada código QR
Cada código QR, independientemente de su tamaño o contenido, tiene la misma anatomía estructural:
1. Patrones del buscador
Los tres cuadrados grandes en tres esquinas del código (no en la cuarta esquina, eso es deliberado). Estos permiten que cualquier escáner identifique instantáneamente la presencia, la orientación y el tamaño del código, independientemente del ángulo desde el que se mire. Un escáner QR identifica primero estos tres cuadrados y luego calcula la geometría del resto del código a partir de sus posiciones.
2. Patrones de alineación
Cuadrados más pequeños que aparecen dentro del área de datos de códigos QR más grandes. Ayudan al escáner a corregir la distorsión de la imagen, lo que resulta particularmente útil cuando un código se fotografía en ángulo, se imprime en una superficie curva o se arruga ligeramente. Los códigos QR más pequeños (versiones 1 a 6) no tienen patrones de alineación; sólo son necesarios cuando la cuadrícula es lo suficientemente grande como para que la distorsión se convierta en un problema significativo.
3. Patrones de sincronización
Alternancia de filas y columnas en blanco y negro que conectan los patrones del buscador. Le dan al escáner una cuadrícula de referencia para trabajar, lo que le ayuda a mapear correctamente la posición de cada módulo de datos incluso cuando la imagen está ligeramente sesgada o con una resolución en la que los cuadrados individuales no están claramente definidos.
4. Información de formato
Codificada en bandas adyacentes a los patrones del buscador, la información de formato le indica al escáner qué nivel de corrección de errores está en uso y qué patrón de máscara de datos se aplicó. Se almacena dos veces, una a cada lado de cada patrón del buscador, por lo que un código parcialmente oscurecido aún se puede decodificar correctamente.
5. Módulos de datos
El contenido codificado real, distribuido en la cuadrícula restante en un patrón de zigzag específico. Los datos se codifican en uno de cuatro modos: numérico (el más eficiente para números), alfanumérico (letras, números y un pequeño conjunto de símbolos), binario (cualquier byte de datos, incluidas las URL) o kanji (codificación de caracteres japoneses). La mayoría de los códigos QR utilizados en la vida cotidiana utilizan el modo binario, por lo que pueden codificar cualquier URL independientemente de los caracteres que contenga.
6. Zona silenciosa
El borde blanco en blanco que rodea todo el código. No es decorativo: es estructuralmente necesario. Sin él, un escáner no puede determinar dónde termina el código y comienza el contenido circundante. El mínimo requerido es cuatro anchos de módulo en todos los lados. Muchos códigos QR mal implementados, particularmente aquellos impresos con márgenes insuficientes, fallan porque no se respeta esta zona silenciosa.
Corrección de errores de Reed-Solomon: por qué los códigos QR dañados aún funcionan
Esta es la parte de la ingeniería de códigos QR que encuentro realmente impresionante. Los códigos QR utilizan la corrección de errores Reed-Solomon, el mismo algoritmo matemático que la NASA desarrolló para las comunicaciones en el espacio profundo, donde una señal puede viajar miles de millones de kilómetros y llegar corrompida por la interferencia cósmica.
Hay cuatro niveles de corrección de errores:
- Nivel L (Bajo): recupera hasta el 7 % de las palabras en clave. Produce el código QR más pequeño para una carga de datos determinada.
- Nivel M (Medio): recupera hasta un 15 %. El sensato valor predeterminado de propósito general.
- Nivel Q (cuartil): se recupera hasta un 25 %. Mejor para códigos que pueden quedar parcialmente oscurecidos durante el uso.
- Nivel H (Alto): se recupera hasta un 30 %. La opción estándar cuando desea superponer un logotipo en el código.
La implicación práctica: puedes destruir físicamente o cubrir hasta el 30% de un código QR (con un logotipo, una mancha, un rasguño o daño deliberado) y aún así se escaneará correctamente. Esta no es una característica que se agregó más tarde; está horneado en el estándar original. Esta es también la razón por la que funcionan los códigos QR de marca. Cuando una empresa inserta su logotipo en el centro de un código QR, está "dañando" deliberadamente el código y confiando en la corrección de errores de Nivel H para reconstruir los datos faltantes. El escáner ve el logotipo como una región corrupta y lo completa utilizando los datos redundantes almacenados en los módulos circundantes.
PHP_CTA_PLACEHOLDERCómo lee realmente la cámara de un teléfono un código QR
El proceso de escaneo que le parece instantáneo es en realidad un proceso de procesamiento de imágenes preciso y de varias etapas que se ejecuta en fracciones de segundo:
- Captura de imagen: la cámara captura fotogramas continuamente. El software del escáner analiza cada fotograma en busca de estructuras de códigos QR.
- Binarización: la imagen se convierte a blanco y negro puro mediante un umbral adaptativo. Esto elimina variaciones en la iluminación, el contraste y las sombras que, de otro modo, harían que el código fuera ilegible.
- Detección de patrón de buscador: el algoritmo busca la proporción característica 1:1:3:1:1 de módulos oscuro:claro:oscuro:claro:oscuro que define un patrón de buscador. Encontrar tres de ellos en la relación geométrica correcta confirma que hay un código QR presente.
- Corrección de perspectiva: utilizando las posiciones de los patrones del buscador (y los patrones de alineación para códigos más grandes), el software calcula una matriz de transformación para aplanar la imagen distorsionada en una cuadrícula cuadrada.
- Muestreo de módulo: se muestrea cada posición de la cuadrícula para determinar si es un módulo oscuro o claro, creando una matriz binaria de todo el código.
- Decodificación de formato: los módulos de información de formato se leen para determinar el nivel de corrección de errores y la máscara de datos.
- Eliminación de máscara de datos: los códigos QR aplican uno de los ocho patrones de enmascaramiento de datos para evitar áreas grandes y uniformes (que son más difíciles de escanear de manera confiable). La máscara se invierte antes de decodificar.
- Corrección de errores de Reed-Solomon: cualquier palabra clave corrupta se identifica y corrige.
- Decodificación de datos: los datos binarios corregidos se convierten en el resultado final: una URL, una cadena de texto, una tarjeta de contacto o lo que sea que contenga el código.
En un teléfono inteligente moderno con una cámara decente y Escáner QR AI, todo este proceso suele tardar menos de 200 milisegundos. En condiciones de poca iluminación o con un código dañado, el software ejecuta pases adicionales (ajustando los parámetros de exposición, probando diferentes umbrales de binarización) lo que podría agregar uno o dos segundos más. Un escáner bien diseñado como qrscanner.akstool.com maneja estos casos extremos automáticamente.
El problema de seguridad del que nadie habla lo suficiente
Aquí está la incómoda verdad sobre los códigos QR: se han convertido en un excelente vector de ataque para el phishing, y la mayoría de la gente no tiene idea. La técnica se llama "quishing" (phishing de códigos QR) y funciona precisamente porque los códigos QR son opacos: no se puede leer lo que codifican antes de escanearlos.
Un código QR malicioso parece idéntico a uno legítimo. Un atacante puede imprimir una pegatina con su código malicioso y colocarla sobre un código QR legítimo: en un parquímetro, en la mesa de un restaurante, en un cartel de registro de hospital o en la entrada de una sala de conciertos. La víctima escanea lo que cree que es el código oficial y es redirigida a una página de phishing, descarga de malware o portal de pago falso.
La magnitud de este problema ha aumentado significativamente desde 2020, cuando los códigos QR se convirtieron en el mecanismo de interacción sin contacto predeterminado en una amplia gama de lugares. Según investigadores de ciberseguridad, los ataques de phishing QR aumentaron más de un 400 % entre 2021 y 2023.
Un escáner que prioriza la privacidad como QR Scanner AI mitiga esto al:
- Mostrar la URL decodificada antes de realizar cualquier acción en el navegador, lo que le brinda la oportunidad de inspeccionar el dominio
- Procesamiento de todo en el dispositivo: ningún contenido escaneado se transmite a servidores externos donde podrían registrarse
- No almacenar el historial de análisis en ningún backend de la nube que pueda verse afectado
La pregunta correcta sobre cualquier escáner QR no es "¿escanea rápidamente?" pero "¿qué pasa con mis datos escaneados?" Un escáner que registra cada URL que escanea y la asocia con su identidad es, en un sentido real, una herramienta de vigilancia.
Casos de uso empresarial: para qué son realmente buenos los códigos QR
No todos los casos de uso de códigos QR son iguales. Algunas son excelentes. Algunos están equivocados. Después de años de ver ambos, aquí está mi evaluación honesta:
Realmente útil:
- Compartir Wi-Fi: un código QR de Wi-Fi es realmente mejor que una contraseña en casi todas las situaciones. Los invitados no necesitan escribir una contraseña compleja, no es necesario que la digas en voz alta en un espacio público y puedes regenerar el código si cambias la contraseña. Vea cómo generar uno con QR Scanner AI.
- Tarjetas de contacto (vCards): generar un código QR que codifique su información de contacto es mucho más confiable que esperar que alguien transcriba correctamente un número de teléfono de una tarjeta de presentación. Un escaneo guarda el contacto directamente en su teléfono.
- Registro de eventos: los códigos QR funcionan bien como prueba de identidad o confirmación de reserva en situaciones de alto rendimiento. Un escáner lee el código; un backend lo valida. Rápido, escalable y con tasas de error decentes.
- Información del producto: vincular un producto físico a una página digital detallada, un manual de usuario o un vídeo tutorial es un caso de uso legítimo y fácil de usar.
A menudo equivocado:
- Códigos QR en vallas publicitarias: exigir que alguien saque su teléfono de manera segura, lo desbloquee, abra una cámara y escanee un código a 60 mph no es una experiencia de usuario bien diseñada.
- Códigos QR en el correo electrónico: si alguien lee su correo electrónico en su teléfono, no podrá escanear un código QR con el mismo dispositivo. Y si están en un escritorio, la fricción es mayor que en un enlace.
- Códigos QR como sustituto de la usabilidad: colocar un código QR en algo porque no tienes espacio para la información no es lo mismo que un buen diseño.
Qué hace que un código QR realmente funcione en formato impreso
Generar un código QR es trivial. Generar uno que escanee de manera confiable una tarjeta de presentación, una etiqueta de producto o un póster de gran formato requiere un poco más de reflexión.
- Utilice SVG para imprimir PNG digital de alta resolución. Un PNG de 300 × 300 píxeles se verá aceptable en la pantalla, pero estará pixelado y potencialmente no se podrá escanear cuando se imprima a 3 cm × 3 cm. Obtenga un SVG (formato vectorial) para uso impreso; escala sin pérdida de calidad.
- El tamaño mínimo es 2 cm × 2 cm. Por debajo de este, la mayoría de las cámaras de los teléfonos tienen dificultades para capturar suficientes detalles para una decodificación confiable, especialmente en condiciones de iluminación estándar.
- Módulos oscuros sobre un fondo claro. Este es el estándar. La inversión a blanco sobre oscuro puede funcionar, pero reduce la confiabilidad: algunas implementaciones de escáner no lo admiten y los requisitos de contraste son más estrictos.
- Mantenga la zona tranquila. Cuatro anchos de módulo de espacio en blanco alrededor de los cuatro lados. No dos. Ni uno. Cuatro.
- Pruebe antes de imprimir. Escanee su código QR con tres aplicaciones diferentes en dos teléfonos diferentes antes de comprometerse a realizar una impresión grande. Lo que funciona en tu teléfono puede no funcionar en el de otra persona.
- Utilice el nivel de corrección de errores H si agrega un logotipo. Si desea colocar un logotipo en el centro (lo que bloqueará algunos módulos), el nivel H le brinda una tolerancia máxima de reconstrucción de datos del 30 %.
Códigos QR en 2025: hacia dónde se dirigen
Los códigos QR se han estabilizado como infraestructura. Ya no son una novedad y no van a desaparecer. Vale la pena señalar algunas tendencias:
Códigos QR dinámicos (códigos que codifican una URL de redireccionamiento en lugar del destino final, lo que permite cambiar el destino sin volver a imprimir el código) se han convertido en una práctica estándar para los casos de uso de marketing. El código siempre apunta a la misma URL corta; el destino de esa URL se puede actualizar en tiempo real.
Códigos QR en pagos: ya son dominantes en China (WeChat Pay, Alipay) e India (UPI), los pagos basados en QR están ganando terreno gradualmente en el Reino Unido a través de esquemas como Pingit de Barclays y varias integraciones de POS sin contacto.
Escrutinio de seguridad: a medida que aumentan los ataques de quishing, existe una creciente presión sobre las aplicaciones de escáner para implementar seguridad de dominio cheques. Espere que esto se convierta en una expectativa de característica estándar en lugar de un diferenciador.
Para obtener los consejos más actualizados sobre la seguridad de los códigos QR, consulte nuestra guía sobre riesgos de seguridad de los códigos QR que debe conocer. Para crear y escanear códigos QR en Android, QR Scanner AI sigue siendo nuestra herramienta recomendada.
Explore la categoría de códigos QR completa para obtener más guías, o explore el blog para obtener los artículos más recientes.