La corrección de errores QR es una redundancia integrada que permite que un código QR se siga escaneando aunque una parte esté sucia, dañada o tapada. Hay cuatro niveles: L recupera alrededor del 7 % de los datos, M alrededor del 15 %, Q alrededor del 25 % y H alrededor del 30 %. Los niveles altos son más resistentes, pero hacen el código más denso.
Cómo funciona la corrección de errores QR
Un código QR no se limita a guardar tu texto una vez y esperar que todo vaya bien. Al crear el código, los datos se dividen en bloques de bytes llamados palabras de código, y se calculan y añaden palabras de código adicionales de corrección de errores. Para ello se usa un método matemático llamado corrección de errores Reed–Solomon, de la misma familia de técnicas que se usa desde hace décadas en CD, DVD y transmisión de datos.
Cuando el móvil escanea el código, lee todas las palabras de código. Si algunas no se pueden leer o están mal por un arañazo, una mancha o un logo encima, el lector usa las palabras de código extra para deducir cuáles debían ser las partes que faltan. Mientras el daño no supere lo que el nivel puede asumir, el escaneo funciona y ni te enteras de que algo iba mal.
El nivel de corrección de errores se registra en una pequeña zona del código llamada información de formato, que se guarda dos veces para que el lector pueda leerla de forma fiable.
Los cuatro niveles: L, M, Q y H
Cada nivel intercambia espacio de almacenamiento por resistencia. Los porcentajes siguientes son cantidades aproximadas de los datos del código que se pueden recuperar.
- Nivel L (bajo), alrededor del 7 %. La mayor cantidad de datos en el código más pequeño. Adecuado para usos limpios, en interiores o en pantalla, donde es poco probable que haya daños.
- Nivel M (medio), alrededor del 15 %. Un valor equilibrado y habitual por defecto. Sirve para la mayoría de los materiales impresos, como folletos, cartas y tarjetas de visita.
- Nivel Q (cuartil), alrededor del 25 %. Protección extra para códigos que pueden ensuciarse o desgastarse, como en envases, etiquetas o talleres.
- Nivel H (alto), alrededor del 30 %. La máxima resistencia. Se elige a menudo para carteles exteriores, entornos duros o códigos con un logo en el centro.
Estas cifras describen datos recuperables, no que "puedes tapar el 30 % de la imagen". Un daño en el lugar equivocado, sobre todo encima de los tres cuadrados grandes de las esquinas, puede impedir el escaneo aunque la superficie afectada sea pequeña.
El equilibrio: resistencia frente a densidad
La corrección de errores no sale gratis. Las palabras de código extra ocupan espacio dentro del código. Con el mismo contenido, un nivel más alto significa:
- Más módulos, los pequeños cuadrados blancos y negros
- Una "versión" QR mayor, que va desde 21 × 21 módulos en la versión 1 hasta 177 × 177 en la versión 40
- Cuadrados individuales más pequeños si se imprime al mismo tamaño físico
A la cámara le cuesta más distinguir cuadrados pequeños, sobre todo a distancia, con poca luz o en móviles antiguos. Por eso elegir el nivel H para una dirección web larga en una etiqueta diminuta puede hacer que el código sea menos fiable, no más.
La solución suele ser reducir los datos. Un enlace corto, como los enlaces qr-th.com/r/ que usan los códigos dinámicos de QR-TH, mantiene el contenido breve. Eso deja margen para un nivel de corrección más alto sin que el código quede demasiado denso. Nuestra guía sobre códigos QR estáticos y dinámicos explica cómo funcionan los enlaces cortos.
¿Qué nivel deberías elegir?
Usa esta guía sencilla:
- ¿Se mostrará en una pantalla o en una impresión limpia de interior? Con el nivel L o M basta.
- ¿Material de marketing impreso normal, como cartas, folletos o carteles? El nivel M es una opción fiable por defecto.
- ¿Es probable que se raye, se moje, se ensucie o quede parcialmente tapado? Elige Q.
- ¿Logo en el centro, cartel exterior o condiciones duras? Elige H y mantén los datos cortos.
- Elijas lo que elijas, prueba el código impreso en varios móviles, a la distancia y con la luz reales.
Muchos generadores de códigos QR eligen automáticamente un nivel razonable y a menudo lo suben cuando añades un logo. Si tu herramienta te deja elegir, piensa en dónde va a estar el código en lugar de ponerlo siempre al máximo.
Corrección de errores y logos
Poner un logo en el centro de un código QR funciona gracias a la corrección de errores: el logo oculta algunos módulos y el lector los reconstruye a partir de los datos redundantes. Unas cuantas reglas lo mantienen fiable:
- Usa el nivel H, o al menos Q, cuando añadas un logo.
- Mantén el logo razonablemente pequeño y centrado. Deja bastante margen por debajo del nivel máximo de recuperación, porque los daños reales, los reflejos y el desenfoque también consumen ese margen de error.
- No tapes nunca los tres cuadrados de localización grandes de las esquinas ni la zona de silencio que rodea el código.
- Mantén un contraste fuerte entre el código y el fondo.
Para más consejos de diseño, lee nuestro artículo sobre buenas prácticas de diseño de códigos QR.
Lo que la corrección de errores no puede arreglar
La corrección de errores es potente, pero tiene límites. No salvará un código que tenga:
- Poco contraste, como gris claro sobre blanco u oscuro sobre oscuro
- Ninguna zona de silencio, porque está impreso pegado a otros elementos gráficos
- Los patrones de localización de las esquinas dañados
- Cuadrados demasiado pequeños para distinguirlos a la distancia de escaneo
- Una deformación fuerte, por ejemplo en una superficie muy curvada
- Reflejos de un plastificado brillante que borran zonas grandes
La corrección de errores tampoco hace que un código sea más seguro. Un código QR con nivel H puede seguir apuntando a una web peligrosa, y una pegatina fraudulenta colocada encima de un código auténtico se escaneará perfectamente. Si tienes dudas sobre un código, escanea el código QR online con QR-TH primero para ver el destino antes de que se abra nada.
Preguntas frecuentes
¿Cuál es el mejor nivel de corrección de errores QR?
No hay un único nivel mejor. M es una buena opción por defecto para la mayoría de los usos impresos, mientras que H se adapta a logos y a condiciones exteriores o duras. Elige según dónde se vaya a usar el código.
¿Un nivel de corrección de errores más alto hace más grande el código QR?
Con los mismos datos, sí. Añade más módulos, así que o el código impreso crece o los cuadrados individuales se hacen más pequeños.
¿Puedo poner un logo en cualquier código QR?
Solo si hay suficiente corrección de errores para cubrir la zona oculta, así que usa Q o H. Mantén el logo pequeño y lejos de los cuadrados de las esquinas, y pruébalo siempre antes de imprimir.
¿Puedo cambiar el nivel de corrección de errores después de imprimir?
No. El nivel forma parte del patrón impreso. Para cambiarlo, tienes que generar e imprimir un código nuevo.
¿Quieres un código que siga siendo legible en el mundo real? Créalo con el generador de códigos QR gratis de QR-TH, mantén el contenido corto y pruébalo en un par de móviles antes de imprimir.