📱
← Volver a guías

Cómo funcionan los códigos QR: un análisis técnico en profundidad

· Etiquetas: qr-codes, technology, encoding, data-storage, barcode

Cómo funcionan los códigos QR: un análisis técnico en profundidad

Los códigos QR (códigos de respuesta rápida) son códigos de barras matriciales bidimensionales inventados en 1994 por Denso Wave, una filial de Toyota. Diseñados para una descodificación de alta velocidad, los códigos QR almacenan datos en una cuadrícula de cuadrados blancos y negros (módulos) mediante cuatro modos de codificación estandarizados y la corrección de errores Reed-Solomon. A diferencia de los códigos de barras lineales que codifican los datos en una dimensión, los códigos QR empaquetan la información tanto horizontal como verticalmente, logrando hasta 7,089 caracteres numéricos en un solo símbolo.

La anatomía de un código QR

Todo código QR se compone de varias zonas funcionales. Comprender estos componentes te ayuda a diseñar códigos que se escaneen de forma fiable y maximicen la capacidad de datos.

Patrones de búsqueda

Tres patrones cuadrados idénticos situados en las esquinas superior izquierda, superior derecha e inferior izquierda. Cada patrón de búsqueda consiste en un cuadrado negro de 7x7, un cuadrado blanco de 5x5 y un cuadrado negro de 3x3 en su centro. Estos patrones permiten que el software de escaneo detecte rápidamente la posición, la orientación y el ángulo del código QR independientemente de su rotación.

Patrones de alineación

Marcas de registro más pequeñas (normalmente de 5x5 módulos) integradas en todo el código. Los patrones de alineación ayudan a los escáneres a corregir la distorsión cuando el código se imprime en superficies curvas como el envasado de productos o las latas de bebidas. Los códigos de la versión 2 en adelante tienen al menos un patrón de alineación; el número aumenta con el tamaño del código.

Patrones de sincronización

Líneas alternas de blanco y negro que discurren entre los patrones de búsqueda, tanto horizontal como verticalmente. Estos módulos definen las posiciones de filas y columnas de la cuadrícula de datos, ayudando al escáner a determinar el tamaño de cada módulo.

Información de formato

Una región dedicada cerca de los patrones de búsqueda que codifica el nivel de corrección de errores y el patrón de máscara. El escáner lee esto primero para saber cómo descodificar correctamente el resto de los datos.

Regiones de datos y corrección de errores

Los módulos restantes forman dos regiones entrelazadas: palabras de código de datos (la carga útil codificada) y palabras de código de corrección de errores (datos redundantes para la recuperación de daños). Estas se disponen en un patrón de bits específico que varía según la versión del código QR.

Zona de silencio

Un borde claro obligatorio de al menos cuatro módulos de ancho que rodea todo el código QR. Sin esta zona de silencio, los escáneres no pueden distinguir de forma fiable el código de su entorno. Esta es una de las causas más comunes de fallos de escaneo en los diseños personalizados.

Métodos de codificación de datos

Los códigos QR admiten cuatro modos de codificación distintos, cada uno optimizado para un tipo diferente de datos. El codificador selecciona automáticamente el modo más eficiente en función de tu entrada.

Modo numérico

Optimizado exclusivamente para los dígitos del 0 al 9. Es el modo más eficiente en espacio, empaquetando tres dígitos en 10 bits (frente a los 8 bits por byte del binario estándar). Capacidad máxima en la versión 40-L: 7,089 caracteres. Ideal para números de teléfono, identificadores de producto y códigos numéricos.

Modo alfanumérico

Codifica dígitos (0-9), letras mayúsculas (A-Z) y nueve caracteres especiales: espacio, $, %, *, +, -, ., / y :. Cada par de caracteres se comprime en 11 bits. Capacidad máxima: 4,296 caracteres. Ideal para URL que evitan letras minúsculas y códigos de texto cortos.

Modo byte

Codifica cualquier carácter de 8 bits mediante la codificación ISO-8859-1 (Latin-1). Cuando el contenido contiene letras minúsculas, mayúsculas y minúsculas combinadas o caracteres UTF-8, el codificador recurre al modo byte. Capacidad máxima: 2,953 caracteres. Es el modo más flexible y cubre la mayoría de los casos de uso comunes, como URL completas y texto mixto.

Modo Kanji

Un modo especializado para caracteres japoneses de doble byte (codificación Shift JIS). Cada carácter Kanji se comprime en 13 bits en lugar de 16 bits. Capacidad máxima: 1,817 caracteres. Se usa con menos frecuencia fuera de Japón, pero demuestra la herencia del formato.

