📱
← Voltar aos guias

Como Funcionam os QR Codes: Um Mergulho Técnico

· Tags: qr-codes, technology, encoding, data-storage, barcode

Como Funcionam os QR Codes: Um Mergulho Técnico

Os QR codes (códigos de Resposta Rápida) são códigos de barras bidimensionais em matriz inventados em 1994 pela Denso Wave, uma subsidiária da Toyota. Projetados para decodificação de alta velocidade, os QR codes armazenam dados em uma grade de quadrados pretos e brancos (módulos) usando quatro modos de codificação padronizados e a correção de erros Reed-Solomon. Diferentemente dos códigos de barras lineares que codificam dados em uma dimensão, os QR codes empacotam informações tanto horizontal quanto verticalmente, alcançando até 7.089 caracteres numéricos em um único símbolo.

A Anatomia de um QR Code

Todo QR code é composto por várias zonas funcionais. Entender esses componentes ajuda você a criar códigos que são lidos com confiabilidade e a maximizar a capacidade de dados.

Padrões de Localização

Três padrões quadrados idênticos localizados nos cantos superior esquerdo, superior direito e inferior esquerdo. Cada padrão de localização consiste em um quadrado preto de 7x7, um quadrado branco de 5x5 e um quadrado preto de 3x3 em seu centro. Esses padrões permitem que o software de leitura detecte rapidamente a posição, a orientação e o ângulo do QR code, independentemente da rotação.

Padrões de Alinhamento

Marcas de registro menores (normalmente módulos de 5x5) incorporadas em todo o código. Os padrões de alinhamento ajudam os leitores a corrigir a distorção quando o código é impresso em superfícies curvas, como embalagens de produtos ou latas de bebidas. Os códigos da Versão 2 em diante têm pelo menos um padrão de alinhamento; o número aumenta com o tamanho do código.

Padrões de Temporização

Linhas alternadas de preto e branco que correm entre os padrões de localização, tanto horizontal quanto verticalmente. Esses módulos definem as posições das linhas e colunas da grade de dados, ajudando o leitor a determinar o tamanho de cada módulo.

Informações de Formato

Uma região dedicada perto dos padrões de localização que codifica o nível de correção de erros e o padrão de máscara. O leitor lê isso primeiro para saber como decodificar o restante dos dados corretamente.

Regiões de Dados e de Correção de Erros

Os módulos restantes formam duas regiões intercaladas: palavras de código de dados (o payload codificado) e palavras de código de correção de erros (dados redundantes para recuperação de danos). Elas são dispostas em um padrão de bits específico que varia conforme a versão do QR code.

Zona de Silêncio

Uma borda clara obrigatória de pelo menos quatro módulos de largura ao redor de todo o QR code. Sem essa zona de silêncio, os leitores não conseguem distinguir com confiabilidade o código de seu entorno. Esta é uma das causas mais comuns de falha de leitura em designs personalizados.

Métodos de Codificação de Dados

Os QR codes suportam quatro modos de codificação distintos, cada um otimizado para um tipo diferente de dado. O codificador seleciona automaticamente o modo mais eficiente com base na sua entrada.

Modo Numérico

Otimizado exclusivamente para os dígitos de 0 a 9. Este é o modo mais eficiente em espaço, empacotando três dígitos em 10 bits (em comparação com 8 bits por byte no binário padrão). Capacidade máxima na Versão 40-L: 7.089 caracteres. Ideal para números de telefone, IDs de produtos e códigos numéricos.

Modo Alfanumérico

Codifica dígitos (0-9), letras maiúsculas (A-Z) e nove caracteres especiais: espaço, $, %, *, +, -, ., / e :. Cada par de caracteres é comprimido em 11 bits. Capacidade máxima: 4.296 caracteres. Melhor para URLs que evitam letras minúsculas e códigos de texto curtos.

Modo Byte

Codifica qualquer caractere de 8 bits usando a codificação ISO-8859-1 (Latin-1). Quando o conteúdo contém letras minúsculas, maiúsculas e minúsculas mistas ou caracteres UTF-8, o codificador recorre ao Modo Byte. Capacidade máxima: 2.953 caracteres. Este é o modo mais flexível e cobre a maioria dos casos de uso comuns, como URLs completas e texto misto.

Modo Kanji

Um modo especializado para caracteres japoneses de dois bytes (codificação Shift JIS). Cada caractere Kanji é comprimido em 13 bits em vez de 16 bits. Capacidade máxima: 1.817 caracteres. Menos usado fora do Japão, mas demonstra a herança do formato.

