Leitor de QR code e código de barras

Selecione, arraste ou cole uma imagem, ou capture uma com a câmera. Os formatos disponíveis dependem do suporte do navegador a BarcodeDetector.

Funciona localmente no seu navegador
A análise é executada integralmente no seu navegador. Nenhum dado é enviado por upload ou para uma API.
Imagem ou câmera

Solte uma imagem aqui ou escolha um arquivo de imagem local

Valores decodificados
  • Escolha uma imagem, solte uma aqui ou inicie a câmera para decodificar localmente.
Escolher imagem

A decodificação usa BarcodeDetector do navegador. A imagem permanece neste dispositivo; a câmera só é solicitada quando você a inicia.

Leia QR codes e códigos de barras comuns sem enviar uma imagem

Chrome e Edge oferecem hoje o suporte BarcodeDetector mais amplo. Se o seu navegador não o expõe, use um navegador atual compatível e mantenha a imagem local.

Como decodificar um QR code ou código de barras a partir de uma imagem

Escolha uma imagem, solte-a na página, cole-a da área de transferência ou inicie a câmera e capture um quadro. A leitura usa a própria interface BarcodeDetector do navegador, então a imagem não é enviada: em uma sessão de decodificação medida a página não fez nenhuma requisição com ela e o único tráfego externo foi o de análise do próprio site.

Os formatos disponíveis são os que o seu navegador expõe. A página consulta primeiro BarcodeDetector.getSupportedFormats() e pede apenas a interseção com a lista que conhece; por isso a mesma imagem pode ser decodificada em um navegador e ficar muda em outro.

  1. Escolha uma imagem no seletor, solte-a na área de arrastar, cole-a no painel ou pressione Iniciar câmera e aponte para o código.
  2. Pressione Decodificar imagem para uma imagem escolhida, solta ou colada, ou Capturar e decodificar para um quadro da câmera. Arquivos que não são imagens e arquivos acima de 15 MB são recusados com uma mensagem em vez de tentar a leitura.
  3. Leia a lista de resultados: cada item traz o formato informado pelo navegador e o texto decodificado, e uma imagem com vários códigos gera vários itens.
  4. Pressione Copiar resultado para colocar todos os valores na área de transferência, uma linha formato: valor por código.
  5. Pressione Limpar para descartar a imagem e os valores antes da próxima.

Quais formatos são lidos e o que a página faz com a sua imagem

Quais códigos este navegador consegue ler

Medido no Chrome 153 no macOS, os formatos expostos eram QR code, Code 128, Code 39, Code 93, EAN-13, EAN-8, UPC-E, ITF, Data Matrix, Aztec e PDF417. Uma imagem QR de teste, um Code 128, um EAN-13 e um Code 39 foram decodificados com o conteúdo exato; uma imagem UPC-A voltou como EAN 13 porque essa compilação não expõe upc_a. O Micro QR também não está na lista: um símbolo Micro QR não foi detectado, enquanto um QR normal com o mesmo conteúdo foi.

Dois QR codes na mesma imagem foram devolvidos em uma única leitura, e os resultados mantêm a ordem informada pelo navegador. Como o decodificador é do navegador, um navegador sem BarcodeDetector avisa ao carregar e se recusa a ler em vez de adivinhar.

O que a página faz com a sua imagem

O arquivo é lido dentro da página com FileReader e entregue ao BarcodeDetector.detect() como imagem. Imagens arrastadas ou coladas seguem o mesmo caminho; uma captura da câmera é desenhada em um canvas e decodificada a partir dele. O arquivo precisa ser uma imagem e ficar abaixo de 15 MB: um PNG de 30 MB foi recusado com uma mensagem.

Nada é enviado: a imagem nunca faz parte de uma requisição. O tamanho em pixels limita menos do que parece —uma imagem de teste de 9000 x 9000 foi decodificada em cerca de um segundo— e um arquivo que o navegador não consegue ler como imagem agora é informado, em vez de não fazer nada.

Câmera e execuções repetidas

A câmera abre apenas quando você pressiona Iniciar câmera, e o navegador pede a permissão nesse momento. O quadro é decodificado ao pressionar Capturar e decodificar, e Parar câmera libera o fluxo e oculta a prévia; não há leitura contínua enquanto o vídeo está ativo.

Cada leitura começa do zero, então pressionar Decodificar imagem duas vezes na mesma imagem dá os mesmos valores, e uma leitura que não encontra nada avisa e deixa a lista vazia. O texto decodificado é exibido como texto: um QR code com marcação HTML é mostrado, não interpretado.

Ferramentas recentes: