ToolActToolAct

Decodificador de Código de Barras

Decodifique códigos de barras de imagens online. Carregue, arraste e solte ou cole imagens. Tudo no navegador.

Carregar Imagem de Código de Barras

Arraste e solte uma imagem de código de barras aqui

Suporta PNG, JPG, GIF, BMP, WebP e outros formatos de imagem comuns

Você também pode usar Ctrl+V para colar uma imagem da área de transferência

O que é um Decodificador de Código de Barras?

Um decodificador de código de barras é uma ferramenta que lê e decodifica imagens de códigos de barras para recuperar seu conteúdo original. Ao carregar uma imagem contendo um código de barras, a ferramenta reconhece automaticamente e decodifica as informações numéricas ou de texto armazenadas. Suporta formatos comuns de códigos de barras 1D, incluindo CODE128, EAN-13, EAN-8, CODE39, UPC e mais. Esta ferramenta é executada inteiramente no navegador — suas imagens nunca saem do seu dispositivo. Ao decodificar códigos de barras, nitidez, contraste, rotação, recorte e tipo de código influenciam muito o resultado. Um valor reconhecido deve ser comparado com tamanho esperado e dígito verificador em inventário, tickets, frete ou dados de produto. A ferramenta ajuda a ler rapidamente fotos ou capturas, mas não substitui scanners profissionais em processos de alto volume.

Como Usar

Como usar

  1. Clique na área de upload para selecionar uma imagem de código de barras ou arraste e solte uma imagem.
  2. Você também pode usar Ctrl+V (Cmd+V no Mac) para colar uma imagem da área de transferência.
  3. A ferramenta detecta e decodifica automaticamente o conteúdo do código de barras.
  4. O resultado decodificado aparece abaixo, mostrando o formato do código de barras e o tipo de conteúdo.
  5. Clique em 'Copiar Resultado' para copiar o conteúdo decodificado ou abra a URL diretamente, se for um link.

Dicas de Decodificação

  • Use uma imagem nítida e de alto contraste com o código de barras totalmente visível; desfoque, reflexos, cortes e forte distorção de perspectiva reduzem a precisão do reconhecimento.
  • Se uma URL ou código de produto for decodificado, verifique o destino ou identificador antes de usá-lo em registros de produção.

Casos de uso

Ler o valor de uma imagem de código de barras sem scannerCarregue, arraste ou cole uma imagem da área de transferência e a página usa ZXing no navegador para decodificar formatos comuns de varejo, logística e 2D, incluindo EAN, UPC, Code 128, Code 39, ITF, Data Matrix, PDF417, Aztec e QR Code. O ZXing roda em uma thread separada para que a UI continue responsiva em imagens maiores, e a biblioteca aplica correção de erros Reed-Solomon internamente, razão pela qual um código levemente borrado ou parcialmente coberto ainda pode ser decodificado quando a redundância do símbolo não se esgotou.
Capturar o texto decodificado e a simbologia detectadaUse o painel de resultados quando trabalho de inventário, embalagem ou suporte precisa de mais do que apenas o número. A página mostra o conteúdo decodificado, contagem de caracteres e formato do código de barras para que o valor possa ser copiado para outro sistema com seu tipo de origem preservado.
Verificar códigos impressos suspeitos antes de abri-losSe o conteúdo decodificado for uma URL, a página a marca como tal e oferece uma ação explícita de abertura. Isso dá a chance de ler o destino primeiro em vez de escanear uma etiqueta desconhecida diretamente pela câmera do celular.
Recuperar uma etiqueta quando a fonte original não existe maisDecodifique uma foto salva de etiqueta de embalagem, marca de envio ou adesivo de inventário depois que o sistema do fornecedor não reconhece mais o SKU. A página retorna o valor bruto e a simbologia detectada para que possa ser colado em um CSV, entrada de ERP ou log de auditoria com o formato preservado. Saber a simbologia importa aqui: um EAN-13 de 13 dígitos difere de um UPC-A de 12 dígitos apenas por um zero à esquerda no prefixo GS1, então um EAN-13 0123456789052 é o mesmo produto físico que UPC-A 123456789052, e essa distinção deve ser preservada no registro recuperado.
Validar embalagens ou remessas com múltiplos códigosQuando uma única imagem contém mais de um código (caixa + item, GS1 + rastreamento), verifique se o decodificador captura o mais proeminente e recorte ou recarregue para revelar os outros. Recortar um código por vez é a maneira mais confiável de confirmar uma superfície com múltiplas etiquetas.

Princípio técnico