Processo de Codificação Passo a Passo

  1. Análise de dados — O codificador analisa o conteúdo de entrada e seleciona o modo mais eficiente
  2. Indicador de modo — Um código de 4 bits sinaliza qual modo de codificação foi escolhido
  3. Contagem de caracteres — Uma sequência de bits registra o comprimento dos dados
  4. Codificação de dados — O conteúdo é convertido em um fluxo de bits usando o modo selecionado
  5. Terminador — Uma sequência curta de preenchimento marca o fim dos dados
  6. Preenchimento de bits — A capacidade restante é preenchida com bits alternados de 0 e 1 para atingir um limite de palavra de código completo
  7. Geração da correção de erros — As palavras de código Reed-Solomon são calculadas e anexadas

Versões e Tamanhos do QR Code

Os QR codes são definidos em 40 versões, variando da Versão 1 (21x21 módulos) à Versão 40 (177x177 módulos). Cada versão sucessiva adiciona 4 módulos por lado.

| Versão | Dimensões | Capacidade Numérica (L) | Uso Típico | |---------|-----------|---------------------|-------------| | 1 | 21x21 | 41 | URLs simples | | 2 | 25x25 | 77 | Links curtos | | 4 | 33x33 | 187 | vCards, URLs | | 6 | 41x33 | 322 | Configurações WiFi | | 10 | 57x57 | 652 | Texto médio | | 20 | 97x97 | 1.746 | Documentos | | 40 | 177x177 | 7.089 | Dados máximos |

A maioria dos QR codes voltados ao consumidor usa as Versões 2 a 10. Versões mais altas contêm módulos menores, que exigem impressão de resolução mais alta e leitura mais precisa.

Correção de Erros Reed-Solomon

Os QR codes empregam a correção de erros Reed-Solomon, dividindo os dados em blocos e gerando palavras de código redundantes para cada bloco. Há quatro níveis:

  • Nível L — Recupera 7% dos dados danificados. Capacidade máxima de dados, proteção mínima.
  • Nível M — Recupera 15%. Escolha padrão para uso geral. A maioria dos geradores de QR usa este nível por padrão.
  • Nível Q — Recupera 25%. Proteção forte para códigos em mercadorias embaladas ou itens manuseados com frequência.
  • Nível H — Recupera 30%. Proteção máxima para ambientes externos ou industriais.

O sistema de correção de erros também permite a prática popular de incorporar logotipos e artes nos QR codes. Os módulos bloqueados são reconstruídos a partir dos dados redundantes, desde que a obstrução não exceda a capacidade de correção de erros.

Como Funciona a Leitura

A leitura moderna de QR codes envolve um pipeline sofisticado executado em milissegundos:

  1. Detecção — A câmera captura uma imagem e o software localiza os padrões de localização para determinar os limites do código
  2. Correção de perspectiva — O leitor aplica transformações geométricas para corrigir a visualização angular e as superfícies curvas
  3. Binarização — A imagem é convertida em preto e branco puro usando limiarização adaptativa para lidar com iluminação variada
  4. Amostragem de módulos — O leitor lê a cor de cada módulo nos pontos de interseção da grade
  5. Decodificação de formato — O nível de correção de erros e o padrão de máscara são extraídos das regiões de formato
  6. Extração de dados — A mascaramento é revertido e o fluxo de bits de dados é lido na ordem especificada
  7. Verificação de erros — O cálculo de síndrome Reed-Solomon detecta e corrige erros
  8. Decodificação — O fluxo de bits limpo é convertido de volta ao conteúdo original usando o modo de codificação declarado

Padrões de Mascaramento

Os QR codes aplicam um de oito padrões de mascaramento (numerados de 0 a 7) à região de dados antes da renderização final. O mascaramento garante uma distribuição equilibrada de módulos pretos e brancos, evitando grandes áreas vazias que confundiriam os leitores. O leitor lê a referência de máscara das informações de formato e reverte o mascaramento durante a decodificação.

Micro QR Codes

Uma variante chamada Micro QR Code usa um único padrão de localização (em vez de três) e existe em quatro versões menores. Os Micro QR codes são úteis para espaços muito pequenos, como componentes eletrônicos e dispositivos médicos, com uma capacidade máxima de 355 caracteres numéricos.

Gere QR Codes com Confiança

Entender a tecnologia subjacente ajuda você a criar QR codes que são lidos com confiabilidade em qualquer ambiente. Nosso gerador de QR code online gratuito automatiza todas as decisões técnicas — seleção de versão, otimização de modo, correção de erros e mascaramento — para que você obtenha um código pronto para produção em segundos. Escolha entre URL, texto, vCard, WiFi e mais formatos, com opções completas de personalização.