Mejores prácticas de códigos QR: tamaño, corrección de errores y límites

8 min19 de mayo de 2026

Anatomía de un código QR

Un código QR (Quick Response) es una matriz bidimensional de módulos blancos y negros que codifica datos de forma legible por máquina. Fue inventado por Denso Wave en 1994 para rastrear piezas de automóviles y desde entonces se ha convertido en un estándar omnipresente para enlazar el mundo físico con el digital. El estándar internacional es ISO/IEC 18004:2015.

Cada código QR contiene elementos estructurales fijos: tres patrones de búsqueda (los cuadrados grandes en tres esquinas) que permiten al escáner detectar la orientación y el tamaño del código; patrones de alineamiento (cuadrados más pequeños en códigos grandes); líneas de temporización que ayudan a determinar la densidad de módulos; y áreas de formato y versión que indican el nivel de corrección de errores y la versión del código.

Los datos se almacenan en el área restante siguiendo un patrón de lectura en zigzag. El código utiliza codificación Reed-Solomon para corrección de errores, lo que permite recuperar datos incluso si parte del código está dañado u obstruido. La versión del QR (1-40) determina el tamaño de la matriz: la versión 1 es de 21×21 módulos, y cada versión añade 4 módulos por lado (la versión 40 es de 177×177 módulos).

Un dato que sorprende: los módulos no solo son blancos o negros — el estándar define un "quiet zone" (zona silenciosa) de al menos 4 módulos de margen blanco alrededor del código. Sin esta zona, muchos escáneres no pueden distinguir dónde termina el código y empieza el fondo. Recortar este margen es uno de los errores de diseño más frecuentes.

Niveles de corrección de errores

El estándar QR define cuatro niveles de corrección de errores Reed-Solomon: L (Low, ~7%), M (Medium, ~15%), Q (Quartile, ~25%) y H (High, ~30%). El porcentaje indica cuántos datos del código pueden estar dañados y aún así ser legibles. A mayor corrección, más módulos se dedican a redundancia y menos a datos útiles — el código será más grande para la misma cantidad de información.

Nivel L (7%): máxima capacidad de datos, mínima resistencia a daños. Úsalo solo cuando el código estará en entornos controlados (pantallas digitales, documentos impresos de alta calidad) y no se espera daño físico. Ideal para URLs largas o datos extensos donde cada byte cuenta.

Nivel M (15%): el balance por defecto. Suficiente para la mayoría de aplicaciones: tarjetas de visita, folletos, productos empaquetados. Resiste suciedad ligera, pequeños arañazos y cierta degradación de impresión. Es la opción recomendada cuando no tienes requisitos específicos.

Niveles Q (25%) y H (30%): para entornos hostiles o cuando quieres incrustar un logotipo en el centro del código. El nivel H permite que hasta el 30% del código sea ilegible — suficiente para colocar un pequeño logotipo sobre los módulos centrales sin perder funcionalidad. Úsalos para códigos en exteriores (carteles, vallas), superficies que se desgastan (embalajes), o diseños personalizados con elementos superpuestos.

Niveles de corrección de errores:

Nivel | Recuperación | Capacidad (numérico) | Uso recomendado
------|-------------|---------------------|------------------
  L   |     ~7%     |    7.089 dígitos    | Pantallas, impresión perfecta
  M   |    ~15%     |    5.596 dígitos    | Uso general, tarjetas
  Q   |    ~25%     |    3.993 dígitos    | Exteriores, superficies hostiles
  H   |    ~30%     |    3.057 dígitos    | Logotipo incrustado, alto desgaste

Capacidad máxima por tipo de dato (Versión 40, Nivel L):
- Numérico:       7.089 caracteres
- Alfanumérico:   4.296 caracteres
- Bytes (UTF-8):  2.953 bytes
- Kanji:          1.817 caracteres

Tamaño mínimo y distancia de escaneo

La regla general para el tamaño mínimo de un código QR impreso es que cada módulo (el cuadrado más pequeño del código) debe tener al menos 0,33 mm de lado para escaneo a corta distancia (10-20 cm con un smartphone). Para la mayoría de aplicaciones prácticas, un código QR de al menos 2×2 cm funciona bien para versiones bajas (hasta versión 10, que son URLs típicas).

