Um QR code de cardapio de restaurante com uma marca de cafe no canto. Uma placa de jardim desbotada por tres meses de sol direto. Uma etiqueta de armazem borrada com graxa. Todos os tres ainda sao lidos normalmente.
Isso nao e sorte. Todo QR code contem dados redundantes que permitem aos leitores reconstruir partes danificadas ou ausentes. A especificacao ISO/IEC 18004:2024 chama isso de correcao de erros de QR code, e esse recurso faz parte do formato desde sua primeira padronizacao em 2000. Um codigo de barras tradicional com o mesmo dano seria ilegivel.
Principais conclusoes:
QR codes usam correcao de erros Reed-Solomon para se recuperar de danos fisicos, conforme a ISO/IEC 18004:2024.
Quatro niveis: L (7%), M (15%), Q (25%), H (30%). A porcentagem se refere a codewords recuperaveis, nao a area fisica.
Maior correcao significa mais tolerancia a danos, porem menos capacidade de dados.
QR codes nunca retornam dados incorretos. Eles falham de forma segura quando o dano excede a capacidade de correcao.
QR codes dinamicos armazenam URLs curtas de redirecionamento, entao o Nivel M oferece margem suficiente para a maioria dos casos de uso.
O Que E Correcao de Erros em QR Code?

Pense nisso como dados de backup embutidos no proprio codigo. Quando sujeira, arranhoes ou desbotamento destroem alguns dos modulos pretos e brancos, o leitor usa esse backup para preencher as lacunas. A mensagem completa ainda e transmitida mesmo com partes faltando.
A matematica por tras disso se chama correcao de erros Reed-Solomon. Irving S. Reed e Gustave Solomon publicaram o algoritmo em 1960 no MIT Lincoln Laboratory para comunicacao via satelite, onde o ruido do sinal corrompe dados transmitidos. O mesmo algoritmo acabou sendo usado em CDs, DVDs, discos Blu-ray e nos sistemas de dados das sondas Voyager da NASA. Quando a DENSO WAVE projetou o QR code em 1994, Reed-Solomon foi uma escolha natural. O algoritmo ja havia sobrevivido ao espaco profundo.
O padrao do QR code especifica quatro niveis de correcao de erros. Cada nivel determina quanta redundancia o codigo carrega e, como contrapartida direta, quanta informacao o codigo pode armazenar no total.
Os Quatro Niveis de Correcao de Erros do QR Code
Todo QR code e gerado em um dos quatro niveis de correcao de erros. A tabela abaixo mostra o que cada nivel recupera, quanta informacao ele comporta no tamanho maximo (Versao 40, o maior QR code definido na especificacao) e onde cada um se encaixa melhor.
Nivel | Nome | Recuperacao | Capacidade Max. (V40) | Melhor Para |
|---|---|---|---|---|
L | Low | 7% | 2,953 bytes | Telas digitais, ambientes limpos |
M | Medium | 15% | 2,331 bytes | Impressos internos, panfletos, cardapios (padrao mais comum) |
Q | Quartile | 25% | 1,663 bytes | Sinalizacao externa, embalagens, superficies sujeitas a desgaste |
H | High | 30% | 1,273 bytes | Logos sobre o codigo, ambientes industriais e fabris |
Mais protecao custa espaco de armazenamento. Na Versao 40, o Nivel L comporta 2,953 bytes. O Nivel H comporta 1,273. Isso representa uma reducao de 57% na capacidade em troca de resistencia a danos.
A maioria dos geradores usa o Nivel M como padrao. A DENSO WAVE confirma que ele e o nivel mais selecionado na pratica. O M lida com arranhoes leves, desbotamento parcial e marcas de dedos sem tornar o codigo maior do que o necessario.
Essas porcentagens da ISO sao maximos teoricos. Na pratica, os codigos tendem a falhar antes. O engenheiro de software Huon Wilson testou 12.800 configuracoes de QR code com danos simulados e descobriu que codigos de Nivel H produziram 60% mais leituras bem-sucedidas do que os de Nivel L. Os limites praticos de falha ficaram em torno de 6% para L, 12% para M, 18% para Q e 20% para H. Danos no mundo real nao se distribuem uniformemente, entao o codigo atinge seu limite antes do que a especificacao sugere.
Quanto Dano um QR Code Pode Suportar?

