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 datosEl 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 imagenLa 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 patronesEl 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 perspectivaA 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ódulosCon 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 erroresLos 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 datosIntroduces el texto, URL u otro contenido que quieres codificar.
2
2. Codificación binariaEl software selecciona el modo de codificación más eficiente y convierte los datos a una secuencia de bits.
3
3. Corrección de erroresSe 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 matrizSe 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. RenderizadoLa 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.