Skip to content
← Blog

Correção de erro no QR Code: L, M, Q e H explicados

Correção mais alta resiste a mais dano mas deixa o código mais denso — e código denso lê pior. Escolher bem exige saber qual risco você realmente corre.

Todo gerador oferece quatro níveis e quase nenhum explica. Escolher o mais alto “por garantia” é um erro real, porque as duas coisas que você está trocando afetam a leitura.

O que são os níveis

Nível Recupera Custo de tamanho
L (Baixo) ~7% Menor
M (Médio) ~15% +10-15%
Q (Quartil) ~25% +25-30%
H (Alto) ~30% +40-50%

A porcentagem é quanto do símbolo pode estar faltando ou errado e mesmo assim decodificar. O mecanismo é o código Reed–Solomon — a mesma família usada em CDs e em transmissão espacial — que guarda palavras de código extras para reconstruir o original a partir de uma leitura parcial.

Por que “sempre use H” está errado

Redundância é dado. Mais redundância significa mais dados, e mais dados significam ou uma grade maior ou módulos menores.

Pegue uma URL que gera um símbolo 33 x 33 no nível L. No nível H a mesma URL pode precisar de 45 x 45. Imprima as duas com 2 cm e cada módulo cai de 0,6 mm para 0,44 mm — uma queda de 27% no tamanho daquilo que a câmera precisa distinguir.

Ou seja: o nível H compra tolerância a dano e gasta margem de leitura. Num cardápio limpo sob boa luz, essa troca é prejuízo — você deixou o código mais difícil de ler para protegê-lo de um dano que ele nunca vai sofrer.

Escolhendo pelo risco real

Nível L — o código vive numa tela, ou em material protegido e manuseado com cuidado. Nota fiscal digital, slide de apresentação, código dentro de um PDF. Menor símbolo, nenhuma tolerância a sujeira.

Nível M — o padrão sensato, e o certo para a maior parte das impressões. Cardápios, panfletos, cartões de visita, cartazes internos. Aguenta manuseio normal sem inflar o símbolo.

Nível Q — material que será manuseado, dobrado ou fica exposto. Cartão fidelidade, embalagem, etiqueta, qualquer coisa que anda no bolso. Também vale quando a qualidade de impressão é incerta.

Nível H — obrigatório sempre que houver logo, porque o logo é o dano. Também correto para etiquetas industriais, identificação de equipamento, qualquer coisa exposta ao tempo ou a abrasão, e superfícies que serão escaneadas em condição ruim.

O caso do logo, especificamente

Um logo central cobrindo 20% da largura remove 4% da área. Parece confortavelmente dentro dos 15% do nível M — e muitas vezes não está, porque a recuperação é medida em palavras de código e não em área, e um bloco contíguo de perda é mais difícil de recuperar que a mesma quantidade espalhada.

Suba para H sempre que houver logo. Não como precaução: como aquilo que faz o logo funcionar. Tem mais em Como colocar logo sem quebrar a leitura.

A interação com o tamanho

As duas decisões são ligadas, e normalmente são tomadas em separado:

  • Subir o nível adensa o símbolo num tamanho físico fixo. Indo de M para H, o código precisa ser impresso maior para manter o mesmo tamanho de módulo.
  • Se você não pode imprimir maior, subir o nível pode piorar a leitura, não melhorar.

A regra que amarra os dois: mire pelo menos 0,5 mm por módulo na impressão. Escolha o nível primeiro, depois confira se o tamanho comporta — os números estão em tamanho mínimo para impressão.

Contra o que ela não protege

A correção de erro repara módulos faltando ou lidos errado. Ela não ajuda com:

  • Localizador coberto. A recuperação acontece depois de o código ser localizado; se os três quadrados dos cantos estão danificados, não há para onde recuperar.
  • Contraste baixo. O decodificador não consegue distinguir escuro de claro para começar, então não existe leitura parcial a reparar.
  • Pequeno demais para resolver. Mesmo problema: nenhum dado está sendo lido.
  • Destino morto. O código decodifica perfeitamente para uma URL que não existe mais.

Os quatro são causas de falha mais comuns que dano — e é por isso que subir para H raramente conserta um código que não lê.

A resposta prática

Use M, a menos que tenha um motivo específico. Use H quando houver logo, ou quando a superfície realmente vai apanhar. Use L só em tela.

Se um código não lê, o nível quase nunca é a causa — comece pelas doze causas usuais.