As porcentagens na tabela se referem a codewords (unidades de dados codificados), nao a area fisica. Danificar 15% da superficie nao necessariamente corrompe 15% das codewords. O motivo esta em como os dados sao organizados dentro da grade.
Interleaving de codewords
Para QR codes maiores, os dados codificados sao divididos em multiplos blocos Reed-Solomon e entao intercalados (interleaving) antes de serem posicionados na grade. Um arranhao diagonal no codigo nao destroi codewords consecutivas. Em vez disso, ele danifica uma codeword aqui, pula tres, danifica outra ali. O dano se distribui entre multiplos blocos de correcao em vez de sobrecarregar um unico bloco. E por isso que um arranhao longo costuma ser mais recuperavel do que um furo profundo em um unico ponto.
Deteccao de erros versus correcao de erros
Reed-Solomon consegue detectar o dobro de erros que consegue corrigir. No Nivel M, o algoritmo corrige ate 15% das codewords corrompidas, mas detecta corrupcao em ate 30%. Quando o dano excede o limite de correcao, porem fica dentro do limite de deteccao, o leitor sabe que os dados estao comprometidos e nao retorna nada.
Esse e um recurso de seguranca. Um QR code danificado nunca vai direcionar voce para o site errado ou cobrar a conta errada. Ele funciona corretamente ou nao retorna nada. Para codigos de pagamento e tokens de autenticacao, essa distincao faz muita diferenca.
A excecao do padrao de localizacao
Os tres quadrados grandes nos cantos de todo QR code sao padroes de localizacao. O leitor os utiliza para localizar e orientar o codigo. Eles nao sao protegidos pela correcao de erros da mesma forma que os modulos de dados. Se um rasgo, dobra ou adesivo cobrir um dos tres cantos, o codigo quase certamente falhara, independentemente do nivel de correcao. Nenhuma quantidade de redundancia salva um codigo com um canto faltando.
Qual Nivel de Correcao de Erros Voce Deve Escolher?
Veja o que escolher para cenarios comuns.
Impressos internos (cardapios, panfletos, cartoes de visita): Nivel M. Ambientes limpos com contato fisico minimo. O M lida com manchas ou dobras ocasionais sem tornar o codigo maior do que o necessario.
Superficies externas ou expostas ao tempo (placas de jardim, adesivos para carros, pontos de onibus): Nivel Q ou H. Desbotamento por UV, chuva, contato fisico de pessoas passando. Esses codigos precisam de um limite maior de correcao de erros porque os danos se acumulam ao longo de semanas e meses.
QR codes com logo ou marca: Nivel H. Um logo centralizado cobre intencionalmente modulos de dados, geralmente 20-30% da area do codigo. O limite de correcao de 30% do Nivel H absorve isso. Sem ele, voce esta arriscando. Um estudo do AutoID Lab da University of Memphis testou QR codes personalizados e encontrou taxas de leitura medias de 61,5%, com as piores caindo para 9,6%. Codigos sem modificacao atingiram cerca de 95%. A principal causa de falha foram danos nos cantos do padrao de localizacao.
Exibicao digital (telas, apresentacoes, e-mail): Nivel L. Sem risco de dano fisico. O codigo existe como pixels em uma tela. O Nivel L mantem o codigo compacto e rapido de ler.
QR codes dinamicos: Nivel M geralmente e suficiente. Um QR code dinamico armazena apenas uma URL curta de redirecionamento (por exemplo, freeqr.to/abc123), nao o conteudo completo do destino. Menos dados significam menos modulos, o que significa que a correcao de erros tem proporcionalmente mais espaco para atuar.
No designer do FreeQR, as quatro configuracoes de correcao de erros sao rotuladas como Low, Medium, High e Highest (correspondendo a L, M, Q e H). O padrao e Medium. Adicione um logo e o indicador de leitura informa se o logo cobre modulos demais para o nivel selecionado. QR codes dinamicos tambem permitem atualizar o destino sem reimprimir.
Um detalhe importante: a correcao de erros e definida quando voce gera o codigo. Nao e possivel altera-la apos a impressao. Se voce escolher o Nivel L e depois mover o codigo para um ambiente externo, a unica solucao e um novo codigo em um nivel mais alto. Na duvida, escolha o M.
Quer ver como isso funciona? Crie um QR code gratuito no FreeQR e escolha seu nivel de correcao de erros.
Perguntas Frequentes
O que e correcao de erros em QR code?
Sao dados extras embutidos no QR code que permitem aos leitores reconstruir modulos danificados ou ausentes. O mecanismo usa codigos Reed-Solomon, um algoritmo matematico originalmente desenvolvido para comunicacao via satelite e posteriormente adotado na especificacao do QR code (ISO/IEC 18004:2024).
Quanto de um QR code pode ser danificado e ainda funcionar?
Ate 30% no Nivel H, 25% no Q, 15% no M e 7% no L. Essas porcentagens se referem a proporcao de codewords recuperaveis, nao a area fisica do codigo. A capacidade real de sobrevivencia depende de onde o dano ocorre e como ele interage com o interleaving de codewords.
Quais sao os quatro niveis de correcao de erros?
L (Low, 7%), M (Medium, 15%), Q (Quartile, 25%) e H (High, 30%). A maioria dos geradores usa o M como padrao.
Qual nivel de correcao de erros devo usar para um logo?
Nivel H (30%). Um logo centralizado geralmente cobre 20-30% dos modulos do codigo. O Nivel H fornece ao leitor dados redundantes suficientes para reconstruir o que o logo oculta. Usar um nivel mais baixo com logo pode tornar o codigo ilegivel.
Um QR code danificado pode fornecer informacoes erradas?
Nao. Quando o dano excede o que o algoritmo consegue corrigir, o leitor nao retorna nada. Voce recebe um resultado em branco, nunca uma URL errada ou um endereco de pagamento incorreto. Reed-Solomon consegue detectar o dobro de erros que consegue corrigir, entao o codigo sabe quando esta danificado demais para ser confiavel.
Escrito por Andy Lee, Especialista em Tecnologia QR no FreeQR.