Gerador de códigos de barras Code 39
Crie códigos de barras Code 39 para identificação industrial, fabrico, inventário e gestão de ativos.
Gerador de códigos de barras e códigos matriciais
Pré-visualização em direto do Studio
Gerador de números de série em lote Code 128
Gere códigos de barras Code 128 sequenciais para referências de artigos (SKU) de armazém, etiquetas de ativos, rótulos de inventário e outros identificadores internos.
Gerador de códigos de barras Code 39
Resposta rápida: O Código 39 é um código de barras linear de comprimento variável e com autoverificação, definido na norma ISO/IEC 16388:2023. É também conhecido pelas designações Código 3 de 9 e Alpha39. A simbologia codifica 43 caracteres: letras maiúsculas de A a Z, algarismos de 0 a 9 e os sete caracteres especiais: espaço, hífen, ponto, sinal de dólar, barra, sinal de mais e sinal de percentagem. Um dígito de verificação é opcional.
What a Code 39 barcode is
Code 39 is a one-dimensional, discrete, self-checking barcode symbology defined in ISO/IEC 16388:2023 (third edition). It is also known as Code 3 of 9 and Alpha39. The name "3 of 9" refers to its structure: each character is represented by 9 elements — 5 bars and 4 spaces — of which exactly 3 are wide.
O carácter asterisco (*) funciona como delimitador de início e de fim. O asterisco não é transmitido como dado — os descodificadores removem-no —, mas tem de estar presente em qualquer símbolo Code 39 válido. Por este motivo, o próprio asterisco não pode ser utilizado como carácter de dados.
O Code 39 tem verificação própria. A estrutura dos elementos «3 de 9» significa que um único defeito de impressão que alargue ou estreite um elemento o suficiente para alterar a sua classificação de estreito para largo, ou vice-versa, produziria um carácter com um número incorreto de elementos largos, que o descodificador deteta como inválido. Esta propriedade de verificação própria foi a razão prática pela qual o Code 39 foi utilizado durante décadas sem um dígito de controlo obrigatório em muitas aplicações.
Especificação técnica do Code 39
Character set and structure
| Parâmetro | Valor | Fonte |
|---|---|---|
| Nome completo | Code 39 (also Code 3 of 9, Alpha39) | ISO/IEC 16388:2023 |
| ISO/IEC standard | ISO/IEC 16388:2023 (third edition) | iso.org/standard/77799.html |
| Code type | Discrete (intercharacter gaps between characters) | ISO/IEC 16388:2023 §4.1(b) |
| Native character set | 43 characters: A–Z (26), 0–9 (10), space, -, ., $, /, +, % (7) | ISO/IEC 16388:2023 §4.1(a) |
| Extended ASCII (Full ASCII Code 39) | All 128 ASCII characters via two-character shift sequences using $, /, +, % | ISO/IEC 16388:2023 §4.1(a) |
| Symbol length | Variável | ISO/IEC 16388:2023 §4.1(e) |
| Elements per character | 9 (5 bars + 4 spaces): exactly 3 wide, 6 narrow | ISO/IEC 16388:2023 §4.1(c) |
| Start/stop character | Asterisk (*) — not transmitted by decoder | ISO/IEC 16388:2023 §4.3.3 |
| Self-checking | Sim | ISO/IEC 16388:2023 §4.1(d) |
| Wide-to-narrow ratio | 2.0:1 to 3.0:1 (nominal); 1.8:1 to 3.4:1 tolerance | ISO/IEC 16388:1999 §4.4(b); ISO/IEC 16388:2023 |
Check character
| Parâmetro | Valor | Fonte |
|---|---|---|
| Check character | Optional — modulo-43 | ISO/IEC 16388:2023 Annex A |
| Algorithm | Sum of all data character values (A=10, B=11, ... Z=35, 0=0, ... 9=9, special chars each assigned unique values 0–42); divide sum by 43; remainder maps to Code 39 character | ISO/IEC 16388:2023 Annex A |
| Transmitted | Yes — the check character is included in the symbol and may be transmitted | ISO/IEC 16388:2023 |
Print requirements
| Parâmetro | Valor | Fonte |
|---|---|---|
| Quiet zones | Minimum 10X on each side | ISO/IEC 16388:1999 §4.4(d) |
| Min bar height (manual scan) | 5.0 mm or 15% of symbol width excluding quiet zones, whichever is greater | ISO/IEC 16388:1999 §4.4(e) |
When to use a Code 39 barcode
LOGMARS do Departamento de Defesa dos EUA. A norma do DoD para aplicações logísticas de marcação e leitura automatizadas de símbolos (LOGMARS), baseada na MIL-STD-1189B, especifica o Code 39 para a marcação de peças, componentes e conjuntos na cadeia de abastecimento da defesa dos EUA. Se for um fornecedor da defesa obrigado a aplicar etiquetas conformes com a LOGMARS, a utilização do Code 39 é obrigatória. Neste contexto, utilize exatamente o Code 39.
Rotulagem de peças automóveis e relacionada com o VIN. Os principais fabricantes automóveis e os seus fornecedores de nível 1 utilizam o Code 39 em etiquetas de identificação de peças há décadas. As normas da AIAG e as especificações de fabrico automóvel ainda fazem referência, em alguns contextos, ao Code 39 para o rastreio interno de peças, apesar de o Code 128 já estar disponível.
Rastreio de ativos e equipamentos de saúde (sistemas antigos). Alguns sistemas hospitalares de rastreio de ativos e de equipamentos médicos, instalados antes de o Code 128 se tornar dominante, utilizam leitores Code 39. Se não for possível reconfigurar o sistema instalado, as etiquetas Code 39 continuam a ser a única opção compatível.
Aplicações governamentais e industriais que exigem simplicidade. O Code 39 é autoverificável sem exigir um dígito de controlo, a sua proporção entre barras largas e estreitas torna-o tolerante a impressões matriciais e por impacto imperfeitas, e praticamente todos os leitores de códigos de barras alguma vez comercializados conseguem descodificá-lo. Estas características fizeram dele o código de barras industrial dominante durante duas décadas e continuam a torná-lo uma opção válida em ambientes controlados onde essa base instalada ainda está em funcionamento.
Quando NÃO utilizar o Code 39 em novas implementações. O Code 39 não é a opção moderna. O seu conjunto de 43 caracteres não inclui letras minúsculas. A sua estrutura discreta — cada carácter é separado por um espaço entre caracteres — faz com que ocupe mais espaço físico do que o Code 128 para dados equivalentes. Uma sequência numérica de 10 dígitos codificada em Code 128 Code Set C ocupa aproximadamente metade do espaço físico da mesma sequência em Code 39. Utilize o Code 128 em qualquer novo sistema de etiquetagem para armazéns, expedição ou uso geral.
Requisitos de impressão do Code 39
Dimensão X. Utilize a maior dimensão X permitida pelo espaço disponível na etiqueta. O espaço discreto entre caracteres do Code 39 acrescenta comprimento físico para além dos módulos dos caracteres, pelo que o símbolo já é mais comprido do que um código de barras contínuo com dados equivalentes. Uma dimensão X maior melhora a fiabilidade da leitura, especialmente em suportes impressos por transferência térmica ou por impacto.
Wide-to-narrow ratio. ISO/IEC 16388:2023 specifies a nominal ratio of 2.0:1 to 3.0:1, with tolerance from 1.8:1 to 3.4:1. The ratio must be consistent throughout the symbol. A ratio below 1.8:1 makes wide and narrow elements ambiguous. A ratio above 3.4:1 produces needlessly long symbols.
Zonas de silêncio. O símbolo deve ter uma zona livre de pelo menos 10X nas extremidades esquerda e direita. A zona de silêncio faz parte da norma; não é uma recomendação. Qualquer elemento — margem, código de barras adjacente, texto — dentro da zona de silêncio fará com que o carácter de início ou de paragem seja identificado incorretamente.
Bar height. The minimum bar height is 5.0 mm or 15 percent of the symbol width excluding quiet zones, whichever is greater, per ISO/IEC 16388:1999 §4.4(e). Taller bars improve tolerance for scanner tilt and label curl.
Substrato. A tolerância do rácio entre barras largas e estreitas do Code 39 torna-o mais adequado a substratos rugosos, como cartão canelado e têxteis ásperos, do que os códigos com um rácio mais baixo. Esta foi, historicamente, uma das razões para a sua adoção em ambientes industriais. Ainda assim, uma impressão de alto contraste num substrato liso oferece os resultados mais fiáveis.
Resolução de problemas: porque é que o seu código de barras Code 39 não está a ser lido
Letra minúscula nos dados. O conjunto de caracteres nativo do Code 39 inclui apenas letras maiúsculas. As letras minúsculas requerem a codificação por deslocamento Full ASCII Code 39. Se o gerador aceitar os dados introduzidos, mas o leitor não conseguir ler o código, verifique se está configurado para Full ASCII Code 39 — os descodificadores padrão de Code 39 rejeitam as sequências de deslocamento como inválidas.
Asterisco nos dados. O asterisco é o delimitador de início e de fim do Code 39 e não pode ser utilizado como carácter de dados. Qualquer entrada que contenha um asterisco irá produzir um símbolo inválido.
Rácio entre barras largas e estreitas distorcido pelo redimensionamento. Se a imagem PNG exportada for impressa com uma resolução que altere o número de píxeis do módulo, o rácio entre barras largas e estreitas poderá ficar fora da tolerância de 1.8:1 a 3.4:1. Imprima com as dimensões exatas em píxeis pretendidas ou utilize a exportação SVG e redimensione uniformemente na fase de impressão.
Zona de silêncio não respeitada. A colocação de texto, contornos ou etiquetas adjacentes a menos de 10X das extremidades do símbolo impede a deteção dos delimitadores de início e de fim. Reserve a zona de silêncio completa de 10X em ambos os lados.
Dígito de controlo não coincidente. Se a configuração do sistema exigir um dígito de controlo módulo 43 e a etiqueta for impressa sem ele, o scanner irá rejeitar símbolos aparentemente válidos. Por outro lado, se for incluído um dígito de controlo e o scanner estiver configurado para não o verificar, o carácter de controlo aparecerá na saída descodificada como um carácter adicional. Certifique-se de que a configuração do dígito de controlo é a mesma no gerador e no scanner.
Altura das barras demasiado baixa. Uma altura das barras inferior a 5 mm ou a 15% da largura do símbolo pode causar falhas de leitura quando, durante a leitura manual, o feixe laser passa abaixo ou acima das barras. Volte a imprimir com barras mais altas.
Code 39 versus Code 128
Code 39 e Code 128 são ambos códigos de barras lineares alfanuméricos. O Code 39 surgiu antes do Code 128 e é mais limitado em todos os parâmetros técnicos. Esta comparação é relevante porque muitos utilizadores que procuram o Code 39 estão a manter sistemas legados e devem conhecer a alternativa para projetos futuros.
| Code 39 | Code 128 | |
|---|---|---|
| Padrão | ISO/IEC 16388:2023 | ISO/IEC 15417:2007 |
| Conjunto de caracteres | 43 characters (uppercase only natively) | All 128 ASCII (uppercase, lowercase, digits, control chars) |
| Lowercase | Via Full ASCII shift sequences only | Natively in Code Set B |
| Check character | Optional modulo-43 | Mandatory modulo-103 (auto-calculated) |
| Symbol type | Discrete (intercharacter gaps) | Continuous |
| Physical length | Longer for equivalent data | Shorter — Code Set C halves numeric length |
| Self-checking | Sim | Yes (via check character) |
| Active mandates | US DoD LOGMARS, some automotive | Warehouse, shipping, GS1-128 |
| Recommendation for new systems | No — use Code 128 | Sim |
O Code 39 não está obsoleto — continua a ser exigido pelo LOGMARS e por algumas especificações do setor automóvel. Mas, se estiver a criar um novo sistema de etiquetagem e nenhum regulamento exigir o Code 39, o Code 128 é a escolha certa.
Utilizar este código de barras no Bahrein e nas cadeias de fornecimento internacionais
Os retalhistas, importadores, fabricantes e equipas de logística do Barém devem garantir que os identificadores respeitam as regras dos seus parceiros comerciais. Os GTIN destinados à venda a retalho devem ser obtidos junto da organização emissora adequada; um gerador cria a imagem do código, mas não atribui a titularidade do identificador. As referências internas de stock e de ativos podem utilizar valores definidos pela própria organização, desde que o sistema recetor os aceite.
Utilize inglês britânico nas instruções operacionais, se estiver de acordo com o estilo da sua organização, e acrescente instruções em árabe para as equipas que delas necessitem. Imprima nas condições reais de utilização. O calor, a luz intensa, o pó, as embalagens curvas e as películas laminadas refletoras do Barém podem revelar problemas de contraste ou de superfície que não são visíveis num monitor.
Mantenha as zonas de silêncio desimpedidas, evite esticar a imagem e prefira barras escuras sobre um fundo liso e claro. Digitalize amostras do início, do meio e do fim da tiragem. Para utilização regulamentada no retalho, na saúde, na edição ou na logística, confirme as especificações em vigor da GS1, da agência ISBN, do cliente ou do setor antes de aprovar a produção.
Antes de imprimir
- Foi selecionada a simbologia correta
- Propriedade do identificador confirmada
- O dígito de verificação foi validado
- Zonas de silêncio mantidas livres de obstáculos
- Forte contraste entre as barras
- Proporção da imagem inalterada
- SVG ou PNG de alta resolução
- Teste do scanner de produção
Perguntas frequentes
Abra uma pergunta para ler uma resposta técnica concisa.
01O que é um código de barras Code 39?+
O Código 39 é um código de barras linear de comprimento variável e com autocontrolo, definido na norma ISO/IEC 16388:2023. É também designado por Código 3 de 9 e Alpha39. Cada carácter é composto por 9 elementos — 5 barras e 4 espaços —, dos quais exatamente 3 são largos. O conjunto de caracteres nativo abrange 43 caracteres: letras maiúsculas de A a Z, algarismos de 0 a 9 e sete caracteres especiais. O asterisco funciona como delimitador obrigatório de início e fim.
02Que caracteres pode o Code 39 codificar?+
O conjunto de caracteres nativo do Código 39, composto por 43 caracteres, abrange as letras maiúsculas A–Z (26 letras), os algarismos 0–9 (10) e sete caracteres especiais: espaço, hífen, ponto, símbolo do dólar, barra, sinal de mais e símbolo de percentagem. O Código 39 ASCII completo alarga a cobertura a todos os 128 caracteres ASCII através de sequências de deslocamento de dois caracteres, mas requer que os leitores estejam configurados para suportar o modo ASCII completo.
03O Código 39 ainda é utilizado?+
Sim. A norma LOGMARS do Departamento de Defesa dos EUA (baseada na norma MIL-STD-1189B) exige a utilização do Código 39 para a marcação de peças na cadeia de abastecimento do setor da defesa. Os fabricantes automóveis e os seus fornecedores utilizam o Código 39 no contexto do rastreio de peças. Muitos sistemas antigos de gestão de armazéns e de ativos na área da saúde também continuam a utilizá-lo. No entanto, para qualquer nova implementação sem uma exigência específica, o Código 128 é a simbologia preferida.
04Qual é a diferença entre o Código 39 e o Código 128?+
O Código 128 (ISO/IEC 15417:2007) codifica todos os 128 caracteres ASCII, incluindo letras minúsculas, e produz símbolos mais curtos para dados equivalentes. O Código 128, Conjunto de Códigos C, codifica pares de dígitos numa única palavra de código, reduzindo aproximadamente para metade o comprimento físico das sequências numéricas. O Código 39 (ISO/IEC 16388:2023) codifica apenas 43 caracteres de forma nativa, não suporta letras minúsculas e é mais extenso para dados equivalentes. Utilize o Código 39 apenas quando uma regulamentação ou um sistema antigo assim o exigir.
05O código 39 possui um dígito de controlo?+
O dígito de verificação do Código 39 é opcional. O Anexo A da norma ISO/IEC 16388:2023 define um algoritmo módulo 43: atribua a cada carácter um valor entre 0 e 42, some todos os valores, divida por 43 e o resto corresponde ao carácter de verificação. Algumas aplicações incluem o dígito de verificação; outras baseiam-se exclusivamente na estrutura de autoverificação do Código 39. Harmonize a configuração do dígito de verificação entre o gerador de etiquetas e a configuração do leitor.
06O que é o código de barras LOGMARS?+
O LOGMARS (Aplicações Logísticas de Símbolos Automatizados de Marcação e Leitura) é a norma do Departamento de Defesa dos EUA para a etiquetagem com códigos de barras na cadeia de abastecimento da defesa, com base na norma MIL-STD-1189B. O LOGMARS especifica o Código 39 como a simbologia de código de barras exigida para peças, componentes e conjuntos. Os fornecedores do setor da defesa que efetuam entregas ao Departamento de Defesa (DoD) devem aplicar etiquetas com o Código 39, em conformidade com o LOGMARS, aos artigos especificados.
07O código 39 permite codificar letras minúsculas?+
Não de forma nativa. O conjunto padrão de 43 caracteres inclui apenas letras maiúsculas. O Código 39 ASCII completo utiliza sequências de deslocamento de dois caracteres para representar todos os 128 caracteres ASCII, incluindo minúsculas, mas tal requer a utilização de leitores explicitamente configurados para o modo ASCII completo. Os descodificadores de Código 39 padrão não interpretam corretamente as sequências de deslocamento do ASCII completo.
08Qual é a relação largura/altura no Código 39?+
A norma ISO/IEC 16388:2023 especifica uma relação nominal entre a largura e a estreiteza de 2,0:1 a 3,0:1. A banda de tolerância situa-se entre 1,8:1 e 3,4:1. Uma relação inferior a 1,8:1 dificulta a distinção entre os elementos largos e estreitos. O dimensionamento não uniforme da imagem do código de barras pode alterar a relação e levá-la para fora da tolerância, causando falhas na leitura.
09O que é o Código 39 ASCII completo?+
O Código 39 ASCII completo é uma extensão do Código 39 que codifica todos os 128 caracteres ASCII através da utilização de sequências de dois caracteres. Os quatro caracteres de deslocamento — $, /, %, + — combinam-se com outro caractere do Código 39 para representar os 85 caracteres ASCII que não constam do conjunto nativo de 43 caracteres. O Código 39 Full ASCII está definido na norma ISO/IEC 16388:2023. Os leitores de código de barras devem ser explicitamente configurados para descodificar sequências Full ASCII; o modo padrão do Código 39 irá interpretá-las incorretamente.
10Preciso de uma licença GS1 para utilizar o Código 39?+
O Código n.º 39 codifica dados alfanuméricos arbitrários sem qualquer requisito de licenciamento. É plenamente utilizável para etiquetagem interna — marcação de peças, etiquetas de ativos, etiquetas de inventário — sem necessidade de registo ou aprovação. Só é necessária uma licença GS1 quando os dados codificados incluem um GTIN licenciado pela GS1 para venda a retalho ou para utilização na cadeia de abastecimento da GS1.