Correção de erros, zonas silenciosas, contraste e tamanho de impressão: as quatro coisas que decidem se um código QR funciona no papel ou falha silenciosamente.
Um scanner não “lê” um código QR da mesma forma que uma pessoa lê um texto. Ele transforma a imagem da câmera em pixels preto e branco, encontra os três grandes quadrados nos cantos, elabora a grade e depois lê cada célula. Tudo o que ajuda ou prejudica um código QR depende desse processo: os cantos devem ser localizáveis, a grade deve ser regular e cada célula deve ser inequivocamente clara ou escura.
É por isso que um código pode parecer perfeito em uma tela e falhar completamente depois de impresso em um menu, e por que "torná-lo menor para caber" é a maneira mais comum de quebrá-lo.
Os códigos QR carregam dados redundantes para que ainda sejam decodificados quando parte da imagem for danificada. Existem quatro níveis: L recupera cerca de 7% do símbolo, M cerca de 15%, Q cerca de 25% e H cerca de 30%.
A compensação é o tamanho. Maior redundância significa mais módulos para o mesmo conteúdo, e mais módulos significa que cada um é fisicamente menor em um determinado tamanho de impressão — o que pode dificultar a digitalização em vez de facilitar. Aumentar o nível não é automaticamente mais seguro.
A margem em branco ao redor de um código QR não é uma decoração. A especificação requer pelo menos quatro módulos de espaço livre em cada lado, e os scanners realmente confiam nisso para encontrar as bordas do símbolo.
Este é o requisito mais frequentemente ignorado no design de QR. Um código colocado contra uma borda, uma fotografia ou um bloco de texto perde sua zona de silêncio e pode parar de funcionar completamente – e a falha parece aleatória, porque depende do que a câmera capta.
Esta ferramenta tem como padrão quatro módulos e avisa se você reduzi-lo. Se um layout não tiver espaço para a margem, diminua o código em vez de cortar a margem.
Os scanners binarizam a imagem, então o que importa é a diferença de luminosidade entre o código e seu plano de fundo – e não se as cores parecem agradavelmente diferentes para você. Duas cores podem ser obviamente distintas à vista e quase idênticas quando convertidas para escala de cinza.
Preto sobre branco fornece uma taxa de contraste de 21:1. Procure pelo menos 7:1; abaixo sobre os códigos 4:1 começam a falhar no papel e com pouca luz, e esta ferramenta irá avisá-lo. A figura de contraste ao lado da visualização é atualizada conforme você altera as cores.
Mantenha o código mais escuro que o fundo. Muitos scanners procuram apenas escuro sobre claro, e um código invertido – módulos de luz em um campo escuro – é um cara ou coroa entre os dispositivos. Se precisar de um código com design escuro, coloque-o dentro de um painel claro.
Evite gradientes no código e tome cuidado com um fundo transparente: o que quer que fique atrás dele deve satisfazer o mesmo requisito de contraste.
Uma regra prática amplamente utilizada é que a largura do código deve ser aproximadamente um décimo da distância a partir da qual será digitalizado. Um código lido com o braço estendido - digamos 30 cm - deve ter cerca de 3 cm de diâmetro. Um pôster digitalizado a três metros precisa de cerca de 30 cm.
A outra metade do problema é o tamanho do módulo. Abaixo de aproximadamente 0.4 mm por módulo, as câmeras de telefone comuns começam a apresentar dificuldades e as impressoras térmicas baratas unem os módulos adjacentes. Conteúdo mais curto significa menos módulos, o que significa que cada módulo é maior com o mesmo tamanho geral – e é por isso que manter a carga útil curta ajuda mais do que qualquer outra alteração única.
Exporte SVG para qualquer coisa que será impressa. É vetorial, portanto pode ser dimensionado para qualquer tamanho com bordas perfeitamente nítidas e é o que um designer ou impressor deseja.
Exportar PNG para telas, documentos e qualquer lugar onde um bitmap seja mais fácil. Escolha um tamanho de pixel generoso: esta ferramenta arredonda o tamanho do módulo para um número inteiro de pixels para que cada módulo seja idêntico, o que evita os módulos desiguais que aparecem quando um código é dimensionado por frações.
Nunca aumente um código QR PNG após a exportação. Em vez disso, exporte-o para um tamanho maior - a interpolação desfoca as bordas do módulo, que é exatamente o que o scanner precisa para ficar nítido.
Imprima um em tamanho real, no material real, e digitalize-o com mais de um telefone – de preferência um Android antigo e também um iPhone recente, na luz em que o código realmente permanecerá. Um código que funciona em sua mesa sob uma lâmpada pode falhar em uma mesa perto de uma janela.
Se você estiver colocando um logotipo no centro, mantenha-o pequeno, afastado dos três quadrados dos cantos e teste o resultado em vez de presumir que a correção de erros o cobrirá.