Ferramentas
Guias

Decodificador de código QR

QR

Ler um código QR de uma imagem enviada e copiar o texto decodificado.

100% no cliente Sem backend
Clique ou solte uma imagem aqui Envie uma imagem contendo um código QR.
Texto decodificado
Nesta página

O que é um decodificador de código QR?#

Um decodificador de código QR faz o inverso de um gerador: dá-lhe uma imagem que contém um código QR e ele devolve o texto codificado lá dentro. Aponte-o a uma captura de tela de um QR de pagamento, a uma foto do autocolante de menu de um restaurante, ou a uma imagem guardada de um bilhete de evento, e ele lê o URL, a string WiFi, o cartão de contacto ou o texto simples que foi cozido na matriz quando o código foi criado.

Por baixo do capô, o decodificador precisa de pixéis, não de um arquivo-imagem. A página desenha a imagem enviada numa tela no navegador, lê o buffer RGBA em bruto e entrega esses pixéis à biblioteca de decodificação, que percorre a matriz — encontrar os três padrões de localização nos cantos, alinhar a grelha e ler os módulos — para reconstruir o fluxo de bytes original. Como esse fluxo de bytes é UTF-8, o texto decodificado volta exatamente como entrou, incluindo escritas não-latinas e emojis.

Tudo acontece no seu navegador. A imagem é processada numa tela local; nunca é enviada para um servidor, pelo que um QR contendo uma senha de WiFi, um URL privado ou dados de contacto pessoais se mantém privado.

Como usar#

  1. Arraste uma imagem para a zona de largada tracejada à esquerda, ou clique em Enviar para escolher um arquivo. PNG, JPEG e outros formatos de imagem suportados pelo navegador funcionam todos.
  2. Aparece uma miniatura da imagem por baixo da zona de largada para que se confirme que carregou a certa.
  3. O texto decodificado aparece imediatamente no painel de saída à direita.
  4. Clique em Copiar para copiar o texto decodificado, ou em Limpar para remover a imagem e recomeçar.
  5. A linha de estado reporta o resultado: uma decodificação bem-sucedida, um aviso de que nenhum QR foi encontrado, ou um erro se o arquivo não era uma imagem utilizável.

Se o decodificador não conseguir encontrar um código QR, isso é reportado honestamente como not-found — ver a FAQ para as razões comuns.

Principais recursos#

  • Imagem-entra, texto-sai. Sem câmara, sem apontar e esperar — carregue qualquer imagem guardada e o texto é lido numa passagem.
  • Qualquer formato de imagem que o navegador leia. PNG, JPEG, GIF, WebP, BMP — se o navegador consegue decodificar o arquivo, a ferramenta consegue desenhá-lo na tela e ler o QR.
  • Fiel a UTF-8. O texto decodificado preserva escritas não-latinas e símbolos exatamente como codificados, pelo que chinês, árabe, emojis e payloads de escritas mistas voltam intactos.
  • Viagem de ida e volta com o gerador. Um QR produzido pela ferramenta /en/qr/generate/ decodifica de volta para o texto original exato — útil para verificar se um código que criou transporta realmente o payload que se pretendia.
  • Mantém-se privado. A imagem é desenhada numa tela local e os pixéis são decodificados na página; nada é enviado, pelo que códigos QR sensíveis (WiFi privado, contactos pessoais) nunca saem do seu dispositivo.
  • Mensagens de falha honestas. Um arquivo que não é imagem ou um buffer truncado é reportado claramente, e “nenhum QR encontrado” distingue-se de “a imagem não pôde ser lida”, para que se saiba o que corrigir.

Exemplo detalhado#

O teste mais fiável é uma viagem de ida e volta. Gere um QR com a ferramenta geradora companheira — por exemplo, codificando o URL https://example.com — e descarregue o PNG. Depois volte a esta página, largue esse PNG na zona de largada, e o painel de saída lê:

https://example.com

O texto decodificado é byte-a-byte idêntico ao que foi codificado. A mesma viagem de ida e volta funciona para uma string WiFi:

WIFI:T:WPA;S:HomeNetwork;P:supersecret;;

Também funciona numa fotografia de um código QR, não apenas numa renderização limpa: tire uma fotografia a um autocolante de menu impresso com um telefone, transfira o JPEG para aqui, e o decodificador lê o mesmo URL que leria se filmasse o autocolante diretamente. Os padrões de localização nos três cantos são o que deixa a biblioteca localizar e alinhar a matriz dentro de uma fotografia arbitrária.

Perguntas frequentes#

Diz “nenhum QR encontrado” — o que correu mal?#

Normalmente uma de quatro coisas: a imagem é demasiado borrada ou de baixa resolução para os módulos se distinguirem; o QR está parcialmente cortado ou rodado pelo que os três padrões de localização dos cantos não conseguem ser todos encontrados; o código não tem zona silenciosa (a margem branca ao redor) pelo que as margens bleed para o fundo; ou o que enviou não é um código QR de todo — por exemplo, um código de barras 1D, que precisa da ferramenta /en/qr/barcode/. Tente uma imagem mais nítida, melhor recortada, com uma margem branca clara.

Funciona numa fotografia tirada com o meu telefone, ou só em capturas de tela limpas?#

Ambas. O decodificador localiza o QR pelos seus três padrões de localização nos cantos e alinha a grelha em conformidade, pelo que tolera rotação, perspetiva e desfocagem moderada. Uma captura de tela limpa é o caso mais fácil; uma fotografia de telefone razoavelmente nítida de um código impresso também funciona. Luz muito fraca, reflexos fortes ou um código mais pequeno do que algumas dezenas de pixéis de lado é onde começa a falhar.

Que formatos de imagem posso enviar?#

Qualquer um que o navegador consiga decodificar: PNG, JPEG, GIF, WebP, BMP e semelhantes. GIFs animados são lidos a partir da sua primeira frame. Se o arquivo não é uma imagem de todo, ou está corrompido, a ferramenta reporta que não pôde ser lido em vez de fingir decodificar nada.

A imagem ou o texto decodificado são enviados para algum lado?#

Não. A imagem é desenhada numa tela no navegador e o buffer de pixéis é decodificado localmente por uma biblioteca no bundle da página. Nem a imagem nem o texto que contém são enviados — não há backend. Isto torna a ferramenta segura para usar em códigos QR que transportam senhas de WiFi, detalhes de pagamento ou informações de contacto pessoais.

Consegue decodificar outros códigos 2D como Data Matrix?#

Não com esta ferramenta — decodifica especificamente códigos QR padrão. Um código Data Matrix (comum em logística e eletrônica) precisa do caminho /en/qr/data-matrix/, e um código de barras de retalho 1D (EAN, UPC, Code128) precisa da ferramenta /en/qr/barcode/. Parecem superficialmente semelhantes mas usam formas de matriz e algoritmos de decodificação diferentes.