Code 39 (también llamado Code 3 of 9 o USS Code 39) es uno de los códigos de barras más antiguos que se siguen usando, y uno de los más fáciles de leer. Contiene letras mayúsculas, dígitos y unos pocos símbolos, y se encuentra en piezas industriales, tarjetas de identificación y estanterías de almacén, y en los sectores de la automoción y la defensa.

| Qué contiene | |
| Caracteres | Letras mayúsculas, dígitos, el espacio y - . $ / + %. Las letras minúsculas se convierten en mayúsculas. |
| Longitud | Hasta 74 caracteres. |
| Dígito de control | Opcional: un carácter Mod 43 al final, que se activa con Dígito de control. |
| Modos | Standard, o Extended (también llamado Full ASCII), que admite además las letras minúsculas y todos los demás símbolos del teclado. Cada uno de ellos ocupa dos caracteres del código de barras, así que en un valor Extended de letras minúsculas solo caben 37. El escáner tiene que estar configurado para leer Extended. |
| Codificación | Estándar o HIBC, para el sector sanitario: ver Datos GS1 y HIBC. HIBC es siempre un Code 39 Standard, sea cual sea el Modo. |
| Línea legible | El valor, debajo o encima de las barras. Los asteriscos con los que empieza y termina todo Code 39 los añade Labeljoy y no se imprimen: no hay que escribirlos. |
Dígito de control. Barras y texto añade el carácter de control a las barras y lo imprime al final del valor; Solo barras lo añade únicamente a las barras. Muchos lectores de Code 39 lo ignoran, así que conviene usarlo solo si el lector lo espera. Con HIBC, esta opción no aparece: HIBC siempre tiene su propio carácter de control.
Caracteres que no se pueden escribir. En Extended, una tilde seguida de tres
dígitos es el carácter con ese código (~009 es un tabulador) y ~~ es una tilde.
El resto de la configuración (posición del texto, zona de silencio, color) está en la sección Código de barras.
| Qué puede fallar | |
| Caracteres no válidos en los datos de entrada. | El valor tiene un carácter que Code 39 no admite: una letra acentuada o, en Standard, un símbolo como * o #. Para los símbolos, hay que cambiar a Extended. |
| Datos de entrada demasiado largos. | Más de 74 caracteres o, en Extended, demasiadas letras minúsculas y símbolos. |
Code 39 es ancho para lo que contiene. Para un valor largo, Code 128 admite los mismos caracteres en mucho menos espacio.
Véase también


