Proceso de codificación paso a paso

  1. Análisis de datos — El codificador analiza el contenido de entrada y selecciona el modo más eficiente
  2. Indicador de modo — Un código de 4 bits señala qué modo de codificación se eligió
  3. Recuento de caracteres — Una secuencia de bits registra la longitud de los datos
  4. Codificación de datos — El contenido se convierte en un flujo de bits usando el modo seleccionado
  5. Terminador — Una secuencia de relleno corta marca el final de los datos
  6. Relleno de bits — La capacidad restante se rellena con bits alternos de 0 y 1 para alcanzar un límite de palabra de código completo
  7. Generación de corrección de errores — Se calculan y añaden las palabras de código Reed-Solomon

Versiones y tamaños de los códigos QR

Los códigos QR se definen en 40 versiones, desde la versión 1 (21x21 módulos) hasta la versión 40 (177x177 módulos). Cada versión sucesiva añade 4 módulos por lado.

| Versión | Dimensiones | Capacidad numérica (L) | Uso típico | |---------|-----------|---------------------|-------------| | 1 | 21x21 | 41 | URL simples | | 2 | 25x25 | 77 | Enlaces cortos | | 4 | 33x33 | 187 | vCards, URL | | 6 | 41x33 | 322 | Configuraciones WiFi | | 10 | 57x57 | 652 | Texto medio | | 20 | 97x97 | 1,746 | Documentos | | 40 | 177x177 | 7,089 | Datos máximos |

La mayoría de los códigos QR orientados al consumidor usan de la versión 2 a la versión 10. Las versiones superiores contienen módulos más pequeños, que requieren impresión de mayor resolución y un escaneo más preciso.

Corrección de errores Reed-Solomon

Los códigos QR emplean la corrección de errores Reed-Solomon, que divide los datos en bloques y genera palabras de código redundantes para cada bloque. Hay cuatro niveles:

  • Nivel L — Recupera el 7 % de los datos dañados. Capacidad de datos máxima, protección mínima.
  • Nivel M — Recupera el 15 %. Elección estándar para el uso general. La mayoría de los generadores de QR utilizan este nivel por defecto.
  • Nivel Q — Recupera el 25 %. Fuerte protección para códigos en productos envasados o artículos manipulados con frecuencia.
  • Nivel H — Recupera el 30 %. Protección máxima para entornos exteriores o industriales.

El sistema de corrección de errores también permite la práctica popular de insertar logotipos y elementos gráficos en los códigos QR. Los módulos bloqueados se reconstruyen a partir de los datos redundantes, siempre que la obstrucción no supere la capacidad de corrección de errores.

Cómo funciona el escaneo

El escaneo moderno de códigos QR implica un sofisticado proceso que se ejecuta en milisegundos:

  1. Detección — La cámara captura una imagen y el software localiza los patrones de búsqueda para determinar los límites del código
  2. Corrección de perspectiva — El escáner aplica transformaciones geométricas para corregir la visión angular y las superficies curvas
  3. Binarización — La imagen se convierte en blanco y negro puro mediante un umbral adaptativo para manejar iluminaciones variadas
  4. Muestreo de módulos — El escáner lee el color de cada módulo en los puntos de intersección de la cuadrícula
  5. Descodificación del formato — El nivel de corrección de errores y el patrón de máscara se extraen de las regiones de formato
  6. Extracción de datos — La máscara se invierte y el flujo de bits de datos se lee en el orden especificado
  7. Comprobación de errores — El cálculo del síndrome de Reed-Solomon detecta y corrige errores
  8. Descodificación — El flujo de bits limpio se convierte de nuevo al contenido original mediante el modo de codificación declarado

Patrones de máscara

Los códigos QR aplican uno de ocho patrones de máscara (numerados del 0 al 7) a la región de datos antes del renderizado final. La máscara garantiza una distribución equilibrada de módulos blancos y negros, evitando grandes áreas vacías que confundirían a los escáneres. El escáner lee la referencia de la máscara a partir de la información de formato y la invierte durante la descodificación.

Micro códigos QR

Una variante llamada Micro QR Code utiliza un único patrón de búsqueda (en lugar de tres) y existe en cuatro versiones más pequeñas. Los micro códigos QR son útiles para espacios muy reducidos, como componentes electrónicos y dispositivos médicos, con una capacidad máxima de 355 caracteres numéricos.

Genera códigos QR con confianza

Comprender la tecnología subyacente te ayuda a crear códigos QR que se escaneen de forma fiable en cualquier entorno. Nuestro generador gratuito de códigos QR en línea automatiza todas las decisiones técnicas — selección de versión, optimización del modo, corrección de errores y máscara — para que obtengas un código listo para producción en segundos. Elige entre formatos de URL, texto, vCard, WiFi y más, con opciones de personalización completas.