Leitor de Código QR
Decodifique um código QR a partir de uma imagem enviada ou da sua câmera, diretamente no navegador — sem instalação de aplicativo, nada é enviado a um servidor.
226 visualizações
Procurando código QR na câmera…
Nenhum código QR encontrado na imagem.
Como um Código QR É Realmente Decodificado
Um código QR (Quick Response) não é uma imagem de dados — é uma grade de módulos preto e branco que codifica bits diretamente, e lê-lo de volta é um problema de visão computacional de várias etapas, não uma simples consulta. O primeiro passo é localizar o código: todo código QR carrega três padrões localizadores distintivos (os anéis quadrados aninhados em três cantos), cada um com uma proporção de módulos claro-escuro muito específica de 1:1:3:1:1 ao longo de qualquer linha de varredura que passe pelo seu centro. Um decodificador varre a imagem linha por linha procurando essa proporção exata, porque é estatisticamente quase impossível que ocorra por acidente em conteúdo de imagem comum, e é precisamente por isso que foi escolhida como impressão digital. Encontrar os três padrões localizadores informa ao decodificador a rotação, escala e posição aproximada do código, mesmo que a foto tenha sido tirada em ângulo.
Depois de orientado, o decodificador amostra a grade no centro de cada módulo para lê-lo como 1 ou 0, usa a faixa de informações de formato ao lado dos padrões localizadores para saber o nível de correção de erro e o padrão de mascaramento aplicados, reverte a máscara XOR (os códigos QR embaralham deliberadamente seus próprios dados com um de oito padrões para evitar longas sequências de módulos idênticos, o que de outra forma confundiria a busca pelos padrões localizadores), e finalmente executa a correção de erro Reed-Solomon para reconstruir os bytes originais — a mesma técnica matemática usada em CDs e links de satélite, razão pela qual um código QR ainda pode ser lido mesmo quando até 30% dele está fisicamente danificado ou obscurecido, dependendo do nível de correção de erro escolhido quando foi gerado.
Esta ferramenta realiza toda essa decodificação localmente em JavaScript usando uma biblioteca de decodificação QR de código aberto, seja numa imagem estática que você envia ou em quadros de vídeo ao vivo capturados um a um da câmera do seu dispositivo e analisados da mesma forma. Nada é enviado a um servidor — decodificar um código QR que pode conter uma senha de Wi-Fi ou dados de contato pessoais inteiramente no navegador, em vez de enviar a imagem para algum lugar primeiro, representa uma diferença significativa de privacidade.
O Que o Texto Decodificado Realmente Significa
- Uma URL que começa com http:// ou https:// recebe um botão "Abrir Link"; qualquer outra coisa (texto simples, uma string de credenciais Wi-Fi, um vCard) é mostrada como texto decodificado bruto, já que agir automaticamente sobre conteúdo que não seja URL seria imprevisível.
- A varredura por câmera verifica cada quadro aproximadamente 60 vezes por segundo (alinhado à taxa de quadros de animação do navegador) até que um código válido seja encontrado, e então para automaticamente - nunca grava ou armazena vídeo.
- Um código QR com um nível de correção de erro mais alto (indicado por L/M/Q/H quando foi criado) tolera mais danos físicos, mas armazena menos dados reais por unidade de tamanho do código, já que mais da grade é destinada à redundância em vez de conteúdo.
- Se a decodificação falhar numa foto, as causas mais comuns são desfoque de movimento, ângulo de visão extremo, ou um código tão pequeno no quadro que os módulos individuais se misturam - não um código fundamentalmente ilegível.
Perguntas Frequentes
Como o leitor encontra o código QR numa foto?
Ele procura os três padrões localizadores distintivos - os anéis quadrados aninhados em três cantos - buscando sua proporção única de claro-escuro de 1:1:3:1:1 ao longo das linhas de varredura. Essa proporção tem uma probabilidade extremamente baixa de aparecer por acidente, o que explica exatamente por que funciona como uma impressão digital confiável mesmo em fotos com muitos elementos.
Por que um código QR danificado ou parcialmente coberto ainda pode ser lido?
Os códigos QR usam correção de erro Reed-Solomon, a mesma técnica matemática usada em CDs e transmissões por satélite, que armazena dados redundantes além do conteúdo real. Dependendo do nível de correção de erro escolhido na criação do código, até cerca de 30% dele pode estar ausente ou danificado e ainda assim ser decodificado corretamente.
Minha foto ou o feed da câmera são enviados para algum lugar?
Não. Tanto o caminho da imagem enviada quanto o da câmera ao vivo são decodificados inteiramente no seu navegador usando JavaScript - nenhuma imagem ou quadro de vídeo é enviado a um servidor.
Por que a ferramenta mostra um botão "Abrir Link" para alguns códigos, mas não para outros?
Ele só aparece quando o texto decodificado começa com http:// ou https://. Outros conteúdos QR - texto simples, credenciais Wi-Fi, cartões de contato - são exibidos como texto bruto, já que agir automaticamente sobre dados que não são URL não seria previsível nem seguro.
Por que a leitura falhou mesmo havendo claramente um código QR na foto?
As causas mais comuns são desfoque de movimento, um ângulo de visão acentuado que distorce a geometria da grade, ou o código ser pequeno demais no quadro para que os módulos individuais sejam distinguidos - tente uma foto mais nítida, mais frontal e mais próxima, em vez de supor que o código em si é ilegível.
Ferramentas Semelhantes
Reportar um Problema
Leitor de Código QR
Comentários
Ainda não há comentários — seja o primeiro a escrever um!