Tutorial · qrCodeReader
Como funciona um leitor de QR Code
Você usa QR Code todo dia: cardápio de restaurante, pagamento, entrar em rede WiFi, recibo de loja. Mas como aquele quadradinho preto e branco vira informação útil? E mais: o que CABE dentro de um QR?
O QR Code (Quick Response Code) foi inventado em 1994 pela Denso Wave, divisão da Toyota, pra rastrear peças automotivas no chão de fábrica. O código de barras tradicional armazenava ~20 caracteres e precisava ser lido em ângulo certo. O QR resolveu os dois problemas: armazena até 4.296 caracteres alfanuméricos e é lido de qualquer ângulo (até 360°).
Em 2002 a Denso Wave abriu mão de royalties (a patente é deles, mas decidiram não cobrar). Isso explica por que QR virou padrão de fato globalmente — qualquer um pode gerar e ler sem pagar nada. Resultado: hoje há ~10 bilhões de QRs digitalizados por dia no mundo.
A anatomia de um QR Code
Olha pra qualquer QR. Você vai ver 3 quadrados grandes nos cantos (esquerdo-superior, direito-superior, esquerdo-inferior). São os finder patterns — servem pra o leitor encontrar e orientar o QR mesmo se você fotografou inclinado.
Próximo do canto inferior direito tem um quadrado menor: o alignment pattern. Ajuda em QRs grandes (versão 2+) a corrigir distorção de perspectiva.
Entre os finders existem linhas pretas e brancas alternadas — os timing patterns. Definem a "grade" do QR (quantas linhas e colunas têm). E os módulos individuais (cada quadradinho preto ou branco) carregam os dados em si.
O que cabe dentro de um QR
- Numérico apenas (0-9): até 7.089 dígitos
- Alfanumérico (A-Z, 0-9, símbolos básicos): até 4.296 caracteres
- Bytes (qualquer caractere ASCII estendido): até 2.953 bytes
- Kanji (caracteres japoneses): até 1.817 caracteres
Pra contexto: 4.000 caracteres é o tamanho de um capítulo curto de livro. Cabe MUITA coisa num QR. Mas na prática, QRs maiores ficam densos e mais difíceis de ler em condições ruins (luz baixa, dobrado). Por isso a maioria dos QRs reais carrega 50-200 caracteres — o suficiente pra uma URL ou um pacote PIX/EMV.
Como o leitor decodifica
O processo de leitura tem 5 passos rapidíssimos (acontece em < 100ms num celular):
- 1. Localizar os finder patterns — o algoritmo procura padrões 1:1:3:1:1 (preto-branco-preto-branco-preto) em qualquer direção da imagem.
- 2. Calcular a perspectiva — usando os 3 finders, faz transformação geométrica pra "esticar" o QR num quadrado perfeito mesmo se você fotografou torto.
- 3. Ler os timing patterns — descobre o tamanho do QR (versão 1 a 40).
- 4. Extrair os módulos — varre cada quadradinho, decide se é 0 (claro) ou 1 (escuro), forma uma sequência de bits.
- 5. Decodificar — aplica o algoritmo Reed-Solomon (correção de erros) pra recuperar dados mesmo se até 30% dos módulos estiverem danificados.
Os tipos mais comuns de payload
URL
O mais simples e mais comum. O QR contém apenas a string da URL (https://...). Quando o leitor decodifica, o sistema operacional ou o app pergunta "abrir esta URL?" e o usuário decide.
WiFi
Formato padrão Google: WIFI:T:WPA;S:MeuWifi;P:senha123;;. O leitor reconhece o prefixo WIFI: e oferece "conectar a essa rede". Útil em hotéis, cafés, casa de amigos — sem precisar digitar senhas longas.
vCard (contato)
Formato BEGIN:VCARD ... END:VCARD com campos FN (nome), TEL, EMAIL, ORG, etc. O leitor oferece "salvar este contato". Cartões de visita modernos usam isso.
Pagamento (PIX, UPI, EMV)
Cada país/região tem seu padrão. PIX no Brasil, UPI na Índia, EMV-MPM globalmente. Todos seguem o mesmo formato TLV (Tag-Length-Value) com campos pra chave do recebedor, valor, descrição. O app do banco reconhece e abre o fluxo de pagamento.
Texto puro
Quando o conteúdo não tem prefixo conhecido, é exibido como texto. Útil pra mensagens curtas, instruções, códigos de cupom, ou IDs internos de sistemas.
Privacidade: o QR pode rastrear você?
Sozinho, NÃO. Um QR é só uma string. Não envia ping, não tem JavaScript, não armazena cookies. Quando você lê um QR, NADA é enviado a lugar nenhum até você clicar/agir.
O risco de privacidade vem do CONTEÚDO do QR. Se o QR aponta pra uma URL com parâmetros de tracking (UTM, ID único), o servidor sabe que você abriu. Mas isso é tracking de URL normal — não é o QR fazendo nada especial.
Perguntas frequentes
Outros guias
Mais tutoriais que talvez ajudem
Como gerar QR Code PIX grátis (passo a passo)
Sem precisar abrir o app do banco, sem cadastro, sem instalar nada. Você gera um QR Code PIX válido em qualquer banco e baixa em PNG ou SVG.
4 min de leituraComo comprimir PDF grátis sem marca d'água
Vários sites cortam o tamanho do PDF mas deixam um carimbo no documento. Aqui você comprime de verdade — qualidade boa, peso baixo, zero watermark.
4 min de leituraComo gerar link UTM para Google Ads
Sem UTM você não consegue rastrear de onde veio cada conversão. Aprende aqui a estrutura certa, com templates prontos e a ferramenta gratuita.
5 min de leitura