Geradores

Como Criar um QR Code que Realmente Funciona ao Ser Escaneado

8 min de leitura

Um QR code falha na leitura por três motivos, quase sempre: dados demais espremidos no código, o que deixa o padrão denso e difícil de focar; baixo contraste ou falta de margem branca ao redor, o que confunde o leitor da câmera; e um nível de correção de erro escolhido sem pensar no uso real. Os três são evitáveis. Basta entender como o código guarda a informação e o que cada configuração realmente faz.

Como o QR code guarda dados (e por que uma entrada curta ajuda)

Um QR code não é uma imagem qualquer: é uma grade de módulos preto e branco onde cada posição carrega um bit de informação, junto com blocos fixos de localização, alinhamento e dados de correção de erro. Quanto mais caracteres você coloca na entrada, o URL, o texto, o vCard, mais módulos o código precisa para representar esses dados, e o gerador é forçado a usar uma versão maior da grade, com mais quadradinhos menores.

É aí que mora o primeiro problema prático. Uma câmera de celular, principalmente em condição de luz ruim ou a alguns metros de distância, tem dificuldade para resolver módulos muito pequenos. Um código com poucos dados pode ficar legível com uma versão pequena e módulos grandes; o mesmo código carregando uma URL longa de rastreamento, cheia de parâmetros UTM, IDs de sessão e tokens de campanha, precisa de uma versão maior só para caber a mesma mensagem, e cada módulo fica proporcionalmente menor na mesma área impressa.

A diferença prática é enorme. Compare:

  • https://minhaloja.com.br/promo?utm_source=instagram&utm_medium=social&utm_campaign=verao2026&utm_content=post-carrossel&ref=abc123xyz789
  • https://minhaloja.com.br/verao

O primeiro link tem mais de 120 caracteres. O segundo, menos de 30. Gerados no mesmo tamanho físico, o QR code do link curto usa uma grade menor, com módulos maiores e mais fáceis de escanear de longe, com câmera de baixa qualidade ou em movimento. O link longo de rastreamento faz o mesmo trabalho de redirecionamento, mas cobra o preço em legibilidade. Se você precisa rastrear a origem do clique, encurte primeiro: um link curto no seu próprio domínio, com o parâmetro de rastreamento resolvido no servidor, chega ao mesmo relatório sem inflar o código.

Correção de erro: o trade-off que ninguém explica

Todo QR code inclui dados redundantes, calculados pelo algoritmo de Reed-Solomon, que permitem reconstruir a mensagem mesmo que parte do código esteja suja, riscada, dobrada ou parcialmente coberta. Esse é o nível de correção de erro, e a especificação define quatro níveis padrão:

NívelTolerância a danoMelhor uso
L (Baixo)~7%Uso digital limpo: tela de celular, site, e-mail, onde não há risco de sujeira ou dano físico e cada caractere do link conta para um código menor
M (Médio)~15%Padrão geral, usado pela maioria dos geradores quando não há um requisito específico
Q (Quartil)~25%Impressos manuseados, expostos ao ar livre ou em lugares onde o código pode se sujar ou riscar (embalagens, etiquetas, placas externas)
H (Alto)~30%Obrigatório quando você vai colocar uma logo ou ícone no centro do código, já que a logo bloqueia parte dos dados e o código precisa tolerar essa perda

O ponto que a maioria dos geradores não explica é o trade-off: correção de erro mais alta significa mais dados redundantes embutidos no mesmo código, e mais dados redundantes significam uma grade maior, com módulos menores, para a mesma entrada. Correção de erro e tamanho da entrada competem pelo mesmo espaço.

Na prática, isso derruba um instinto comum. Quem coloca uma URL longa de rastreamento e depois escolhe o nível H “por segurança” acaba com o pior dos dois mundos: um código já denso pelo tamanho da entrada, inflado ainda mais pela correção de erro máxima, com módulos minúsculos e difíceis de focar. O resultado é um código mais bonito na teoria e mais difícil de escanear na prática. A escolha certa depende de onde o código vai viver: tela limpa, use L; impresso e manuseado, use Q; com logo no centro, use H; sem motivo específico, M resolve a maioria dos casos.

Crie seu próprio QR code

Gere um QR code a partir de qualquer URL, texto, telefone ou e-mail. O gerador abaixo cria o código na hora, direto no navegador:

Gerador de QR Code
Grátis, sem cadastro, funciona em qualquer dispositivo.
Abrir a ferramenta completa

Erros comuns que quebram a leitura

Colar uma URL longa de rastreamento em vez de um link curto. Todo parâmetro UTM, cada token de sessão, cada ID de campanha soma caracteres que engordam a grade. Resolva o rastreamento no seu próprio encurtador ou servidor e deixe a URL do QR code curta.

Baixo contraste ou falta de margem de silêncio. O leitor da câmera precisa de uma zona quieta, uma margem branca vazia, ao redor do código inteiro para conseguir localizar as bordas. Um QR code encostado direto em uma imagem, em um fundo colorido de baixo contraste, ou sem nenhuma borda branca ao redor falha na leitura mesmo com os dados corretos. A regra prática é uma margem de pelo menos quatro módulos de largura em todos os lados, e contraste forte entre o código e o fundo, preto sobre branco continua sendo o mais confiável.

Pular o teste real com celular antes de imprimir em massa. Um QR code que abre perfeitamente no preview do seu computador pode falhar impresso, em outro tamanho, outra distância, outra luz. Antes de mandar para a gráfica, escaneie o material físico, no tamanho final, com pelo menos dois aparelhos diferentes.

Usar um encurtador de terceiros que você não controla. Um encurtador de URL de um serviço externo pode expirar, ser vendido, ser reaproveitado por outra pessoa ou simplesmente sair do ar, quebrando todo QR code já impresso que aponta para ele. Um link curto no seu próprio domínio permanece sob seu controle e pode ser redirecionado para onde for preciso, sem imprimir nada de novo.

Assumir que todo aplicativo lê QR codes de WiFi e vCard como lê uma URL. A câmera nativa da maioria dos celulares recentes reconhece URLs sem falhar, mas o suporte a códigos de WiFi (que preenchem a rede automaticamente) e vCard (que salvam um contato) varia entre aparelhos e aplicativos leitores de terceiros. Se o público do código usa aparelhos variados, uma URL simples continua sendo o formato mais universal.

Perguntas frequentes

QR codes expiram? O código em si, o padrão de quadrados impresso ou exibido, nunca expira. O que pode expirar é o conteúdo por trás dele: se o QR code aponta para um link curto de um serviço de terceiros e esse serviço encerra a conta ou o link, o código para de funcionar mesmo com o desenho intacto. Um link no seu próprio domínio evita esse risco.

Qual o tamanho mínimo de impressão para leitura confiável? Como regra prática, o código impresso deve medir pelo menos 1/10 da distância de leitura esperada. Um código escaneado a 30 cm de distância (um cardápio de mesa, por exemplo) funciona bem a partir de 3 cm de lado. Um cartaz lido a 2 metros de distância precisa de pelo menos 20 cm de lado. Entradas mais curtas e correção de erro mais baixa reduzem o tamanho mínimo necessário para a mesma confiabilidade.

Dá para colocar uma logo no meio do QR code com segurança? Sim, desde que o código use o nível de correção de erro H (~30% de tolerância a dano) e a logo cubra uma fração pequena do centro, normalmente até cerca de 20 a 25% da área total. Acima disso, mesmo com H, o código perde dados demais para reconstruir a mensagem. Teste sempre a versão final com logo em vários aparelhos antes de imprimir em massa.

Qual a diferença entre um QR code estático e um dinâmico (rastreável)? Um QR code estático guarda o destino final diretamente nos dados, o link não muda depois de gerado, e não fornece métricas de quantos escaneamentos ocorreram. Um QR code dinâmico ou rastreável aponta para um link curto intermediário, que redireciona para o destino real e permite trocar o destino ou contar escaneamentos sem gerar um novo código. A vantagem de flexibilidade vem com uma dependência: o QR code só funciona enquanto o serviço por trás do link curto estiver no ar.

Por que meu QR code funciona no computador mas falha no celular de outra pessoa? Geralmente é uma combinação de distância, luz e tamanho de impressão diferentes do ambiente de teste original. O preview na tela costuma ter contraste perfeito e tamanho grande; um cartaz impresso pequeno, sob luz fraca, escaneado de longe, expõe as mesmas fragilidades de dados, contraste e margem discutidas acima. Sempre teste no formato e nas condições finais de uso, não só na tela.

Gerador de QR Code
Agora experimente você mesmo na ferramenta completa.
Experimentar agora