Code 39 - também chamado Code 3 of 9 ou USS Code 39 - é um dos códigos de barras mais antigos ainda em uso, e um dos mais fáceis de ler. Contém letras maiúsculas, dígitos e alguns símbolos, e encontra-se em peças industriais, crachás de identificação e prateleiras de armazém, e nos setores automóvel e da defesa.

| Conteúdo | |
| Caracteres | Letras maiúsculas, dígitos, o espaço e - . $ / + %. As letras minúsculas são convertidas em maiúsculas. |
| Comprimento | Até 74 caracteres. |
| Dígito de controlo | Opcional: um carácter Mod 43 no fim, que ativa com Dígito de controlo. |
| Modos | Standard, ou Extended - também chamado Full ASCII - que aceita também letras minúsculas e todos os outros símbolos do teclado. Cada um destes ocupa dois caracteres do código de barras, por isso um valor Extended de letras minúsculas só comporta 37. O leitor tem de estar configurado para ler Extended. |
| Codificação | Standard ou HIBC, para o setor da saúde: ver Dados GS1 e HIBC. O HIBC é sempre um Code 39 Standard, seja qual for o Modo. |
| Texto legível | O valor, por baixo ou por cima das barras. Os asteriscos que iniciam e terminam todos os Code 39 são adicionados automaticamente e não são impressos - não os escreva. |
O dígito de controlo. Código de barras e texto adiciona o carácter de controlo às barras e imprime-o no fim do valor; Só código de barras adiciona-o apenas às barras. Muitos leitores de Code 39 ignoram-no, por isso use-o apenas se o seu leitor o esperar. Com HIBC a definição não é mostrada: o HIBC tem sempre um carácter de controlo próprio.
Caracteres que não pode escrever. Em Extended, um til seguido de três
dígitos é o carácter com esse código - ~009 é uma tabulação - e ~~ é um til.
As restantes definições - posição do texto, zona de silêncio, cor - estão na secção Código de barras.
| Possíveis problemas | |
| Caracteres inválidos nos dados de entrada. | O valor contém um carácter que o Code 39 não comporta: uma letra acentuada ou, em Standard, um símbolo como * ou #. Para os símbolos, mude para Extended. |
| Dados de entrada demasiado longos. | Mais de 74 caracteres - ou, em Extended, demasiadas letras minúsculas e símbolos. |
O Code 39 é largo para o que contém. Para um valor longo, o Code 128 aceita os mesmos caracteres em muito menos espaço.
Ver também

























