Decodificador de QR Code
Decodificador de QR grátis com analisador de conteúdo. Inspecione o link e o host de um QR antes de tocar para evitar quishing, e leia campos de Wi-Fi, vCard e OTP.
Sobre o Decodificador de QR Code
O Decodificador de QR Code lê os dados ocultos dentro de um QR (Quick Response), o padrão quadrado preto e branco que você vê em pôsteres, cartões de visita, cardápios, embalagens, telas de pagamento e ingressos de eventos. Você pode enviar uma foto que contenha um QR ou apontar a câmera do seu dispositivo, e a ferramenta extrai o conteúdo de texto, que normalmente é uma URL, mas também pode ser credenciais de Wi-Fi, um contato vCard, e-mail, SMS, evento de calendário, coordenadas de geolocalização ou texto livre. A decodificação acontece inteiramente no navegador através da biblioteca de código aberto jsQR, que implementa o padrão ISO/IEC 18004: localiza os três quadrados localizadores nos cantos, calcula a transformação de perspectiva, amostra os módulos de dados e roda correção de erros Reed-Solomon para recuperar os bytes originais mesmo que parte do código esteja suja ou parcialmente coberta. Nenhum dado de imagem é enviado a nenhum servidor, o que torna a ferramenta segura para QR que possam conter informações pessoais, como tokens de pagamento, senhas de Wi-Fi ou URLs privadas. Há suporte tanto para a Versão 1 (21 x 21) quanto para a maior Versão 40 (177 x 177), incluindo todos os quatro níveis de correção de erros L / M / Q / H.
O que este decodificador de QR faz?
Ele recebe uma imagem enviada por você ou um fluxo de câmera ao vivo, encontra qualquer QR presente no quadro e exibe o texto ou URL original que foi codificado. Internamente implementa a especificação ISO/IEC 18004: detecta os três padrões localizadores de canto, calcula uma deformação de perspectiva para uma grade perfeita, lê os módulos de dados, aplica a máscara de formato e executa correção Reed-Solomon (responsável por permitir que QR codes funcionem mesmo quando até cerca de 30% da superfície está danificada, dependendo do nível de correção escolhido na geração). O conteúdo decodificado costuma ser uma URL, mas também pode ser Wi-Fi, vCard, e-mail, SMS, geolocalização, eventos de calendário ou texto puro.
Quais tipos de arquivo e formatos de QR são suportados?
Qualquer formato de imagem raster que o navegador consiga decodificar: JPG, JPEG, PNG, GIF (primeiro quadro), BMP e WebP, além de HEIC no Safari. Não há limite rígido de tamanho já que nada é enviado, mas a ferramenta redimensiona imagens com mais de 1600 px no lado maior para acelerar a leitura. Suporta da Versão 1 (21 x 21 módulos) até a maior Versão 40 (177 x 177 módulos), os quatro níveis de correção de erros (L 7%, M 15%, Q 25%, H 30%), todos os padrões de máscara e tanto o modo padrão byte/UTF-8 quanto o modo Kanji. QR invertidos (branco sobre preto) também são detectados automaticamente em uma segunda passagem.
O decodificador envia minha imagem ou usa o vídeo da minha câmera?
Não. A imagem carregada é desenhada em um Canvas dentro da página e decodificada pela biblioteca jsQR rodando no motor JavaScript do navegador; a aba de câmera usa getUserMedia para acessar a transmissão localmente e nunca grava ou transmite os quadros. Você pode verificar isso na aba Rede do navegador: após o carregamento da página, o escaneamento não gera nenhuma requisição de saída com dados de imagem. Isso torna a ferramenta segura para QR codes com informações sensíveis, como senhas de Wi-Fi da sua casa, segredos de autenticação em duas etapas, URLs de pagamento ou cartões de embarque. A permissão de câmera é exigida pelo próprio navegador apenas para acessar o dispositivo; você pode revogá-la a qualquer momento nas configurações do site.
Por que a decodificação falhou ou retornou texto errado?
QR codes são tolerantes, mas não milagrosos. Causas comuns de falha: ângulo muito inclinado (mais de 45 graus em relação à perpendicular), desfoque por movimento, baixo contraste (papel desbotado, brilho na tela do celular), o código ocupar menos de cerca de 100 pixels por lado na foto, quadrados localizadores danificados ou ausentes, e reflexos cortando a grade de dados. Tente uma foto mais limpa, com o código centralizado, bem iluminado, em foco e ocupando ao menos um terço do quadro. Para QR muito pequenos dentro de fotos grandes, recorte antes. Câmeras funcionam melhor quando o QR preenche a maior parte do visor e você mantém o aparelho parado por um a dois segundos. Se o código devolver texto truncado, ele pode estar usando codificação não padrão, como Shift-JIS Kanji em pôsteres japoneses.