La relación entre tamaño del código, distancia de escaneo y versión es: distancia máxima de escaneo ≈ tamaño del código × 10. Un código de 3 cm puede escanearse desde unos 30 cm. Para un cartel que debe escanearse a 2 metros, necesitas un código de al menos 20 cm. Para una valla publicitaria a 10 metros, necesitas un código de 1 metro como mínimo.

La versión del QR (determinada por la cantidad de datos) afecta el tamaño práctico. Un QR versión 2 (25×25 módulos) con una URL corta puede funcionar a 2×2 cm. Pero un QR versión 15 (77×77 módulos) con un vCard completo necesita al menos 5×5 cm para que los módulos sean distinguibles a simple vista. La recomendación: minimiza los datos para minimizar la versión y por tanto el tamaño necesario.

Para impresión, la resolución mínima es 300 DPI. A esta resolución, un módulo de 0,33 mm ocupa unos 4 píxeles. Menos de 3 píxeles por módulo y la impresora no podrá reproducir fielmente los módulos más pequeños, causando errores de escaneo. Para pantallas digitales, asegúrate de que cada módulo ocupa al menos 4×4 píxeles y no uses formatos con compresión lossy (JPEG) que difuminan los bordes.

Optimización de datos para QR más pequeños

Cada carácter adicional en tu contenido puede incrementar la versión del QR, haciéndolo más denso y más difícil de escanear. La diferencia entre una URL de 30 caracteres (versión 3, 29×29 módulos) y una de 100 caracteres (versión 7, 45×45 módulos) es enorme en términos de imprimibilidad y escaneo fiable.

Usa acortadores de URL cuando el destino sea una dirección larga. "https://ejemplo.com/productos/categoria/subcategoria/producto-123?ref=qr&utm_source=flyer" (87 caracteres) puede reducirse a "https://ej.co/p123" (19 caracteres). Esto reduce la versión del QR de 7 a 2, permitiendo un código físicamente mucho más pequeño o un escaneo mucho más fiable al mismo tamaño.

El QR soporta cuatro modos de codificación: numérico (0-9, 3,3 bits/carácter), alfanumérico (0-9, A-Z, algunos símbolos, 5,5 bits/carácter), bytes (8 bits/carácter) y Kanji (13 bits/carácter). Las URLs en mayúsculas (HTTPS://EJEMPLO.COM/RUTA) pueden usar el modo alfanumérico que es más eficiente que bytes. Algunos generadores hacen esta optimización automáticamente.

Para vCards o datos WiFi, elimina campos opcionales que no aportan valor. Una vCard mínima con nombre, teléfono y email puede caber en un QR versión 5. Añadir dirección, organización, puesto, página web y foto puede dispararlo a versión 20+. Incluye solo la información que el receptor realmente necesita y ofrece un enlace para la información completa.

Diseño y personalización sin romper la funcionalidad

Los códigos QR toleran cierta personalización visual gracias a la corrección de errores, pero hay límites que no debes cruzar. Las reglas fundamentales: mantén contraste alto (mínimo 40% de diferencia de luminosidad entre módulos oscuros y claros), no modifiques los patrones de búsqueda (los tres cuadrados grandes en las esquinas), no elimines la quiet zone, y nunca inviertas colores (los módulos de datos deben ser oscuros sobre fondo claro).

Colores: puedes usar colores distintos al negro para los módulos oscuros (azul marino, verde oscuro, marrón) y fondos distintos al blanco (beige claro, amarillo suave). La clave es el contraste. Evita combinaciones como rojo sobre verde (personas con daltonismo no pueden distinguirlas) o amarillo sobre blanco (contraste insuficiente). Prueba siempre con múltiples dispositivos y en condiciones de luz variable.

Logotipos incrustados: usa nivel de corrección H (30%) y coloca el logotipo en el centro del código, cubriendo como máximo el 10-15% del área total. No lo pongas sobre los patrones de búsqueda ni sobre los patrones de alineamiento. El logotipo debe tener bordes definidos y un pequeño margen blanco propio para no "mezclarse" con los módulos adyacentes.

Formas de módulos: algunos generadores permiten usar círculos, rectángulos redondeados o formas personalizadas en lugar de cuadrados. Esto funciona siempre que el centro de cada módulo sea claramente identificable como oscuro o claro. Evita formas que se "mezclen" entre módulos adyacentes. Y nunca uses formas diferentes para los módulos de los patrones de búsqueda — deben permanecer como cuadrados concéntricos estándar.

Casos de uso y contenido apropiado

URLs (el 90% de los QR): enlaza a una página web, app store, menú de restaurante, o landing page. Usa siempre HTTPS y considera un dominio corto. Si el destino puede cambiar en el futuro (por ejemplo, el menú de un restaurante), usa un QR dinámico con redirección desde una URL corta que controles, en lugar de codificar la URL final directamente.

WiFi: el formato WIFI:T:WPA;S:NombreRed;P:Contraseña;; permite que al escanear, el móvil se conecte automáticamente a la red sin escribir la contraseña. Muy útil para oficinas, hoteles y tiendas. El escaneo ofrece al usuario confirmar antes de conectarse. Incluye el tipo de seguridad (WPA, WPA2, nopass) para que funcione correctamente.

vCards: codifican datos de contacto que se añaden directamente a la agenda del teléfono. Incluye nombre, teléfono, email y opcionalmente empresa y cargo. Mantén la información mínima para que el QR sea escaneable. Para información extensa (foto, dirección, redes sociales), mejor enlaza a una página de contacto digital.

Pagos: los QR se usan extensivamente para pagos móviles (Bizum, PayPal.me, códigos bancarios). El formato varía por plataforma: EPC QR Code para transferencias SEPA en Europa, EMVCo QR para pagos con tarjeta. Si generas QR para cobros, asegúrate de seguir el estándar específico de tu procesador de pagos para evitar errores en el importe o destinatario.

Errores frecuentes que impiden el escaneo

Quiet zone insuficiente o inexistente: el margen blanco alrededor del QR debe ser de al menos 4 módulos de ancho. Diseñadores novatos recortan este margen para "ahorrar espacio" o lo invaden con elementos decorativos. El resultado: muchos escáneres no detectan el código. Si necesitas un QR más pequeño, reduce los datos en lugar de recortar márgenes.

Baja resolución o compresión JPEG: guardar un QR como JPEG introduce artefactos de compresión que difuminan los bordes entre módulos. A tamaños pequeños o con versiones altas, esto puede hacer que módulos adyacentes se confundan. Siempre exporta QR como PNG (para digital) o SVG/PDF (para impresión). Si alguien te pide un QR "en alta calidad", dale un SVG vectorial.

Inversión de colores: los escáneres esperan módulos oscuros sobre fondo claro. Un QR con módulos blancos sobre fondo negro puede funcionar en algunos escáneres modernos, pero falla en muchos otros (especialmente cámaras de móviles antiguos o con poca luz). Si necesitas un QR sobre fondo oscuro, mantenlo en un recuadro blanco con su quiet zone intacta.

Demasiados datos: intentar codificar un párrafo de texto, una URL de 200 caracteres o una vCard con todos los campos produce un QR tan denso que solo funciona en condiciones perfectas (buena luz, cámara cerca, impresión impecable). La regla práctica: si tu QR supera la versión 10 (57×57 módulos), busca formas de reducir los datos. URL más corta, menos campos, o enlace a contenido extendido.

QR estáticos vs dinámicos

Un QR estático codifica los datos directamente: la URL, el texto o el contacto están literalmente dentro del código. Una vez impreso, no puedes cambiar el contenido sin generar e imprimir un nuevo código. La ventaja es que no depende de ningún servicio externo — funcionará mientras la URL de destino exista.

Un QR dinámico codifica una URL corta intermedia (como https://qr.tudominio.com/abc123) que redirige al destino real. Puedes cambiar el destino sin reimprimir el código. Además, permiten tracking: cuántos escaneos, desde dónde, a qué hora, qué dispositivos. La desventaja es que dependes del servicio de redirección — si el servicio cae o la empresa cierra, todos tus QR impresos dejan de funcionar.

Para material impreso con larga vida útil (tarjetas de visita, placas, señalización permanente), usa QR estáticos con URLs que controles y que no cambiarán. Para campañas temporales (folletos, carteles promocionales, packaging de edición limitada), los QR dinámicos ofrecen flexibilidad y métricas valiosas.

Si implementas tu propio sistema de QR dinámicos, mantén las URLs de redirección lo más cortas posible (dominio corto + 6-8 caracteres de ID). Esto minimiza la versión del QR resultante. Un sistema con https://tudominio.com/redirect?id=abc123def456 genera QR mucho más densos que uno con https://qr.io/a1b2c3. Los caracteres importan.