Um código de barras 1D (UPC, EAN, Code 39, Code 128, ITF, Codabar) é uma sequência de barras paralelas e espaços cujas larguras codificam dígitos, letras ou todo o intervalo ASCII. Um código de barras 2D (QR Code, Data Matrix, PDF417, Aztec) é um padrão bidimensional de módulos (células) dispostos em uma zona de silêncio, geralmente com três padrões de detecção de posição nos cantos para orientação. A decodificação de um código de barras é o processo inverso: imagem → pré-processamento → localizar o símbolo → medir larguras de barras/espacos (ou amostrar a grade 2D) → consultar a tabela de codificação → aplicar um checksum para validar o resultado. O pipeline de imagem é importante. A imagem de origem passa por conversão para tons de cinza (luma = 0,299 R + 0,587 G + 0,114 B, os pesos Rec. 601), depois um limiar global ou adaptativo (o método Otsu escolhe um limiar que maximiza a variância inter-classes, que funciona para a maioria das digitalizações bem iluminadas; o limiar adaptativo de Sauvola lida melhor com iluminação irregular). Detecção de bordas (kernel Sobel: 3x3 Gx e Gy) encontra transições verticais de barras; uma transformada de Hough nessas linhas fornece a orientação; a análise de componentes conectados então encontra o retângulo delimitador do símbolo. A zona de silêncio (a margem em branco obrigatória ao redor do símbolo, 10x a dimensão X para QR Code, 9x a largura da barra para Code 128) é verificada antes que o símbolo seja aceito como um candidato válido. Para códigos 1D, o decodificador mede a dimensão X (a largura da barra mais estreita, a unidade de comprimento) e lê as larguras barra-espaço como múltiplos de X. Um caractere Code 39 é composto por 9 barras + 9 espaços (um dos quais é um intervalo inter-caractere); 3 dos 9 elementos são largos (representando 1) e 6 são estreitos (representando 0). Um caractere Code 128 é composto por 11 módulos: um padrão de início, 6 barras/espacos codificados e um padrão de parada. Cada caractere é portanto 11 módulos; 11 x contagem_de_caracteres + 13 (para início + parada + verificação + silêncio) fornece a largura do símbolo. Code 128 tem três conjuntos de codificação: A (maiúsculas + controle), B (maiúsculas + minúsculas), C (dígitos em pares 00-99) — códigos de troca de conjunto permitem que o codificador escolha o conjunto mais eficiente por substring. Para códigos 2D, o algoritmo é diferente. QR Code usa correção de erros Reed-Solomon (níveis EC L/M/Q/H adicionam 7%, 15%, 25%, 30% de redundância) e um padrão de máscara configurável (um dos 8; o codificador escolhe aquele que minimiza a pontuação de penalidade). Após a aplicação da máscara, o fluxo de bits é colocado em uma grade quadrada de 21x21 (Versão 1) até 177x177 (Versão 40) módulos; os três padrões de busca 7x7 nos cantos e os padrões de alinhamento 5x5 nos cantos internos fornecem orientação e escala. Data Matrix usa um layout semelhante com uma borda sólida em forma de L em dois lados e alternância claro/escuro nos outros dois. PDF417 é um código linear empilhado (17 módulos de largura, até 90 linhas) usado em carteiras de motorista dos EUA e cartões de embarque de companhias aéreas. Esta página usa a biblioteca ZXing ('Zebra Crossing'), um decodificador multi-formato de código aberto Apache-2.0 originado do projeto Google ZXing. O ZXing executa o pipeline completo (localizar → pré-processamento → decodificar) e tenta cada simbologia conhecida em sequência. Suporta UPC-A, UPC-E, EAN-8, EAN-13, Code 39, Code 93, Code 128, ITF, Codabar, QR Code, Data Matrix, PDF417 e Aztec. Para códigos 2D, a taxa de sucesso em boa iluminação é de ~99% em uma foto 1080p; para códigos 1D é menor (~85-95%) porque perspectiva, desfoque e reflexo distorcem as larguras das barras. Esta ferramenta aceita apenas entrada por imagem (upload de arquivo, arrastar e soltar ou colar da área de transferência); não oferece leitura ao vivo por câmera. Os checksums são importantes. UPC/EAN usam um único dígito verificador módulo 10 (soma dos dígitos em posições ímpares x 3 + soma dos dígitos em posições pares, módulo 10, subtraído de 10). Code 128 usa um caractere verificador módulo 103. Code 39 não requer um dígito verificador, mas o verificador mod-43 é recomendado para logística. QR Code usa EC Reed-Solomon; se o decodificador EC encontrar mais erros do que o código pode corrigir, a decodificação falha. A página exibe as falhas de decodificação com o motivo (incompatibilidade de checksum, zona de silêncio muito pequena, conflito de máscara) quando a biblioteca o expõe.

  • Códigos de barras 1D (UPC, EAN, Code 39, Code 128, ITF) codificam dados em larguras de barra/espaço; códigos 2D (QR Code, Data Matrix, PDF417, Aztec) codificam em uma grade 2D de módulos. Ambos precisam de uma zona de silêncio de ~10x a largura da unidade para serem válidos.
  • Pipeline de imagem: tons de cinza Rec. 601 (0,299R + 0,587G + 0,114B) → limiar Otsu ou Sauvola → detecção de bordas Sobel → transformada de Hough para orientação → análise de componentes conectados para encontrar a caixa delimitadora do símbolo.
  • Code 128 tem 3 conjuntos de codificação: A (maiúsculas + controle), B (maiúsculas + minúsculas), C (dígitos em pares 00-99). Códigos de troca de conjunto permitem que o codificador escolha o conjunto mais compacto por substring, comprimindo UPC-A '123456789012' mais que o Code 39 faria.
  • Code 39: 9 barras + 9 espaços por caractere, 3 largos (1) e 6 estreitos (0); caractere de início/parada '*'. Dígito verificador mod-43 opcional. Amplamente usado em indústria automotiva, defesa e governo dos EUA (MIL-STD-1189).
  • Code 93 é o predecessor do Code 128, com 9 módulos por caractere (6 dados + início/parada) e 47 caracteres únicos; foi substituído pelo Code 128 na maioria das aplicações, mas ainda é encontrado em algumas farmácias canadenses e aplicações do USPS.
  • QR Code: EC Reed-Solomon nos níveis L/M/Q/H (7%/15%/25%/30% de redundância), 8 padrões de máscara, 21x21 a 177x177 módulos (Versão 1 a 40). Três padrões de busca 7x7 nos cantos fornecem orientação; padrões de alinhamento 5x5 em versões maiores corrigem distorção de perspectiva.
  • Data Matrix: borda sólida em forma de L em dois lados, alternância claro/escuro nos outros dois; usado para marcação de itens pequenos em eletrônica e farmacêutica (ISO/IEC 16022).
  • ZXing ('Zebra Crossing', Apache-2.0, Google): o decodificador multi-formato de código aberto usado aqui. Suporta UPC-A/E, EAN-8/13, Code 39/93/128, ITF, Codabar, QR Code, Data Matrix, PDF417 e Aztec. Esta ferramenta decodifica apenas a partir de arquivos de imagem (upload, arrastar e soltar ou colar da área de transferência); não oferece leitura ao vivo por câmera.
  • Checksums: UPC/EAN usam mod-10, Code 128 usa mod-103, Code 39 usa mod-43 opcional, QR Code usa EC Reed-Solomon. Uma incompatibilidade de checksum indica que a imagem está corrompida, não que os dados estão errados.

