Niveles de corrección de errores de un código QR

Qué recuperan realmente L, M, Q y H, cuánta densidad cuesta cada uno y qué nivel conviene para una pegatina, un cartel o un código con un logo encima.

Respuesta cortaLos códigos QR tienen cuatro niveles de corrección de errores: L recupera alrededor del 7 % del código, M alrededor del 15 %, Q alrededor del 25 % y H alrededor del 30 %. Un nivel más alto hace que el código aguante más suciedad, daños o partes tapadas, pero también añade módulos, así que el mismo enlace produce un código más denso.

Los cuatro niveles

Todo código QR se genera con uno de cuatro niveles de corrección de errores. Se elige al crearlo y queda registrado dentro del propio símbolo, para que el lector sepa cuál esperar. Los porcentajes indican qué parte de los datos del código puede perderse y aun así reconstruirse con exactitud.

Niveles de corrección de errores y lo que toleran
NivelRecuperableIdeal para
L (bajo)alrededor del 7 %Pantallas e impresión limpia y controlada cuando falta espacio.
M (medio)alrededor del 15 %Impresión general: flyers, tarjetas de presentación, documentos.
Q (cuartil)alrededor del 25 %Impresos que se manosean, se mojan o se rozan; logos pequeños.
H (alto)alrededor del 30 %Entornos duros, etiquetas de exterior, logos superpuestos más grandes.

Las cifras son aproximadas porque se miden en palabras de código —los bloques de 8 bits en los que se dividen los datos—, no en superficie visible. Una mancha que roza unos pocos módulos de muchas palabras de código distintas puede hacer más daño que un agujero limpio del mismo tamaño. La mecánica de fondo se explica en cómo funcionan los códigos QR; aquí lo que importa es el comportamiento práctico.

Qué significa «recuperar» en la práctica

La corrección de errores no es una conjetura aproximada. Si el daño se queda dentro del margen del nivel, el lector reconstruye los datos originales exactamente, byte a byte. Si lo supera, la lectura falla: no devuelve un enlace ligeramente equivocado. Un código o se lee bien o no se lee.

  • Daños físicos. Esquinas rotas en un cartel, una etiqueta rayada en una caja, un pliegue que atraviesa un folleto doblado.
  • Suciedad y reflejos. Grasa en un expositor de mesa, gotas de agua en una pegatina de escaparate, el brillo de una tarjeta plastificada que borra parte del patrón.
  • Partes tapadas a propósito. Para el lector, un logo colocado en el centro es un daño. Solo funciona porque la corrección de errores reconstruye los módulos que hay debajo: consulta códigos QR con logo.
  • Defectos de impresión. Tinta que se expande en papel absorbente o una impresión de baja resolución que funde módulos vecinos.

La corrección de errores no arregla daños estructurales. Si se tapa uno de los tres cuadrados grandes de las esquinas, o se recorta el margen en blanco que rodea el código, puede que el lector ni siquiera encuentre el código, sea cual sea el nivel.

La contrapartida: la protección cuesta densidad

La redundancia que hace posible la recuperación tiene que guardarse en algún sitio, y se guarda en la misma cuadrícula que tu enlace. En el nivel H, aproximadamente un tercio de las palabras de código se dedica a corrección y no a datos. Por eso, con la misma URL, un nivel más alto empuja el código a una versión mayor: más módulos de lado y, a un mismo tamaño impreso, cada uno más pequeño.

Los módulos pequeños cuestan más de leer. Necesitan una impresión más nítida, mejor luz, un pulso más firme y una cámara más cerca. Así que, a partir de cierto punto, subir el nivel hace el código menos fiable, no más: lo has protegido contra los daños, pero lo has vuelto frágil ante la distancia y el desenfoque. Cuántos datos admite cada versión en cada nivel se detalla en cuántos datos caben en un código QR.

Para un código demasiado denso, bajar el nivel rara vez es la solución por sí sola. Un enlace más corto reduce la versión más que cualquier cambio de nivel, e imprimir más grande mantiene los módulos a un tamaño legible: consulta tamaño del código QR para imprimir.

Qué nivel usar

  • L: solo si el código se va a mostrar en pantalla o a imprimir limpio y seguirá limpio, y necesitas la cuadrícula más gruesa posible para un contenido largo. Los códigos en diapositivas y presentaciones pueden permitírselo.
  • M: un valor razonable para la mayoría de impresos. Tarjetas de presentación, folletos, cartas y señalización interior.
  • Q: todo lo que se vaya a tocar, doblar o dejar a la intemperie: cartas de restaurante y expositores de mesa, empaques de producto, escaparates y códigos con un logo pequeño.
  • H: señalización exterior, etiquetas industriales y de envío, y diseños que tapan a propósito una parte grande del código. Mantén el enlace corto para que la versión siga siendo baja.

Elijas el nivel que elijas, prueba el resultado impreso con más de un móvil y a la distancia a la que se pondrá la gente de verdad. Si tarda en leerse, la guía el código QR no escanea recoge las causas habituales por orden de probabilidad.

Cómo elige este generador

En este sitio no hay selector de nivel. Los códigos se generan con nivel Q, que tolera que se pierda alrededor de una cuarta parte del código: suficiente para impresos que se manosean y el desgaste del día a día. Si un enlace es tan largo que con nivel Q el código pasaría de la versión 12 (65 × 65 módulos), el generador baja a nivel M, para que los módulos sigan siendo más grandes y el código se lea bien a tamaños de impresión normales.

Si añades un logo en el centro, el código pasa a nivel H y el logo se limita a alrededor del 12 % de la superficie del símbolo, para dejar margen frente a otros daños. Sin logo, todo el margen de corrección queda libre para el desgaste real. Bajo cada código se muestran la versión y el número de módulos antes de descargarlo, para que veas el resultado de esa elección; el código incluye una zona de silencio de cuatro módulos y, si cambias los colores, el generador exige oscuro sobre claro con contraste suficiente. Las opciones de diseño están en el generador de códigos QR personalizados.

Crea un código y comprueba su versión y número de módulos:Generar un código QR

Preguntas relacionadas

Para la mayoría de códigos impresos, M o Q. M mantiene el código compacto para impresión limpia en interiores; Q añade protección para códigos que se van a manosear o a quedar expuestos. H solo compensa en condiciones duras o con logos grandes superpuestos, y solo con un enlace corto.

No. H aguanta más daños, pero con los mismos datos produce un código más denso, con módulos más pequeños, que cuesta más de leer a distancia o con poca luz. Un código limpio y sin daños con un nivel más bajo puede leerse más rápido que uno denso con H.

El nivel se guarda en la información de formato, junto a los cuadrados de las esquinas, y algunas apps lectoras y decodificadoras lo muestran. A simple vista no se puede saber con seguridad, porque la versión depende también de cuántos datos se codifican.

No sin volver a generarlo. El nivel determina cómo se construye todo el símbolo, así que otro nivel implica otro patrón, y habría que sustituir las copias impresas.