Niveles de Corrección de Errores en Códigos QR: L, M, Q, H
Los niveles de corrección de errores QR (L, M, Q, H) determinan cuánto daño puede sobrevivir un código. Aprende Reed-Solomon, porcentajes y cuándo usar cada

Este articulo fue escrito por el equipo de QR Nova. Desarrollamos software de codigos QR, lo que puede influir en nuestra perspectiva.
La mayoría de las guías sobre corrección de errores en códigos QR se limitan a listar los cuatro porcentajes sin contexto, o explican Reed-Solomon a un nivel tan técnico que resulta inútil para quien simplemente necesita elegir un nivel antes de pulsar "generar." Los niveles de corrección de errores QR (L, M, Q, H) controlan cuánto daño físico puede sobrevivir un código antes de volverse ilegible — y el algoritmo que hay detrás, Reed-Solomon, es la misma matemática que recupera datos en CDs rayados y discos dañados.
Resumen
- Cuatro niveles ECC: L (7% de recuperación), M (15%), Q (25%), H (30%). M es el valor por defecto de ISO para la mayoría de los usos en impresión.
- Reed-Solomon funciona añadiendo palabras de paridad derivadas de polinomios sobre GF(256). Los escáneres usan esas palabras para reconstruir datos dañados.
- Usa el nivel H cuando incrustes un logo: un logo centrado cubre entre el 10 y el 20% del código, y el nivel H es el único con margen suficiente.
- Mayor ECC = menor capacidad de datos. En nivel H, el código almacena aproximadamente un 30% menos de datos que en nivel L.
Qué hace realmente la corrección de errores en un código QR
Crea tu primer código QR gratis
EmpezarUn código QR no es un simple código de barras. Codifica información como una matriz de módulos blancos y negros, e incluye deliberadamente más datos de los estrictamente necesarios para reproducir el mensaje original. Esos datos extra son la carga útil de corrección de errores — y es lo que permite a un escáner reconstruir una URL aunque parte del código esté tapada, rota o sucia.
El punto clave: la corrección de errores no "adivina" las partes que faltan. Funciona porque los datos originales se codificaron como una estructura matemática, y las palabras de paridad añadidas limitan cuál debe ser el conjunto completo de datos. Si faltan módulos, el escáner resuelve un sistema de ecuaciones polinómicas para rellenar los huecos. Es un proceso determinista, no probabilístico.
Los cuatro niveles — L, M, Q, H — definen cuántas palabras de paridad se añaden. Más palabras de paridad significan más margen de recuperación, pero quedan menos módulos para datos reales. Esa compensación es todo el marco de decisión.
Los cuatro niveles ECC: porcentajes de recuperación y su significado
Según la norma ISO/IEC 18004, el estándar internacional de códigos QR, los cuatro niveles de corrección de errores ofrecen estas capacidades de recuperación:
| Nivel | Nombre | Capacidad de recuperación | Uso típico |
|---|---|---|---|
| L | Bajo | ~7% | Pantallas digitales, entornos controlados |
| M | Medio | ~15% | Impresión general: folletos, carteles, packaging (predeterminado ISO) |
| Q | Cuartil | ~25% | Impresión industrial, entornos de alto desgaste |
| H | Alto | ~30% | Códigos QR con logo, señalización exterior, condiciones duras |
Nivel L — Bajo (7%)
El nivel L produce el código QR más pequeño para cualquier carga útil porque añade el menor número de palabras de paridad. En una pantalla limpia — un móvil mostrando una entrada de evento, o un monitor con la URL de una sala de reuniones — el nivel L es suficiente. La fragilidad solo se convierte en problema cuando el código se imprime y se manipula.
Nivel M — Medio (15%)
El nivel M es el valor predeterminado recomendado por ISO/IEC 18004. Tolera la degradación normal de impresión — desgaste del tóner, arrugas leves, iluminación indirecta — sin aumentar significativamente el tamaño del código. Para la mayoría de los casos de uso (tarjetas de visita, menús de restaurante, packaging) donde el código está limpio y sin adornos, el nivel M es la elección correcta.
Nivel Q — Cuartil (25%)
El nivel Q es el techo práctico para códigos que necesitan durabilidad sin logo. Piensa en pulseras de eventos, etiquetas de estantes de almacén, o tableros de menú al aire libre que pasan meses en condiciones variables. Un margen de recuperación del 25% tolera una degradación física significativa.
Nivel H — Alto (30%)
El nivel H existe principalmente para un escenario: códigos QR de marca con un logo superpuesto en el centro. Un logo centrado ocluye normalmente entre el 10 y el 20% del área de módulos. La capacidad de recuperación del 30% del nivel H es el único nivel que ofrece éxito de lectura fiable con un logo presente, dejando entre el 10 y el 20% de margen para el desgaste real más allá de la cobertura del logo.
Reed-Solomon: cómo funciona la matemática
Reed-Solomon (RS) fue desarrollado por Irving Reed y Gustave Solomon en el MIT Lincoln Laboratory en 1960. Aparece en reproductores de CD y DVD, sistemas de almacenamiento RAID, comunicaciones en el espacio profundo (la sonda Voyager usó códigos RS) y en cada código QR generado.
La idea central: tratar los datos no como una secuencia de bits, sino como coeficientes de un polinomio. Luego evaluar ese polinomio en un conjunto fijo de puntos y registrar los resultados como "símbolos de verificación" extra. Si algunos puntos de datos originales se pierden o se corrompen, los símbolos de verificación limitan suficientemente la forma del polinomio como para recuperar los valores faltantes.
El proceso de codificación y decodificación
- Codificación: El generador de QR toma las palabras clave de datos y calcula un conjunto de palabras clave de corrección de errores (ECC) usando un polinomio generador. Estas ECC se añaden al bloque de datos antes de ensamblar la matriz final.
- Lectura: El escáner lee tantos módulos como puede. Los módulos ilegibles se tratan como "borrados" — posiciones conocidas como ausentes, que son más fáciles de corregir que los errores desconocidos.
- Reconstrucción: El decodificador RS usa las palabras clave de datos disponibles más las ECC para reconstruir cualquier dato faltante. Los borrados cuestan un símbolo de corrección cada uno; los errores (valor incorrecto en una posición legible) cuestan dos.
La compensación de capacidad: qué te cuesta un ECC mayor
Cada palabra clave ECC añadida al código desplaza una palabra clave de datos. Para un código QR versión 10 (57×57 módulos), la capacidad de datos útiles en cada nivel es:
- Nivel L: 346 palabras clave binarias
- Nivel M: 272 palabras clave binarias
- Nivel Q: 196 palabras clave binarias
- Nivel H: 146 palabras clave binarias
Eso supone una reducción del 57% en datos útiles al pasar del nivel L al nivel H en la misma versión de código físico. Para la mayoría de las URLs cortas (menos de 50 caracteres), esta compensación es invisible. Las URLs largas o los datos vCard pueden empezar a sentir la limitación.
Cuándo no usar el nivel H
El nivel H no es automáticamente "mejor." Tres situaciones en las que puede perjudicarte:
- Tamaños de impresión pequeños: Un código nivel H necesita más módulos que un nivel L para los mismos datos. En tamaños muy pequeños (menos de 2 cm), la mayor densidad de módulos puede reducir la fiabilidad de lectura en dispositivos más antiguos.
- Cargas útiles con mucho texto: Los códigos QR vCard, los códigos de configuración WiFi con contraseñas WPA2, o los códigos con plantillas de email completas pueden alcanzar límites de versión en nivel H que el nivel M evita.
- Solo visualización digital: Un código QR mostrado en pantalla nunca sufre daño físico. El nivel M es suficiente y produce una matriz menos densa que algunos lectores leen más rápido.
Cómo QR Nova gestiona la corrección de errores
Cuando generas un código QR en el generador de QR Nova, puedes seleccionar el nivel ECC antes de descargar. Para los códigos estáticos — que son permanentes y nunca caducan, ya que la URL está codificada directamente en la imagen — esta es una decisión de una sola vez. Elige el nivel H si vas a añadir un logo; elige el nivel M para aplicaciones de impresión limpia.
No se requiere suscripción para descargar un PNG o SVG en alta resolución en ningún nivel ECC. El error más común que vemos al generar códigos QR a escala es usar el nivel H para todos los códigos por defecto, lo que crea códigos innecesariamente densos que fallan en etiquetas pequeñas. Ajusta el nivel al caso de uso y tu tasa de fallos caerá significativamente.
Preguntas frecuentes
¿Cuáles son los cuatro niveles de corrección de errores en los códigos QR?
Los cuatro niveles son L (Bajo, 7% de recuperación), M (Medio, 15%), Q (Cuartil, 25%) y H (Alto, 30%). Cada nivel añade más datos redundantes de Reed-Solomon al código, aumentando la tolerancia al daño a costa de la capacidad de datos.
¿Qué nivel debo usar en un código QR con logo?
Usa siempre el nivel H (30%) cuando incrustes un logo en un código QR. Un logo centrado cubre normalmente entre el 10 y el 20% del área de módulos. El nivel H es el único que ofrece suficiente margen por encima de esa cobertura para garantizar lecturas fiables.
¿Qué es la corrección de errores Reed-Solomon en los códigos QR?
Reed-Solomon es un algoritmo de corrección de errores basado en bloques que trata los datos del código QR como polinomios sobre un campo finito (GF(256)). Añade palabras clave de paridad a los datos originales. Cuando un escáner lee un código dañado, usa esas palabras de paridad para reconstruir los datos faltantes o corruptos.
¿Un nivel de corrección más alto reduce la capacidad de datos del código QR?
Sí. Los niveles ECC más altos añaden más palabras clave redundantes que ocupan espacio en los módulos. Un código QR en nivel H almacena aproximadamente un 30% menos de datos útiles que el mismo en nivel L. En la práctica puede que necesites una versión más grande del código para codificar la misma URL en nivel H.
¿Por qué la mayoría de los generadores de QR usan el nivel M por defecto?
El nivel M (15% de recuperación) es el valor recomendado por la norma ISO/IEC 18004 porque equilibra capacidad de datos y tolerancia al daño para los usos de impresión típicos: menús, tarjetas de visita, señalización.
¿Puedo cambiar el nivel de corrección de un código QR ya creado?
No. El nivel de corrección de errores queda integrado en el código en el momento de la generación. Cambiarlo requiere regenerar el código, lo que produce una imagen diferente. Para códigos QR estáticos esto implica reimprimir el material.
¿Qué pasa si uso el nivel L en un código QR impreso?
El nivel L (7% de recuperación) funciona bien en pantallas digitales limpias y materiales recién impresos. El problema aparece con el tiempo: manchas de café, arrugas, desgaste del tóner, exposición solar. Cualquier daño superior al 7% del área de módulos provoca fallos de lectura.
Crea tu primer código QR gratis
Empezar