📊Gerador de código de barras

Digite um texto alfanumérico e a ferramenta desenha a imagem real do código de barras, no padrão Code 128, com o dígito verificador calculado automaticamente. Diferente do gerador de EAN, esta ferramenta desenha as barras, não apenas o número.

Aceita letras, números e símbolos ASCII básicos (sem acentos, emojis ou caracteres especiais). Usa o padrão Code 128, subconjunto B, lido por praticamente qualquer leitor de código de barras.

🔒 Cálculo 100% local — os dados que você digita não saem do seu navegador, nada é enviado a servidores.

Fonte: Code 128 — ISO/IEC 15417, subconjunto B — padrão internacional de código de barras 1D de uso geral, com tabela pública de 107 símbolos (dígito verificador módulo 103) · Última verificação em 23/09/2026

O gerador codifica o texto no padrão Code 128, subconjunto B: cada caractere ASCII tem um valor e um padrão de barras fixo, a soma ponderada desses valores forma um dígito verificador pelo módulo 103, e o resultado é desenhado como barras pretas e brancas em um canvas, com margens de silêncio nas bordas.

Como usar a ferramenta

  1. Digite o texto a codificarLetras maiúsculas e minúsculas, números e símbolos comuns (como hífen, ponto e espaço) funcionam. Acentos e emojis não são suportados pelo subconjunto B.
  2. Confira a imagem geradaO código de barras aparece automaticamente conforme você digita, com o texto original escrito abaixo das barras para conferência visual.
  3. Baixe a imagemClique em baixar como imagem para salvar o código em PNG, pronto para imprimir em etiquetas ou importar em um sistema de estoque.

Como funciona

O Code 128 é um padrão de código de barras que representa cada caractere como um dos 107 símbolos possíveis, cada um com um padrão fixo de barras pretas e espaços brancos somando 11 módulos de largura (exceto o símbolo de parada, que tem 13). O subconjunto B (usado aqui) cobre os caracteres ASCII de 32 a 126 — ou seja, todas as letras maiúsculas e minúsculas, números e a maioria dos símbolos de teclado.

Para montar o código completo, a ferramenta monta uma sequência: primeiro o símbolo de início do subconjunto B, depois um símbolo para cada caractere do texto, depois um dígito verificador, e por fim o símbolo de parada. O dígito verificador existe para detectar erros de leitura — ele é calculado somando o valor do símbolo de início com o valor de cada caractere multiplicado pela sua posição (começando em 1), e tirando o resto dessa soma dividido por 103.

Cada símbolo da sequência final é convertido no seu padrão de 11 (ou 13, no caso da parada) módulos de barra/espaço, e esses padrões são desenhados lado a lado no canvas, com uma margem de silêncio (área em branco) antes do primeiro e depois do último símbolo — exigida por qualquer leitor de código de barras para saber onde o código começa e termina.

Checksum: soma = valor_início(104) + Σ(valor_caractere × posição)
dígito verificador = soma mod 103
Sequência: início + caracteres + verificador + parada, cada um com padrão fixo de barras

Exemplo resolvido

Digite "ABC". Cada letra vira um valor: A = 65 − 32 = 33, B = 66 − 32 = 34, C = 67 − 32 = 35. A soma ponderada começa em 104 (valor do símbolo de início do subconjunto B) e soma cada valor multiplicado pela posição: 104 + (33 × 1) + (34 × 2) + (35 × 3) = 104 + 33 + 68 + 105 = 310.

O dígito verificador é o resto de 310 dividido por 103: como 103 × 3 = 309, sobra 1 — o dígito verificador é 1. A sequência final de símbolos fica: início (104), A (33), B (34), C (35), verificador (1), parada (106). Cada um desses seis símbolos vira um padrão de barras, desenhados lado a lado formando a imagem completa. Qualquer leitor de código de barras compatível com Code 128 decodifica essas barras de volta para o texto "ABC", conferindo o dígito verificador no processo para garantir que a leitura foi correta.