Quais navegadores e dispositivos são suportados?
O decodificador funciona em todos os navegadores modernos com HTML5 Canvas e JavaScript ES2017: Chrome, Edge, Firefox, Safari, Opera e Samsung Internet, em desktop e mobile. A aba de câmera requer a API getUserMedia e a página servida em HTTPS (o WuTools usa), o que todos os navegadores modernos suportam. No iOS a câmera funciona no Safari a partir da versão 11. A biblioteca jsQR tem apenas cerca de 50 KB comprimidos, então a ferramenta carrega quase instantaneamente, mesmo em conexões móveis lentas. Não há requisito mínimo de hardware além de RAM suficiente para uma imagem; um celular de cinco anos atrás executa sem problemas.
O decodificador lê vários QR codes em uma só imagem?
A implementação atual lê um QR por imagem: retorna o primeiro código válido encontrado após a busca pelos cantos. Se você tem uma folha com vários QR, recorte e escaneie um por vez, ou use o modo câmera apontando para cada um. Estamos considerando suporte a múltiplos códigos no futuro; o algoritmo jsQR pode rodar sobre regiões sobrepostas, mas isso aumenta complexidade e custo de execução. Outros códigos 2D como Data Matrix, Aztec, MaxiCode e PDF417 usam algoritmos diferentes e não são tratados por um decodificador exclusivo de QR; para esses seria necessária uma biblioteca mais genérica.
É seguro escanear um QR desconhecido e como verifico se a URL de um QR é phishing (quishing)?
Escanear aqui é seguro porque tudo acontece localmente e nada é enviado; o risco de um código não confiável está no que você faz DEPOIS de lê-lo. O phishing por QR, ou quishing, esconde um link malicioso dentro de um quadrado que você não consegue ler a olho nu, então o fluxo seguro é decodificar primeiro e inspecionar antes de tocar. Este decodificador nunca abre o link automaticamente: quando o conteúdo é uma URL, ele mostra o destino completo, o host exato e o protocolo, e executa uma verificação rápida que sinaliza truques comuns: um link sem HTTPS (sem criptografia), um endereço IP em vez de um domínio real, um domínio punycode 'xn--' que pode imitar de forma homógrafa uma marca confiável, e qualquer usuário ou senha embutidos na URL (o padrão usuário:senha@host que atacantes usam para disfarçar o host real). Leia o host com atenção, observe erros de digitação e subdomínios extras como paypal.com.secure-login.example, e use o botão explícito de abrir somente quando estiver satisfeito. Para equipes de TI, segurança e suporte, isso transforma um pôster, e-mail ou rótulo em algo que você pode avaliar antes de chegar a um navegador.
Ele decodifica Wi-Fi, vCard, otpauth e outros conteúdos QR estruturados em campos?
Sim. Após decodificar, a ferramenta classifica o conteúdo e o divide em campos legíveis em vez de um bloco bruto. Um código Wi-Fi (WIFI:T:WPA;S:MinhaRede;P:senha;H:false;) é analisado em nome da rede (SSID), tipo de segurança, senha e flag de rede oculta, tratando corretamente os caracteres com barra invertida de escape. Um código de contato (BEGIN:VCARD ou MECARD:) é separado em nome, telefone, e-mail, organização e URL. Um código de autenticação (otpauth://totp/Emissor:conta?secret=...) é dividido em emissor, conta, segredo e tipo, para você ler ou auditar uma semente 2FA. Também reconhece e-mail mailto: e MATMSG:, telefones tel:, mensagens smsto:/sms:, latitude e longitude geo:, e entradas de calendário BEGIN:VEVENT (resumo, início, fim, local). O que não corresponde a um esquema conhecido aparece como texto puro. A string decodificada original permanece sempre na caixa de texto para copiar na íntegra, enquanto a tabela estruturada facilita ler no local conteúdos como uma senha de Wi-Fi ou um segredo OTP.
