Pular para o conteúdo principal

Gerar código de barras

O Gerador de código de barras codifica um valor como Code 128, EAN-13, EAN-8, UPC-A, Code 39 ou ITF-14 e entrega um SVG ou PNG. Os codificadores — dígitos verificadores, troca de conjuntos do Code 128, codificação de paridade do décimo terceiro dígito do EAN — todos rodam no seu navegador, e a saída traz as zonas de silêncio e as barras de guarda que as normas exigem, o que decide se um leitor lê o código.

Só local

Tipo de código de barras

Etiquetas de envio, ativos e logística GS1-128; opção geral.

Digite um valor ou teste um exemplo.

Como funciona o Gerar código de barras?

Um código de barras é um número escrito na largura de barras e espaços, e a codificação é específica de cada simbologia. A ferramenta escolhe a certa para o que você está criando e recusa as combinações que não podem funcionar — não dá para colocar letras em um EAN, e a ferramenta avisa em vez de descartá-las em silêncio.

Code 128, e por que ele é o padrão

O Code 128 codifica todo o ASCII em três conjuntos de caracteres que se sobrepõem, e alternar entre eles no meio do símbolo faz parte da codificação. O conjunto C é o motivo de ele ser tão eficiente para números: empacota dois dígitos em um caractere de símbolo, então um valor de 20 dígitos ocupa 10 caracteres em vez de 20. Este codificador muda para o conjunto C quando uma sequência de dígitos compensa — seis no início do valor, quatro no meio — que é o ponto de equilíbrio em que o caractere de troca se paga.

O décimo terceiro dígito de um EAN-13 não é uma barra

O EAN-13 tem 95 módulos e eles codificam doze dígitos, não treze. O primeiro dígito é transportado pelo *padrão de paridade* dos seis da esquerda: cada um deles é codificado com paridade ímpar ou par, e qual dos seis padrões possíveis aparece é o que soletra o dígito inicial. É uma peça genuinamente engenhosa do design dos anos 1970 — fez do EAN-13 um superconjunto do UPC-A de 12 dígitos já existente sem mudar a largura do símbolo — e é a parte em que um codificador feito à mão quase sempre erra.

Dígitos verificadores

EAN, UPC e ITF-14 usam o mesmo esquema de módulo 10: pese os dígitos alternadamente por 3 e 1, some tudo, e o dígito verificador é o que leva o total a um múltiplo de dez. Digite os doze dígitos de um EAN-13 e o décimo terceiro é calculado e exibido — se você já o tem, a ferramenta confere o seu em vez de substituí-lo, e avisa se ele não bater. O Code 128 tem o próprio checksum ponderado, que faz parte do símbolo e nunca é impresso.

Zonas de silêncio não são margem

O espaço em branco dos dois lados das barras faz parte do símbolo, e é a parte dele mais frequentemente destruída. Um leitor o usa para descobrir onde o código começa; com um logotipo, uma dobra ou a borda de uma caixa dentro dele, as taxas de leitura despencam. As normas definem a zona por simbologia — 11 módulos para o EAN-13, 10 para o Code 128 — e ela vem incluída em tudo que é baixado aqui, que é exatamente por que o arquivo tem “espaço em branco demais” ao redor. Não o recorte.

Por que a saída é SVG por padrão

Porque um código de barras é impresso muito mais vezes do que exibido, e uma imagem raster na resolução errada é o outro motivo comum de falha do símbolo. As barras caem sobre pixels fracionários do dispositivo, a impressora borra as bordas, e as larguras que o leitor mede deixam de ser as que você codificou. A saída vetorial não tem resolução para errar, e o SVG baixado é dimensionado em milímetros, de modo que um pipeline de impressão o reproduz na largura de módulo que você escolheu.

Um valor e uma simbologia

EAN-13
590123412345

Um símbolo escaneável

5901234123457
             ↑ check digit

quiet zone   11 modules each side
modules      95
width        30.1mm at X = 0.264mm

Quais opções e casos-limite o Gerar código de barras suporta?