Exemplos

Reconhecimento de código de barras de produto

Envie a foto de um produto de supermercado, decodifique o código de barras EAN-13 para obter 6901234567890 e depois pesquise nome do produto, fabricante, preço etc.

Recuperação de número de rastreamento

Fotografe o código de barras da etiqueta de envio, decodifique para obter um número de rastreamento como SF1234567890 e digite no site da transportadora para verificar o status logístico

Decodificação de ISBN de livro

Escaneie o código de barras na contracapa do livro, decodifique o número ISBN como 9787111234567 e pesquise no banco de dados de livros para obter informações detalhadas

Perguntas frequentes

Quais formatos de código de barras são decodificados?

Códigos 1D comuns como CODE 128, EAN-13, EAN-8, UPC-A, UPC-E, CODE 39, CODE 93, ITF (Interleaved 2 of 5), Codabar, mais códigos 2D como QR Code, Data Matrix, Aztec e PDF417. A página usa a biblioteca ZXing no seu navegador para detectar e decodificar todos esses formatos a partir de uma única imagem enviada.

A imagem é enviada para decodificação?

Não. A decodificação acontece inteiramente no seu navegador via WebAssembly ou JavaScript puro. Solte a imagem e os bytes são lidos localmente; nada é enviado a um servidor. Você pode verificar pela aba Network do navegador.

Por que meu código de barras não é decodificado?

Causas comuns: a imagem está borrada, o código está rotacionado mais do que o decodificador permite, o contraste é muito baixo ou há reflexos. Tente cortar mais perto do código, aumentar o brilho/contraste e garantir que a imagem tenha pelo menos 200-300 pixels de largura para o código completo. Códigos impressos em papel brilhante e fotografados sob luz direta costumam falhar.

Quais formatos de imagem são aceitos?

PNG, JPEG, GIF, WebP e BMP são suportados. Envie um arquivo, arraste e solte ou cole da área de transferência. A imagem é lida em um canvas oculto para decodificação — nada é enviado a um servidor.

O que o resultado inclui?

O conteúdo de texto decodificado e o formato detectado do código. Se o texto decodificado for uma URL, aparece um botão para abri-la em uma nova aba. A contagem de caracteres e o nome do formato também são exibidos.

Os dígitos verificadores do EAN-13 são validados?

O ZXing só retorna um resultado quando o código de barras passa em suas verificações internas, incluindo o dígito verificador do formato. Se a decodificação falhar, a página mostra "No barcode detected", sem distinguir entre uma imagem ilegível e um erro de checksum.

Posso decodificar vários códigos de barras de uma só imagem?

A página detecta o código mais nítido da imagem. Para imagens com vários códigos, recorte cada um individualmente e envie-os separadamente para resultados mais confiáveis.