Gerador de código de barras
QRGerar códigos de barras 1D (CODE128, EAN, UPC, CODE39 e mais) em PNG ou SVG.
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#
- Escreva ou cole o seu valor no campo de entrada. O texto de exemplo
123456789012sugere um comprimento de EAN-13. - 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).
- 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.
- 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.
- 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.