Referência técnica e opções
ParâmetroTipoPadrãoComportamento e casos-limite
Code 128Qualquer texto ASCII, qualquer tamanho10 módulosEtiquetas de remessa, tags de ativos, logística GS1-128 — a escolha de uso geral
EAN-1312 dígitos (o 13º é calculado)11 módulosProdutos varejistas fora da América do Norte
EAN-87 dígitos (o 8º é calculado)7 módulosPacotes pequenos de varejo sem espaço para um EAN-13 completo
UPC-A11 dígitos (o 12º é calculado)9 módulosProdutos varejistas nos Estados Unidos e Canadá
Code 39A–Z, 0–9, espaço e - . $ / + %10 módulosLogística de defesa, automotiva e de saúde; leitores mais antigos não leem nada além disso
ITF-1413 dígitos (o 14º é calculado)10 módulosCaixas externas e paletes — impressas em cartão ondulado, onde as barras finas não funcionam
Largura do módulo (X)mm0.33A largura da barra mais estreita, e o número que define todas as outras. Mínimos: 0.264mm para EAN e UPC de varejo, 0.495mm para ITF-14 em cartão ondulado.
Zona de silênciomódulosinclusoEspaço em branco que faz parte do símbolo, e não margem ao seu redor. Recortá-lo é a causa mais comum pela qual um código impresso para de ser lido.

Perguntas frequentes

Que tipo de código de barras devo usar?

Code 128 para qualquer uso interno — etiquetas de envio, tags de patrimônio, localizações no armazém — porque aceita qualquer texto ASCII de qualquer tamanho e empacota dígitos dois por caractere. EAN-13 para produto de varejo vendido fora da América do Norte, UPC-A dentro dela, e ambos exigem um prefixo de empresa GS1 que você precisa comprar; não dá para inventar o número. ITF-14 para a caixa externa ou o pallet. Code 39 só quando o leitor ou o setor exigir: é volumoso e codifica um conjunto restrito de caracteres, mas leitores muito antigos não lidam com mais nada.

Posso criar meu próprio EAN-13 para um produto que vendo?

Você pode gerar um símbolo válido aqui, mas o número em si precisa ser alocado. Um EAN-13 começa com um prefixo de empresa GS1 emitido para o seu negócio, e os varejistas o verificam no registro da GS1 — um número inventado codifica, escaneia e depois falha no momento em que importa. Para controle de estoque interno, em que nada sai do seu próprio sistema, Code 128 com um esquema seu é a resposta honesta e não custa nada.

Como o dígito verificador é calculado?

Para EAN, UPC e ITF-14 é módulo 10: pegue os dígitos, pese-os alternadamente por 3 e 1 a partir da direita, some tudo, e o dígito verificador é a quantidade que leva o total ao próximo múltiplo de dez. Digite aqui os doze dígitos de um EAN-13 e o décimo terceiro aparece; cole os treze e esta ferramenta confere o seu em vez de sobrescrevê-lo. O Code 128 tem um checksum ponderado diferente, codificado no símbolo e nunca impresso embaixo.

Por que meu código de barras impresso não escaneia?

Três causas, em ordem de frequência. A zona de silêncio foi recortada ou algo foi colocado dentro dela — esse espaço em branco faz parte do símbolo. A largura do módulo está abaixo do mínimo, e o espalhamento de tinta fecha os espaços; EAN e UPC de varejo precisam de 0.264mm e ITF-14 em papelão ondulado precisa de 0.495mm. Ou foi impresso a partir de uma imagem raster de baixa resolução, em que as bordas das barras não caem em pixels inteiros. Baixe o SVG, mantenha o espaço em branco e confira a largura em milímetros exibida nesta página.

Um código de barras pode guardar uma URL ou um número de telefone?

O Code 128 pode conter qualquer texto ASCII, então uma URL codifica — mas um código de barras linear é um mau veículo para ela. Ele fica muito largo muito rápido, e os leitores que aproveitam uma URL de fato são as câmeras de celular, que leem códigos QR muito melhor do que leem símbolos 1D. Se o destino é um celular, use o gerador de QR code deste site. Use um código de barras quando um leitor dedicado for fazer a leitura.

Algo é enviado quando eu gero um código de barras?

Não. Os codificadores rodam nesta aba, e o SVG e o PNG são produzidos aqui também. Isso importa mais do que parece, justamente nesta ferramenta: os valores que as pessoas codificam são números de pedido, números de série e tags de patrimônio internas, e mandar isso para o servidor de um estranho para desenhar uns retângulos é um mau negócio. A Content-Security-Policy do site define connect-src 'self', então o navegador bloquearia um envio mesmo que algo tentasse.