Cómo funciona un código QR

Guía visual y sencilla para entender los códigos QR

info ¿Qué es un código QR?

Un código QR (del inglés Quick Response) es un tipo de código de barras bidimensional inventado en 1994 por la empresa japonesa Denso Wave. A diferencia de un código de barras tradicional, que solo guarda información en una dirección, el código QR almacena datos tanto en horizontal como en vertical, lo que le permite guardar mucha más información en poco espacio.

Hoy en día escanear un código QR es algo cotidiano: los encontramos en restaurantes, carteles, productos, tarjetas de visita y hasta en criptomonedas. Pero, ¿cómo funciona realmente por dentro?

grid_on Anatomía de un código QR

Antes de entender cómo se escanea o se genera un código QR, conviene conocer sus partes:

Patrones de posición (Finder Patterns) Son los tres cuadrados grandes en las esquinas superior izquierda, superior derecha e inferior izquierda. Permiten que el escáner detecte el código QR sin importar su orientación o el ángulo de la cámara.
Patrón de alineación (Alignment Pattern) Un cuadrado más pequeño en la esquina inferior derecha. Ayuda a corregir la distorsión cuando el código está en una superficie curvada.
Patrones de sincronización (Timing Patterns) Dos líneas de módulos alternados (blanco-negro) que conectan los patrones de posición y permiten calcular el tamaño de cada módulo.
Zona de datos El resto de la cuadrícula: cada cuadradito negro o blanco representa un bit de información (1 o 0).
Zona tranquila (Quiet Zone) Un borde blanco alrededor de todo el código que ayuda al escáner a separarlo del fondo.

qr_code_scanner Cómo se escanea un código QR

Cuando apuntas la cámara a un código QR, ocurren varias cosas en milisegundos:

Captura
arrow_forward
Localización
arrow_forward
Perspectiva
arrow_forward
Bits
arrow_forward
Decodificación
1
1. Captura de imagen La cámara captura fotogramas de vídeo continuamente. Cada fotograma es una cuadrícula de píxeles con valores de brillo.
2
2. Localización de patrones El software busca los tres cuadrados de posición (Finder Patterns). Su proporción característica (1:1:3:1:1) los hace únicos y fáciles de identificar incluso en ángulos difíciles.
3
3. Corrección de perspectiva A partir de las tres esquinas detectadas, el algoritmo calcula una transformación matemática para "enderezar" el código aunque la cámara esté inclinada.
4
4. Lectura de módulos Con el código alineado, el software lee cada módulo y lo convierte en un bit: negro = 1, blanco = 0.
5
5. Decodificación y corrección de errores Los bits se agrupan en bloques y se aplica Reed-Solomon para corregir posibles errores. Finalmente los datos se decodifican según el modo (numérico, alfanumérico, binario o kanji).

grid_view Cómo se genera un código QR

Crear un código QR es el proceso inverso a escanearlo:

Entrada
arrow_forward
Codificación
arrow_forward
Reed-Solomon
arrow_forward
Matriz
arrow_forward
Imagen
1
1. Entrada de datos Introduces el texto, URL u otro contenido que quieres codificar.
2
2. Codificación binaria El software selecciona el modo de codificación más eficiente y convierte los datos a una secuencia de bits.
3
3. Corrección de errores Se añaden bits de redundancia usando Reed-Solomon. Cuanto mayor sea el nivel elegido (L, M, Q o H), más bits extra se añaden y más resistente es el código.
4
4. Construcción de la matriz Se coloca la información en una cuadrícula siguiendo un patrón en espiral, se añaden los patrones de posición y se aplica una "máscara" para evitar grandes áreas del mismo color.
5
5. Renderizado La cuadrícula final se convierte en la imagen que descargas: PNG, SVG, PDF…

shield Corrección de errores: por qué los QR resisten el daño

El algoritmo Reed-Solomon permite que un código QR sea legible aunque hasta un 30% de su superficie esté dañada, sucia o cubierta. Por eso puedes poner el logo de tu empresa encima sin que deje de funcionar, siempre que uses el nivel H y no cubras más del 25-30%.

Los cuatro niveles disponibles son:

L
7%
Uso digital, pantallas. Código más ligero y pequeño.
M
15%
Uso general. Buen equilibrio tamaño/resistencia.
Q
25%
Impresión con posible desgaste o suciedad.
H
30%
Con logotipo encima o entornos muy adversos.

quiz Preguntas frecuentes sobre los códigos QR

Un código QR (Quick Response) es un tipo de código de barras bidimensional inventado en 1994 por la empresa japonesa Denso Wave. Almacena información en horizontal y en vertical mediante módulos negros y blancos, lo que le permite guardar hasta 7.089 caracteres numéricos o 4.296 alfanuméricos en un área pequeña.
El código QR codifica datos como un patrón de módulos oscuros y claros en una cuadrícula. Cuando la cámara lo captura, el software detecta los tres patrones de posición (los cuadrados de las esquinas), corrige la perspectiva, lee cada módulo como un bit (negro = 1, blanco = 0) y aplica el algoritmo Reed-Solomon para corregir errores antes de decodificar la información.
Gracias al algoritmo de corrección de errores Reed-Solomon, un código QR puede recuperar la información aunque hasta un 30 % de su superficie esté dañada, sucia o cubierta. Por eso es habitual añadir un logotipo encima del código sin que deje de escanearse correctamente, siempre que se use el nivel de corrección H y no se cubra más del 25-30 %.
Depende del tipo de dato y del nivel de corrección de errores. El máximo teórico es: 7.089 dígitos numéricos, 4.296 caracteres alfanuméricos, 2.953 bytes binarios o 1.817 caracteres kanji. Para uso práctico, conviene mantener URLs cortas y textos concisos para que el código sea más denso y fácil de escanear en tamaños pequeños.
Escanear es leer: la cámara analiza la imagen y extrae la información codificada. Generar es el proceso inverso: el software toma tus datos (texto, URL, WiFi…), los convierte a bits, añade redundancia Reed-Solomon y construye la cuadrícula de módulos que puedes imprimir o compartir digitalmente.
No siempre. Un código QR puede apuntar a una URL maliciosa o iniciar una acción no deseada (llamada, pago, descarga). Antes de visitar el enlace, comprueba la URL que muestra el escáner. Nuestro escáner verifica las URLs contra Google Safe Browsing y VirusTotal y te avisa si el destino es peligroso.
Es la cantidad de redundancia añadida para que el código sea legible aunque esté parcialmente dañado. Hay cuatro niveles: L (7 % de tolerancia, código más denso y ligero), M (15 %, uso general), Q (25 %, para impresión con desgaste probable) y H (30 %, ideal para añadir logotipos encima). A mayor nivel, mayor tamaño del código.
help_outline

¿Cómo funciona un código QR por dentro?

Descubre la anatomía de un QR, cómo se escanea, cómo se genera y por qué sigue funcionando aunque esté dañado.

Leer guía gratuita arrow_forward

Gratis para siempre

Sin suscripciones

No se requiere cuenta

Sin seguimiento

No se comparten datos con terceros

Los códigos QR nunca caducan

Detección 100% en el navegador

El escaneo se realiza completamente en tu dispositivo mediante JavaScript. Ningún fotograma ni imagen sale de tu navegador.

Alertas de links fraudulentos

Las URLs de los QR se verifican contra Google Safe Browsing y VirusTotal para avisarte si el destino es peligroso.