Home · Compare · Code 128 vs Code 39: ¿qué formato deberías usar?
Code 128 vs Code 39: ¿qué formato deberías usar?
Dos códigos de barras 1D industriales con usos similares pero capacidades muy distintas. Aquí está la explicación práctica.
Code 128 y Code 39 son ambos códigos de barras 1D de longitud variable usados para aplicaciones no-retail: etiquetas de envío, etiquetas de inventario, brazaletes hospitalarios, seguimiento de activos y números de serie internos. No se usan para identificación de producto retail (eso es territorio de UPC/EAN).
Versión corta: Code 128 es el estándar moderno y casi siempre la respuesta correcta para nuevos sistemas. Code 39 es la opción heredada que aún encontrarás en piezas de automoción, defensa, bibliotecas y sistemas industriales antiguos sin actualizar.
Bottom line
Para cualquier proyecto nuevo, usa Code 128 — es más denso, soporta ASCII completo (incluidas minúsculas y símbolos) y tiene checksum integrado. Usa Code 39 solo si te estás integrando con un sistema legacy que lo requiera específicamente.
Code 128 vs Code 39: side-by-side
| Code 128 | Code 39 | |
|---|---|---|
| Conjunto de caracteres | ASCII completo (128 caracteres, incluidas minúsculas y símbolos) | 43 caracteres (mayúsculas A-Z, 0-9, y -. $/+%) |
| Densidad de datos | Alta — barras y espacios estrechos, ~30% más pequeño para los mismos datos | Menor — cada carácter tiene 9 barras/espacios anchos |
| Checksum | Obligatorio (mod 103) | Opcional (mod 43) |
| Usos comunes | Envíos (UPS, FedEx, USPS, Correos), FNSKU de Amazon, GS1-128 con AI, brazaletes sanitarios | Catálogos de piezas de automoción, defensa (DoD), bibliotecas, tickets de fotorrevelado |
| Longitud variable | Sí | Sí |
| Escaneable con smartphone | Sí (todo escáner basado en cámara) | Sí (todo escáner basado en cámara) |
| Año de introducción | 1981 | 1974 |
| Estandarizado por GS1 | Sí (como GS1-128 con Application Identifier) | No |
Cómo distinguirlos a simple vista
Indicador visual: Code 39 SIEMPRE empieza y termina con un asterisco (*) impreso en el texto legible debajo del código. Code 128 no. Además, las barras y espacios de Code 39 se ven más uniformes y anchos; los de Code 128 varían mucho en grosor y parecen más densos. Si el texto legible contiene letras minúsculas o caracteres especiales más allá de `-. $/+%`, es seguramente Code 128 — Code 39 no puede codificarlos.
Por qué Code 128 domina los sistemas modernos
Tres razones. Primera, densidad: Code 128 codifica los mismos datos en un 30%+ menos de espacio físico, importante en etiquetas pequeñas de envío y pegatinas de unidad de venta. Segunda, conjunto de caracteres: Code 128 gestiona minúsculas, caracteres especiales y todo el ASCII, mientras que Code 39 es solo mayúsculas. Tercera, estandarización GS1: Code 128 es la base de GS1-128, que incorpora Application Identifiers como (01) para GTIN, (10) para lote, (17) para caducidad — la columna vertebral de la trazabilidad de cadena de suministro.
Dónde sobrevive Code 39
Code 39 sobrevive en catálogos de piezas de automoción (donde cada código es alfanumérico en mayúsculas, adecuado al conjunto Code 39), logística del Department of Defense de EE. UU. (Code 39 es obligatorio por especificación militar), algunos sistemas de catalogación bibliotecaria y configuraciones industriales antiguas de inventario construidas en los años 80-90. Si te integras con uno de esos sistemas, usa Code 39. Si no, usa Code 128.
FAQ
¿Cómo sé si un código es Code 128 o Code 39?
Code 39 muestra siempre asteriscos (*) al inicio y final del texto legible debajo del código. Code 128 no los tiene. Además: si ves letras minúsculas o caracteres especiales (más allá de -. $/+%), debe ser Code 128 — Code 39 no puede codificarlos.
¿Cuál es la diferencia entre Code 128 y Code 39?
Code 128 soporta el conjunto ASCII completo de 128 caracteres y es mucho más denso (más pequeño para los mismos datos). Code 39 soporta solo 43 caracteres (mayúsculas) y produce códigos más anchos y menos densos. Code 128 tiene checksum obligatorio; el de Code 39 es opcional. Code 128 es el estándar moderno; Code 39 vive principalmente en sistemas legacy.
¿Code 39 se sigue usando hoy?
Sí, pero principalmente en aplicaciones legacy: catálogos de piezas de automoción, logística del Department of Defense de EE. UU., algunas bibliotecas, y sistemas industriales antiguos de inventario. Para nuevos proyectos, Code 128 es casi siempre la elección correcta.
¿Sigue usándose Code 128 ampliamente?
Code 128 es el código de barras 1D moderno dominante. Se usa en etiquetas de envío de UPC, FedEx, USPS y Correos, en cada etiqueta FNSKU de Amazon FBA, en códigos GS1-128 de cadena de suministro (con Application Identifiers para lote, caducidad, serie), en brazaletes de pacientes hospitalarios y en la mayoría de despliegues modernos de seguimiento de activos.
¿Es Code 128 mejor que Code 39?
Para aplicaciones nuevas, sí — Code 128 es más compacto, soporta más caracteres (incluidas minúsculas) y es necesario para cumplimiento de GS1-128 en cadena de suministro. Code 39 solo es 'mejor' cuando estás obligado a integrar con un sistema que lo requiere (algunas especificaciones militares y legacy industrial).
Related generators
Generate the right format now
Now that you know which one you need — render a valid barcode in seconds. No signup, no watermark, valid GS1 check digit. Free for casual use; paid plans from $9/mo.