Generador de códigos de barras Code 39
Crea códigos de barras Code 39 para identificación industrial, fabricación, inventario y seguimiento de activos.
Generador de códigos de barras y matriciales
Vista previa en vivo del estudio
Generador de números de serie por lotes Code 128
Genera códigos de barras Code 128 secuenciales para SKU de almacén, etiquetas de activos, etiquetas de inventario y otros identificadores internos.
Generador de códigos de barras Code 39
En pocas palabras: El Código 39 es un código de barras lineal de longitud variable y autocomprobación definido en la norma ISO/IEC 16388:2023. También se conoce con los nombres de Código 3 de 9 y Alpha39. Esta simbología codifica 43 caracteres: las letras mayúsculas de la A a la Z, los dígitos del 0 al 9 y los siete caracteres especiales: espacio, guión, punto, signo del dólar, barra, signo más y signo de porcentaje. El dígito de control es 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.
El carácter de asterisco (*) sirve tanto como delimitador de inicio como de fin. El asterisco no se transmite como dato —los decodificadores lo eliminan—, pero debe estar presente en cualquier símbolo Code 39 válido. Esto significa que el asterisco no puede utilizarse como carácter de datos.
Code 39 es autocontrolado. La estructura de elementos «3 de 9» significa que un defecto de impresión que ensanche o estreche un elemento lo suficiente como para cambiar su clasificación de estrecho a ancho daría como resultado un carácter con un número incorrecto de elementos anchos, que el decodificador detectaría como no válido. Esta propiedad de autocontrol fue la razón práctica por la que Code 39 sobrevivió durante décadas sin un dígito de control obligatorio en muchas implementaciones.
Especificación técnica de Code 39
Character set and structure
| Parámetro | Valor | Fuente |
|---|---|---|
| Nombre 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 | Variable | 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 | si | 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 | Fuente |
|---|---|---|
| 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 | Fuente |
|---|---|---|
| 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 del Departamento de Defensa de EE. UU. El estándar del Departamento de Defensa para aplicaciones logísticas de marcado y lectura automatizados de símbolos (LOGMARS), basado en MIL-STD-1189B, especifica Code 39 para marcar piezas, componentes y conjuntos en la cadena de suministro de defensa de EE. UU. Si es un contratista de defensa que debe aplicar etiquetas conformes con LOGMARS, el uso de Code 39 es obligatorio. Utilice Code 39 exactamente en este contexto.
Etiquetado de piezas de automóviles y relacionado con el VIN. Durante décadas, los principales fabricantes de automóviles y sus proveedores de nivel 1 han utilizado Code 39 en las etiquetas de identificación de piezas. Las normas de AIAG y las especificaciones de fabricación automotriz todavía hacen referencia a Code 39 en algunos contextos para el seguimiento interno de piezas, aunque Code 128 ya está disponible.
Seguimiento de activos y equipos sanitarios (sistemas heredados). Algunos sistemas de seguimiento de activos hospitalarios y de equipos médicos instalados antes de que Code 128 se volviera predominante utilizan lectores de Code 39. Si el sistema instalado no se puede reconfigurar, las etiquetas Code 39 siguen siendo la única opción compatible.
Aplicaciones gubernamentales e industriales que requieren sencillez. Code 39 se autoverifica sin necesidad de un dígito de control obligatorio; su relación entre barras anchas y estrechas lo hace tolerante a las imperfecciones de la impresión matricial de puntos y por impacto, y prácticamente todos los lectores de códigos de barras que se han vendido pueden decodificarlo. Estas características lo convirtieron en el código de barras industrial predominante durante dos décadas y siguen haciendo de él una opción válida en entornos controlados donde esa base instalada todavía está en funcionamiento.
Cuándo NO utilizar Code 39 en nuevas implementaciones. Code 39 no es la opción moderna. Su conjunto de 43 caracteres no incluye letras minúsculas. Su estructura discreta —cada carácter está separado por un espacio entre caracteres— hace que ocupe más longitud física que Code 128 para los mismos datos. Una cadena numérica de 10 dígitos codificada en Code 128 Code Set C mide aproximadamente la mitad que la misma cadena en Code 39. Utilice Code 128 para cualquier sistema nuevo de etiquetado de almacén, envíos o uso general.
Requisitos de impresión para Code 39
Dimensión X. Utilice la mayor dimensión X que permita el espacio de la etiqueta. El espacio discreto entre caracteres de Code 39 añade longitud física, además de la correspondiente a los módulos de los caracteres, por lo que el símbolo ya es más largo que un código de barras continuo con datos equivalentes. Una dimensión X mayor mejora la fiabilidad de lectura, especialmente en sustratos impresos por transferencia térmica o 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 mudas. El símbolo debe tener una zona despejada de al menos 10X tanto en el extremo izquierdo como en el derecho. La zona muda forma parte de la norma; no es una recomendación. Cualquier elemento —borde, código de barras adyacente o texto— dentro de la zona muda hará que se identifique erróneamente el carácter de inicio o de parada.
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.
Sustrato. La tolerancia de la relación entre barras anchas y estrechas de Code 39 lo hace más adecuado para sustratos rugosos, como el cartón corrugado y los textiles ásperos, que los códigos con una relación menor. Históricamente, esta fue una de las razones por las que se adoptó en entornos industriales. Aun así, la impresión de alto contraste sobre un sustrato liso ofrece los resultados más fiables.
Solución de problemas: por qué no se escanea tu código de barras Code 39
Letra minúscula en los datos. El conjunto de caracteres nativo de Code 39 solo incluye letras mayúsculas. Las letras minúsculas requieren la codificación de desplazamiento Full ASCII Code 39. Si el generador acepta los datos, pero el lector no los reconoce, comprueba si está configurado para Full ASCII Code 39: los decodificadores estándar de Code 39 rechazarán las secuencias de desplazamiento por considerarlas no válidas.
Asterisco en los datos. El asterisco marca el inicio y el fin de Code 39 y no puede usarse como carácter de datos. Cualquier entrada que contenga un asterisco generará un símbolo no válido.
Relación entre barras anchas y estrechas distorsionada al cambiar la escala. Si la imagen PNG exportada se imprime a una resolución que modifica la cantidad de píxeles del módulo, la relación entre barras anchas y estrechas puede quedar fuera de la tolerancia de 1.8:1 a 3.4:1. Imprima con las dimensiones exactas en píxeles previstas o use la exportación SVG y cambie la escala de manera uniforme al imprimir.
Zona muda insuficiente. Si se coloca texto, bordes o etiquetas contiguas a menos de 10X de los extremos del símbolo, puede fallar la detección de inicio y fin. Deje la zona muda completa de 10X a ambos lados.
Dígito de control no coincidente. Si la configuración del sistema requiere un dígito de control módulo 43 y la etiqueta se imprimió sin él, el escáner rechazará símbolos que parecen válidos. A la inversa, si se incluye un dígito de control y el escáner está configurado para no verificarlo, el carácter de control aparecerá como un carácter adicional en la salida decodificada. Configure el dígito de control de la misma manera en el generador y en el escáner.
Altura de las barras demasiado baja. Una altura inferior a 5 mm o al 15 % del ancho del símbolo provoca fallos de lectura cuando, durante el escaneo manual, el haz láser pasa por debajo o por encima de las barras. Vuelva a imprimir el código con las barras más altas.
Code 39 versus Code 128
Code 39 y Code 128 son códigos de barras lineales alfanuméricos. Code 39 precedió a Code 128 y es más limitado en todos los aspectos técnicos. La comparación es pertinente porque muchos usuarios que buscan información sobre Code 39 mantienen sistemas heredados y deberían conocer la alternativa para futuros proyectos.
| Code 39 | Code 128 | |
|---|---|---|
| Estándar | 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 | si | Yes (via check character) |
| Active mandates | US DoD LOGMARS, some automotive | Warehouse, shipping, GS1-128 |
| Recommendation for new systems | No — use Code 128 | si |
Code 39 no está obsoleto: LOGMARS y algunas especificaciones del sector automotriz todavía lo exigen. Pero si está creando un nuevo sistema de etiquetado y ninguna normativa exige Code 39, Code 128 es la opción adecuada.
Uso de este código de barras en Baréin y las cadenas de suministro internacionales
Los minoristas, importadores, fabricantes y equipos de logística de Baréin deben ajustar los identificadores a las normas de sus socios comerciales. Los GTIN minoristas deben proceder de la organización emisora correspondiente; un generador crea la imagen del código, pero no asigna la titularidad. Las referencias internas de existencias y activos pueden utilizar valores definidos por la organización cuando el sistema receptor los admita.
Utiliza inglés británico en las instrucciones operativas cuando coincida con el estilo de tu organización, y añade instrucciones en árabe para los equipos que las necesiten. Imprime en las condiciones reales de uso. El calor, la luz intensa, el polvo, los envases curvos y el laminado reflectante de Baréin pueden revelar problemas de contraste o de superficie que no se aprecian en una pantalla.
Mantén despejadas las zonas de silencio, evita estirar la imagen y procura que las barras oscuras estén sobre un fondo claro y uniforme. Escanea muestras del inicio, la mitad y el final de la tirada. Para usos regulados en comercio minorista, atención médica, edición o logística, confirma las especificaciones vigentes de GS1, la agencia ISBN, el cliente o el sector antes de aprobar la producción.
Antes de imprimir
- Se ha seleccionado la simbología correcta
- Se ha confirmado la titularidad del identificador
- Se ha verificado el dígito de control
- Las zonas tranquilas se mantienen despejadas
- Fuerte contraste entre las barras
- Relación de aspecto sin cambios
- SVG o PNG de alta resolución
- Prueba del escáner de producción
Preguntas frecuentes
Abre una pregunta para leer una respuesta técnica concisa.
01¿Qué es un código de barras Code 39?+
El Código 39 es un código de barras lineal de longitud variable y autocomprobación definido en la norma ISO/IEC 16388:2023. También se conoce como Código 3 de 9 y Alpha39. Cada carácter consta de 9 elementos —5 barras y 4 espacios— de los cuales exactamente 3 son anchos. El conjunto de caracteres nativo abarca 43 caracteres: las mayúsculas A–Z, los dígitos del 0 al 9 y siete caracteres especiales. El asterisco sirve como delimitador obligatorio de inicio y fin.
02¿Qué caracteres puede codificar el código 39?+
El conjunto nativo de 43 caracteres del Código 39 abarca las mayúsculas de la A a la Z (26 letras), los dígitos del 0 al 9 (10) y siete caracteres especiales: espacio, guión, punto, signo del dólar, barra, signo más y signo de porcentaje. El Código 39 ASCII completo amplía la cobertura a los 128 caracteres ASCII mediante secuencias de cambio de dos caracteres, pero requiere que los escáneres estén configurados para admitir el modo ASCII completo.
03¿Se sigue utilizando el código 39?+
Sí. La norma LOGMARS del Departamento de Defensa de EE. UU. (basada en la norma MIL-STD-1189B) exige el uso del Código 39 para el marcado de piezas en la cadena de suministro de defensa. Los fabricantes de automóviles y sus proveedores utilizan el Código 39 en el seguimiento de piezas. Muchos sistemas heredados de gestión de almacenes y de activos sanitarios también siguen utilizándolo. No obstante, para cualquier nueva implantación que no cuente con una exigencia específica, el Código 128 es la simbología preferida.
04¿Cuál es la diferencia entre el Código 39 y el Código 128?+
El Código 128 (ISO/IEC 15417:2007) codifica los 128 caracteres ASCII, incluidas las letras minúsculas, y genera símbolos más cortos para datos equivalentes. El conjunto de códigos C del Código 128 codifica pares de dígitos en una sola palabra de código, lo que reduce aproximadamente a la mitad la longitud física de las cadenas numéricas. El Código 39 (ISO/IEC 16388:2023) codifica de forma nativa solo 43 caracteres, no admite minúsculas y ocupa más espacio para datos equivalentes. Utilice el Código 39 únicamente cuando así lo exija una normativa o un sistema heredado.
05¿El código 39 tiene un dígito de control?+
El dígito de control del Código 39 es opcional. El anexo A de la norma ISO/IEC 16388:2023 define un algoritmo módulo 43: se asigna a cada carácter un valor comprendido entre 0 y 42, se suman todos los valores, se divide el resultado entre 43 y el resto se asigna al carácter de control. Algunas aplicaciones incluyen el dígito de control; otras se basan exclusivamente en la estructura de autocomprobación del Código 39. Haga coincidir la configuración del dígito de control entre el generador de etiquetas y la configuración del escáner.
06¿Qué es el código de barras LOGMARS?+
LOGMARS (Aplicaciones logísticas de símbolos automatizados de marcado y lectura) es la norma del Departamento de Defensa de los Estados Unidos para el etiquetado con códigos de barras en la cadena de suministro de defensa, basada en la norma MIL-STD-1189B. LOGMARS especifica el Código 39 como la simbología de código de barras obligatoria para piezas, componentes y conjuntos. Los contratistas del sector de la defensa que realicen entregas al Departamento de Defensa deben aplicar etiquetas con el Código 39 conformes con LOGMARS a los artículos especificados.
07¿Puede el código 39 codificar letras minúsculas?+
No de forma nativa. El conjunto estándar de 43 caracteres incluye únicamente letras mayúsculas. El código 39 ASCII completo utiliza secuencias de cambio de dos caracteres para representar los 128 caracteres ASCII, incluidas las minúsculas, pero esto requiere escáneres configurados explícitamente para el modo ASCII completo. Los decodificadores estándar del código 39 no interpretarán correctamente las secuencias de cambio del código 39 ASCII completo.
08¿Cuál es la relación entre la anchura y la estrechez en el código 39?+
La norma ISO/IEC 16388:2023 especifica una relación nominal entre barras anchas y estrechas de 2,0:1 a 3,0:1. El intervalo de tolerancia es de 1,8:1 a 3,4:1. Una relación inferior a 1,8:1 dificulta la distinción entre los elementos anchos y estrechos. Un escalado no uniforme de la imagen del código de barras puede alterar la relación y situarla fuera de los límites de tolerancia, lo que provoca errores de lectura.
09¿Qué es el código ASCII completo 39?+
El Código 39 ASCII completo es una extensión del Código 39 que codifica los 128 caracteres ASCII mediante secuencias de dos caracteres. Los cuatro caracteres de desplazamiento —$; /; %; +— se combinan con otro carácter del Código 39 para representar los 85 caracteres ASCII que no se incluyen en el conjunto nativo de 43 caracteres. El Código 39 ASCII completo se define en la norma ISO/IEC 16388:2023. Los lectores ópticos deben configurarse explícitamente para decodificar secuencias ASCII completas; el modo estándar del Código 39 las leerá incorrectamente.
10¿Necesito una licencia de GS1 para utilizar el código 39?+
No. El Código 39 codifica datos alfanuméricos arbitrarios sin ningún requisito de licencia. Se puede utilizar sin restricciones para el etiquetado interno —marcado de piezas, etiquetas de activos, etiquetas de inventario— sin necesidad de registro ni autorización. Solo se requiere una licencia GS1 cuando los datos codificados incluyen un GTIN con licencia GS1 destinado a la venta al por menor o al uso en la cadena de suministro de GS1.