Ferramentas
Guias

Gerador de código de barras

QR

Gerar códigos de barras 1D (CODE128, EAN, UPC, CODE39 e mais) em PNG ou SVG.

100% no cliente Sem backend
Pré-visualização
Nesta página

O que é um gerador de código de barras?#

Um código de barras 1D é a pilha de barras pretas verticais que ainda se vê em todas as embalagens de produto, etiquetas de envio e bilhetes de evento. Ao contrário de um código QR (que é 2D e transporta centenas de bytes), um código de barras 1D transporta um identificador curto — normalmente 4 a 14 carateres — que um leitor laser ou a câmara de um telefone lê numa única passagem horizontal. Esta página renderiza onze das simbologias mais comuns no seu navegador e exporta o resultado como PNG ou SVG.

A razão de haver tantos formatos é que cada um foi concebido para uma restrição diferente de indústria. EAN-13 e UPC são o padrão de retalho: comprimento fixo, só dígitos, com um dígito de controle matematicamente calculado para que o leitor possa rejeitar leituras erradas. CODE128 transporta qualquer texto ASCII e é o cavalo de batalha do envio (números de rastreio, por exemplo). CODE39 é o formato alfanumérico legado ainda encontrado em badges e etiquetas de ativos. ITF-14 codifica códigos de 14 dígitos para contentores de transporte. Pharmacode compacta um único número inteiro (3 a 131070) num pequeno símbolo para embalagem farmacêutica. MSI, codabar, EAN-5 e EAN-2 completam os casos de nicho.

Esta página envolve o JsBarcode, que desenha num <canvas> para saída raster ou num elemento <svg> para saída vetorial. Antes de passar à biblioteca faz uma verificação local rápida, pelo que obtém uma mensagem amigável (“só dígitos” ou “comprimento errado”) em vez de uma falha silenciosa.

Como usar#

  1. Escreva ou cole o seu valor no campo de entrada. O texto de exemplo 123456789012 sugere um comprimento de EAN-13.
  2. Escolha o Formato. Cada simbologia tem as suas próprias regras de conjunto de carateres e comprimento — a lista pendente mostra as onze (CODE128, CODE39, EAN13, EAN8, UPC, ITF14, MSI, codabar, pharmacode, EAN5, EAN2).
  3. Ajuste a largura das barras (1–4 px por módulo) e a Altura (60, 100, 150 ou 200 px). Barras mais estreitas produzem um código mais denso e pequeno; barras mais altas são lidas com mais fiabilidade de um ângulo.
  4. Carregue em Exemplo para pré-carregar um valor válido para o formato selecionado, ou em Limpar para recomeçar. A pré-visualização atualiza-se à direita.
  5. Descarregue como PNG (para imagens e PDFs) ou SVG (para impressão, onde o código tem de se manter nítido a qualquer tamanho).

Principais recursos#

  • Onze simbologias numa só ferramenta. Retalho (EAN-13/UPC), logística (CODE128/ITF-14), ativos (CODE39/MSI), farma (pharmacode) e suplementos (EAN-5/EAN-2) — sem saltar entre sites por formato.
  • Dígito de controle tratado por si. Para EAN-13, EAN-8, UPC e ITF-14, dê 12/7/11/13 dígitos e o dígito de controle é calculado automaticamente; dê o comprimento completo e é validado.
  • Validação pré-renderização. A ferramenta apanha entrada vazia, carateres não-dígito em formatos numéricos, comprimentos errados e carateres CODE39/codabar ilegais antes de chamar o renderizador.
  • Exportação SVG vetorial. Códigos de barras destinados a impressão nunca devem ser rasterizados — um SVG mantém-se nítido a qualquer tamanho de etiqueta.
  • Corre localmente. JsBarcode está no bundle da página; não há backend e o seu valor nunca sai do navegador.

Exemplo detalhado#

Suponha que tem um produto com a base de 12 dígitos 590123412345 e precisa de um EAN-13. Selecione EAN13, cole 590123412345. O renderizador calcula o dígito de controle (7) e desenha o código de barras completo de 13 dígitos. A linha legível por humanos por baixo das barras lê-se 5901234123457.

Matemática do dígito de controle (para verificar à mão): some os dígitos em posições ímpares ×1 mais posições pares ×3, depois tire (10 − total mod 10) mod 10. Para 590123412345 isso é (5+0+2+4+2+4)×1 + (9+1+3+1+3+5)×3 = 17 + 66 = 83, e 10 − 3 = 7.

Para uma etiqueta de envio, mude para CODE128 e cole uma string arbitrária de rastreio como 1Z999AA10123456784 — CODE128 aceita toda a gama ASCII, pelo que letras, dígitos e hífens codificam diretamente.

Perguntas frequentes#

O EAN-13 continua a rejeitar o meu número de 13 dígitos — porque?#

Se já escreveu o dígito de controle, verifique-o: reescreva apenas os primeiros 12 dígitos e deixe a ferramenta acrescentar o 13.º. Um único dígito transposto invalida o dígito de controle, e o renderizador recusa-se a desenhar um código que não seria lido.

O meu código de barras CODE39 não lê. O que está mal?#

CODE39 suporta apenas letras maiúsculas A–Z, dígitos 0–9 e os símbolos - . $ / + % (mais espaço). Letras minúsculas não fazem parte da especificação — converta-as para maiúsculas primeiro. A ferramenta sinaliza carateres ilegais com um erro de “chars” antes de renderizar.

O que é pharmacode, e porque é que a gama é tão estranha?#

Pharmacode é uma simbologia baseada em binário usada em embalagens farmacêuticas para codificar um único número inteiro que mapeia para um ID interno de produto. A gama válida é 3 a 131070; nada fora disso pode ser representado no formato.

Devo escolher PNG ou SVG?#

SVG para tudo o que vai para impressão (etiquetas, embalagens, documentos) — escala sem pixelização. PNG serve para exibição em tela, assinaturas de e-mail e PDFs onde se espera uma imagem raster.