Suposições e limitações

  • Usa apenas o subconjunto B do Code 128 — não codifica caracteres acentuados, emojis ou símbolos fora da tabela ASCII 32-126
  • Não alterna automaticamente para os subconjuntos A (caracteres de controle) ou C (pares de dígitos, mais compacto para números longos) — para textos só com números, o subconjunto C geraria um código mais curto, mas esta ferramenta sempre usa o B
  • A imagem gerada é um PNG estático, sem metadados de barcode incorporados — funciona como imagem visual para leitura óptica, não como dado estruturado dentro do arquivo
  • O tamanho físico do código impresso depende da resolução de impressão; teste a leitura com o leitor de código de barras real antes de usar em produção
  • Textos muito longos geram uma imagem mais larga — em telas pequenas, role horizontalmente ou baixe a imagem para ver o código completo

Dicas para tirar o melhor proveito

Para textos só com números (como códigos de produto numéricos), considere se um gerador de EAN/GTIN não atende melhor sua necessidade — esses formatos são o padrão em varejo e têm leitura garantida em qualquer scanner de loja. Use o Code 128 quando precisar codificar letras e números juntos, como códigos internos de estoque, números de série ou identificadores alfanuméricos de rastreamento. Ao imprimir o código, mantenha uma margem de silêncio (área branca) generosa nas laterais — cortar a imagem muito perto das barras é uma das causas mais comuns de falha de leitura. Teste sempre o código gerado com um leitor real (ou um app leitor de código de barras no celular) antes de imprimir em lote.

Erros comuns a evitar

Tentar codificar texto com acentos ("ç", "ã", "é") ou emojis — o subconjunto B do Code 128 não tem esses caracteres, e a ferramenta rejeita o texto nesse caso, pedindo para usar apenas ASCII básico. Redimensionar a imagem baixada de forma desproporcional (esticando só na largura ou só na altura), o que distorce a largura relativa das barras e pode quebrar a leitura, já que o leitor depende de proporções precisas entre barras finas e largas. Imprimir o código muito pequeno, fazendo as barras mais finas ficarem abaixo da resolução da impressora e se fundirem. E esquecer a margem de silêncio ao recortar a imagem para uma etiqueta — sem espaço em branco antes e depois do código, muitos leitores não conseguem identificar onde o código começa.

Veja também

Se esta ferramenta foi útil, você também pode precisar destas relacionadas: Formatador e validador de JSON, Gerador de UUID, Gerador de hash, Gerador de EAN / GTIN.

Perguntas frequentes

Qual a diferença entre este gerador e o gerador de EAN/GTIN?

O gerador de EAN/GTIN cria e valida números de produto no padrão usado no varejo (apenas dígitos). Este gerador desenha a imagem real das barras no padrão Code 128, que aceita letras e números juntos — útil para códigos internos, não para produtos de varejo.

O que é o subconjunto B do Code 128?

É uma das três variantes do padrão Code 128 (A, B e C). O subconjunto B cobre os caracteres ASCII de 32 a 126 — letras maiúsculas, minúsculas, números e símbolos comuns de teclado — sendo o mais usado para texto alfanumérico geral.

Por que meu texto com acento não funciona?

O subconjunto B do Code 128 cobre apenas os caracteres ASCII de 32 a 126, que não incluem letras acentuadas como "ç" ou "ã". Remova os acentos ou substitua por caracteres sem acento antes de gerar o código.

Como funciona o dígito verificador do Code 128?

É calculado pelo módulo 103: soma-se o valor do símbolo de início com o valor de cada caractere multiplicado pela sua posição na sequência, e o dígito verificador é o resto dessa soma dividido por 103. Ele permite que o leitor detecte erros de leitura.

Posso usar o código gerado em produtos de varejo?

O Code 128 é usado em logística, estoque interno e rastreamento, mas o padrão do varejo é o EAN/GTIN, associado a um prefixo GS1 exclusivo da empresa. Para produtos à venda, use o gerador de EAN/GTIN em vez deste.

Em que formato baixo a imagem do código de barras?

Em PNG, direto do canvas do navegador, com o texto original escrito abaixo das barras para conferência visual. O tamanho varia conforme o comprimento do texto codificado.

Explore mais ferramentas gratuitas

Dezenas de calculadoras, conversores e geradores — todos funcionam no navegador, sem cadastro e sem instalar nada.