GS1-128 vs Code 128: ¿Cuál necesitas para tu negocio?
Se ven iguales, se escanean igual, pero NO son lo mismo
Si alguna vez buscaste información sobre códigos de barras para logística, seguramente te topaste con dos términos que parecen intercambiables: Code 128 y GS1-128. Se ven igual en la etiqueta. Usan la misma simbología visual. Un escáner lee ambos sin problema. Entonces, ¿cuál es la diferencia?
La diferencia es enorme — y confundirlos puede costarte un rechazo de mercancía en el centro de distribución de Walmart, un problema de trazabilidad en tu cadena de suministro o una multa por incumplimiento normativo en la industria alimentaria o farmacéutica.
En esta guía te explico, en lenguaje claro y con ejemplos reales del mercado LATAM, qué es Code 128, qué es GS1-128, en qué se diferencian, cuándo usar cada uno y cómo generar etiquetas correctas para tu negocio.
¿Qué es Code 128?
Code 128 es una simbología de código de barras lineal (1D) desarrollada en 1981. Es una de las simbologías más versátiles y utilizadas en el mundo por su capacidad de codificar:
- Todos los caracteres ASCII (letras mayúsculas, minúsculas, números, símbolos)
- Alta densidad de datos en poco espacio
- Auto-verificación con dígito de control incluido
Características técnicas de Code 128
| Propiedad | Valor |
|---|---|
| Tipo | Lineal (1D) |
| Caracteres soportados | ASCII completo (128 caracteres) |
| Longitud | Variable (sin límite práctico) |
| Subconjuntos | Code 128-A, 128-B, 128-C |
| Dígito de verificación | Módulo 103 (automático, incluido en las barras) |
| Densidad | Alta (más compacto que Code 39) |
| Uso principal | Uso general: envíos, inventario interno, manufactura |
Los 3 subconjuntos de Code 128
Code 128 tiene tres subconjuntos que determinan qué caracteres puede codificar:
| Subconjunto | Caracteres | Uso típico |
|---|---|---|
| Code 128-A | Mayúsculas, números, caracteres de control | Aplicaciones industriales, números con caracteres especiales |
| Code 128-B | Mayúsculas, minúsculas, números, símbolos | Texto general (el más versátil) |
| Code 128-C | Solo pares de dígitos numéricos (00–99) | Números largos — el más compacto para datos numéricos puros |
💡 Dato útil: Un buen generador de código de barras selecciona automáticamente el subconjunto óptimo e incluso combina subconjuntos dentro del mismo código para lograr la representación más compacta posible.
¿Dónde se usa Code 128?
Code 128 "genérico" (sin estructura GS1) se usa para:
- Inventario interno: Etiquetas de estantería, ubicaciones de almacén, códigos de activo
- Envíos y paquetería: Números de guía, identificación de bultos
- Manufactura: Etiquetas de proceso, tracking de piezas
- Control de acceso: Tarjetas de identificación, badges
- Cualquier aplicación interna donde tú defines el formato del dato
La clave: con Code 128 genérico, tú decides qué significa cada código. No hay un estándar externo que diga cómo interpretar los datos.
¿Qué es GS1-128?
GS1-128 (anteriormente llamado EAN-128 o UCC-128) es una aplicación estandarizada de Code 128 definida por la organización GS1. Usa la misma simbología visual que Code 128, pero le agrega una capa de significado estandarizado mediante los Identificadores de Aplicación (AI).
Piensa en ello así:
- Code 128 = el idioma (las letras y la gramática)
- GS1-128 = una conversación con vocabulario definido (las palabras tienen significados específicos que todo el mundo entiende)
¿Qué son los Identificadores de Aplicación (AI)?
Los AI son prefijos numéricos entre paréntesis que le dicen al sistema receptor qué tipo de dato viene a continuación. Son el "diccionario" del GS1-128.
| AI | Significado | Formato | Ejemplo |
|---|---|---|---|
| (00) | SSCC (código de contenedor) | 18 dígitos numéricos | (00)375012345670000018 |
| (01) | GTIN (código de producto) | 14 dígitos numéricos | (01)07501234567890 |
| (10) | Número de lote | Alfanumérico, hasta 20 caracteres | (10)LOTE2026A |
| (11) | Fecha de producción | AAMMDD | (11)260115 |
| (13) | Fecha de empaque | AAMMDD | (13)260120 |
| (15) | Fecha de mejor consumo | AAMMDD | (15)260615 |
| (17) | Fecha de vencimiento | AAMMDD | (17)260630 |
| (21) | Número de serie | Alfanumérico, hasta 20 caracteres | (21)SN123456 |
| (37) | Cantidad de unidades | Numérico, hasta 8 dígitos | (37)200 |
| (310n) | Peso neto en kg | 6 dígitos con n decimales | (3103)001500 = 1.500 kg |
| (400) | Número de orden de compra | Alfanumérico, hasta 30 caracteres | (400)OC-2026-0042 |
Ejemplo real de una etiqueta GS1-128
Imagina que eres un proveedor de alimentos que envía un pallet a Walmart México. Tu etiqueta logística GS1-128 podría contener:
(00)087654321012345675 ← SSCC del pallet
(01)07501234567890 ← GTIN del producto
(10)LOTE-2026-A ← Número de lote
(17)260630 ← Vencimiento: 30 de junio 2026
(37)200 ← 200 unidades en el pallet
Cuando el operador del CEDIS escanea esta etiqueta, su sistema automáticamente sabe:
- Quién envía (el prefijo GS1 del SSCC identifica a tu empresa)
- Qué contiene (el GTIN identifica el producto exacto)
- Cuánto hay (la cantidad de unidades)
- De qué lote proviene (trazabilidad)
- Cuándo vence (gestión de inventario FEFO — First Expired, First Out)
Todo eso en un solo escaneo. Sin captura manual, sin errores humanos, sin demoras.
Características técnicas de GS1-128
| Propiedad | Valor |
|---|---|
| Simbología base | Code 128 (usa el carácter especial FNC1 como indicador) |
| Estructura | Prefijo FNC1 + AI(s) + datos |
| Longitud | Variable (según los AIs incluidos) |
| Estándar | GS1 General Specifications |
| Dígito de verificación | Módulo 103 (Code 128) + validación por AI |
| Uso principal | Logística, cadena de suministro, retail, salud, alimentos |
Las diferencias clave: GS1-128 vs Code 128
Ahora sí, la comparación directa:
| Aspecto | Code 128 | GS1-128 |
|---|---|---|
| Simbología visual | Code 128 | Code 128 (idéntica) |
| Estándar | ISO/IEC 15417 | GS1 General Specifications |
| Estructura de datos | Libre (tú defines el formato) | Estandarizada (AIs de GS1) |
| Carácter FNC1 | No requerido | Obligatorio (indica que es GS1-128) |
| Identificadores de Aplicación | No usa | Obligatorios |
| Interoperabilidad | Solo dentro de tu sistema | Universal (cualquier empresa del mundo) |
| Validación | Ninguna estándar | Validación por AI (formato, longitud, dígitos) |
| Uso típico | Interno, privado | Cadena de suministro, inter-empresas |
| Requerido por retailers | No | Sí (Walmart, Cencosud, Liverpool, etc.) |
| Administrado por | Nadie (estándar abierto) | GS1 (organización global) |
| Necesita membresía GS1 | No | Sí (para obtener prefijo GS1) |
La analogía más clara
- Code 128 es como escribir una dirección postal en un sobre en el formato que tú quieras. Funciona para entregas informales, pero el cartero podría confundirse.
- GS1-128 es como escribir la dirección en el formato estandarizado del servicio postal (calle, número, colonia, código postal, ciudad, estado). Cualquier oficina postal del mundo la entiende.
¿Cuándo usar Code 128 genérico?
Usa Code 128 sin estructura GS1 cuando:
1. Es para uso interno de tu empresa
Etiquetas de inventario en tu almacén, códigos de ubicación de estantería, identificación de activos fijos, badges de empleados. Si la información solo la lee tu sistema, no necesitas seguir el estándar GS1.
Ejemplo: Una maquiladora en Monterrey etiqueta sus moldes con Code 128:
MOLDE-CNC-047
Solo su sistema interno sabe qué significa. Y está bien — no necesita comunicarlo a nadie externo.
2. Codificas texto alfanumérico libre
Code 128 soporta letras, números y símbolos. Si necesitas codificar un dato como PEDIDO-2026-MX-1042 o RACK-A3-NIVEL-2, Code 128 es perfecto.
3. No tienes membresía GS1
Si eres un negocio pequeño que aún no está afiliado a GS1 y no vendes a retailers que lo exigen, puedes usar Code 128 para tu operación interna sin problema.
4. La etiqueta es temporal y de proceso
Etiquetas de producción que se retiran al final del proceso, tickets de turno, controles de calidad. No necesitan interoperabilidad.
¿Cuándo usar GS1-128?
Usa GS1-128 cuando:
1. Un retailer te lo exige
Esta es la razón #1. Los grandes retailers de LATAM requieren etiquetas GS1-128 en sus unidades logísticas:
| Retailer | País | ¿Exige GS1-128? | ¿Qué AIs requiere? |
|---|---|---|---|
| Walmart / Walmex | México | ✅ | (00) SSCC, (01) GTIN, (10) Lote, (17) Vencimiento |
| Costco | México | ✅ | (00) SSCC, (01) GTIN |
| Chedraui | México | ✅ | (00) SSCC, (01) GTIN, (37) Cantidad |
| HEB | México | ✅ | (00) SSCC + información variable |
| Liverpool | México | ✅ | (00) SSCC, (01) GTIN |
| Cencosud | Chile, Argentina, Perú, Colombia | ✅ | (00) SSCC, (01) GTIN, (10) Lote |
| Falabella | Chile, Perú, Colombia | ✅ | (00) SSCC, (01) GTIN |
| Grupo Éxito | Colombia | ✅ | (00) SSCC, (01) GTIN, (17) Vencimiento |
| Coto | Argentina | ✅ | (00) SSCC |
📦 Para aprender a generar el código SSCC (AI 00), consulta nuestra guía completa del código SSCC.
2. Necesitas trazabilidad de lote o vencimiento
Si vendes alimentos, bebidas, farmacéuticos o cualquier producto con fecha de caducidad, el GS1-128 te permite incluir:
- Número de lote (AI 10)
- Fecha de producción (AI 11)
- Fecha de vencimiento (AI 17)
- Número de serie (AI 21)
Esto no es un "nice-to-have" — en muchos países de LATAM es un requisito regulatorio para trazabilidad sanitaria.
3. Participas en una cadena de suministro multi-empresa
Cuando tu mercancía pasa por manos de operadores logísticos, centros de distribución y puntos de venta de terceros, necesitas un "idioma común" que todos entiendan. GS1-128 es ese idioma.
4. Necesitas codificar peso variable
Productos que se venden por peso (carne, quesos, frutas, embutidos) necesitan el peso exacto codificado en el código de barras. Los AIs de peso (310n, 320n) en GS1-128 son la forma estandarizada de hacerlo.
5. Exportas productos
Los importadores en EE.UU., Europa y Asia generalmente exigen etiquetas GS1-128 en las unidades logísticas. Es el estándar global de la cadena de suministro.
¿Cómo se ve cada uno en una etiqueta?
Etiqueta con Code 128 genérico
┌──────────────────────────────────┐
│ │
│ ████████████████████████████ │
│ █ ██ █ ██ █ ████ █ █████ ██ │
│ ████████████████████████████ │
│ │
│ INV-2026-04587 │
│ │
│ Estantería: B-12, Nivel 3 │
│ Artículo: Widget XR-200 │
└──────────────────────────────────┘
→ Solo tu sistema sabe qué significa "INV-2026-04587"
→ No incluye AIs
→ Formato libre
Etiqueta logística con GS1-128
┌──────────────────────────────────────────┐
│ DE: Alimentos del Norte SA de CV │
│ PARA: Walmart CEDIS Cuautitlán │
│ │
│ ████████████████████████████████████ │
│ █ ██ █ ██ █ ████ █ █████ ██ █ ████ │
│ ████████████████████████████████████ │
│ │
│ (00) 0 8765432101 234567 5 │
│ │
│ ████████████████████████████████████ │
│ █ ██ █ ██████ █ ███ █ █ ██ █ █████ │
│ ████████████████████████████████████ │
│ │
│ (01) 07501234567890 │
│ (10) LOTE-2026-A (17) 260630 │
│ (37) 200 │
│ │
│ Producto: Galletas María 500g │
│ Cantidad: 200 cajas │
│ Vencimiento: 30/06/2026 │
└──────────────────────────────────────────┘
→ Cualquier sistema GS1 del mundo sabe interpretar esta etiqueta
→ Cada dato está identificado por su AI
→ Estructura estandarizada
El error que más se comete: usar Code 128 donde se necesita GS1-128
Este es el error más frecuente entre proveedores de LATAM que empiezan a vender a retailers:
Lo que hacen: Generan un código Code 128 con el texto "00375012345670000018" (lo que parece un SSCC).
El problema: Ese código NO incluye el carácter FNC1 que indica al escáner que se trata de un GS1-128. El sistema del retailer lo lee como texto genérico, no lo puede interpretar como SSCC y rechaza la mercancía.
La solución: Usar un generador que produzca GS1-128 verdadero con el FNC1 correctamente codificado y los AIs estructurados según el estándar GS1.
⚠️ La diferencia es invisible a simple vista. Un Code 128 con "00375012345670000018" y un GS1-128 con "(00)375012345670000018" se ven idénticos en la etiqueta impresa. La diferencia está en los caracteres de control internos del código de barras. Solo un generador profesional los incluye correctamente.
Cómo generar cada tipo correctamente
Para Code 128 genérico
- Puedes usar cualquier generador de código de barras online
- Ingresa el texto que quieras codificar
- No necesitas membresía GS1
- No hay restricciones de formato
Para GS1-128
- Necesitas un prefijo GS1 (membresía en GS1 de tu país)
- Usa un generador que soporte Identificadores de Aplicación (AI)
- El generador debe incluir el carácter FNC1 automáticamente
- Debes seleccionar los AIs correctos para tu caso de uso
- Los datos deben cumplir con el formato de cada AI (longitud, tipo, dígitos de verificación)
💡 Nuestro generador de etiquetas GS1 crea etiquetas GS1-128 con todos los AIs estándar, FNC1 incluido automáticamente y validación de formato para cada AI. No tienes que preocuparte por los detalles técnicos.
Tabla resumen: ¿Cuál elijo?
| Tu situación | ¿Qué necesitas? | ¿Code 128 o GS1-128? |
|---|---|---|
| Etiquetas internas de almacén | Code 128 | ✅ Code 128 genérico |
| Vender a Walmart, Costco, Liverpool, Cencosud | GS1-128 con SSCC | ✅ GS1-128 |
| Etiquetas de inventario con SKU propio | Code 128 | ✅ Code 128 genérico |
| Exportar productos a EE.UU./Europa | GS1-128 con GTIN + lote | ✅ GS1-128 |
| Productos con fecha de vencimiento | GS1-128 con AI (17) | ✅ GS1-128 |
| Números de serie / trazabilidad | GS1-128 con AI (21) | ✅ GS1-128 |
| Etiquetar cajas de envío internas | Code 128 | ✅ Code 128 genérico |
| Producto de peso variable (carne, queso) | GS1-128 con AI (310n) | ✅ GS1-128 |
| Etiqueta de proceso en producción | Code 128 | ✅ Code 128 genérico |
| Pallet a centro de distribución | GS1-128 con SSCC (AI 00) | ✅ GS1-128 |
Genera tu etiqueta GS1-128 o Code 128 ahora
Ya sabes cuál necesitas. Ahora genera tu etiqueta correctamente desde el primer intento.
Nuestro generador de etiquetas soporta:
- ✅ Code 128 genérico para uso interno (texto libre)
- ✅ GS1-128 con todos los Identificadores de Aplicación estándar
- ✅ FNC1 incluido automáticamente (el carácter que los retailers exigen)
- ✅ SSCC con validación de 18 dígitos y Módulo 10
- ✅ Formato de etiqueta logística listo para imprimir en cualquier impresora térmica
- ✅ Exportación en PDF y SVG para máxima calidad de impresión
👉 Genera tu etiqueta GS1-128 gratis — con FNC1 y AIs correctos →
Preguntas frecuentes (FAQ)
¿GS1-128 y EAN-128 son lo mismo?
Sí. EAN-128 era el nombre anterior de GS1-128. Se renombró en 2005 cuando las organizaciones EAN International y UCC (Uniform Code Council) se fusionaron para formar GS1. Si alguien te pide una "etiqueta EAN-128", te está pidiendo una etiqueta GS1-128.
¿Un escáner puede diferenciar entre Code 128 y GS1-128?
Sí, si el escáner está configurado para detectar el carácter FNC1. Los escáneres de punto de venta y logística modernos detectan automáticamente la presencia de FNC1 y procesan los AIs de GS1. Un escáner básico leerá ambos como texto plano sin interpretar los AIs.
¿Puedo usar GS1-128 para productos individuales en lugar de EAN-13?
No se recomienda. El GS1-128 está diseñado para unidades logísticas (cajas, pallets, contenedores), no para productos individuales en punto de venta. Para productos individuales, usa EAN-13 o UPC-A. La excepción son productos de peso variable en punto de venta, donde se usa GS1-128 con AIs de peso.
¿Cuánto cuesta generar códigos GS1-128?
El código en sí no tiene costo individual. Necesitas:
- Membresía GS1 (anual): desde ~$2,500 MXN en México, similar en otros países de LATAM
- Generador de etiquetas: desde gratuito (como el nuestro) hasta software empresarial de varios miles de dólares
- Etiquetas e impresión: según tu volumen
¿Qué pasa si uso Code 128 donde el retailer pide GS1-128?
Tu mercancía será rechazada en el centro de distribución. El sistema del retailer no podrá interpretar los datos del código porque falta el FNC1 y la estructura de AIs. Generalmente recibes una notificación de "etiqueta no conforme" y debes corregir y reenviar — con los costos y retrasos que eso implica.
¿GS1-128 puede codificar más de un dato en el mismo código de barras?
Sí. Esa es precisamente su ventaja. Puedes incluir múltiples AIs en un solo código de barras GS1-128. Por ejemplo: (01)07501234567890(10)LOTE-A(17)260630 codifica GTIN + lote + vencimiento en una sola lectura. Los AIs de longitud variable se separan con el carácter FNC1 internamente.
¿Puedo generar GS1-128 desde Excel?
Es técnicamente posible con macros VBA y fuentes especiales, pero no es recomendable para producción. El carácter FNC1 no se puede representar con una fuente normal de teclado, y la estructura de AIs requiere validación especializada. Usa un generador profesional. Si quieres organizar tus datos en Excel antes de generar, consulta nuestra guía de códigos de barras desde Excel.
¿Qué AI necesito para mi caso?
Depende de tu producto y tu retailer:
- Logística básica: AI (00) para SSCC + AI (01) para GTIN
- Alimentos: Agrega AI (10) lote + AI (17) vencimiento
- Peso variable: Agrega AI (310n) peso neto
- Farmacéuticos: Agrega AI (21) número de serie + AI (17) vencimiento
- Consulta el manual de proveedor de tu retailer para los AIs específicos que requiere.
Conclusión
La confusión entre Code 128 y GS1-128 es uno de los errores más comunes — y más costosos — en la cadena de suministro de LATAM. Ahora ya sabes:
- Code 128 = simbología base, formato libre, para uso interno
- GS1-128 = aplicación estandarizada de Code 128, con AIs, para cadena de suministro
- Si un retailer te pide GS1-128, no puedes sustituirlo con un Code 128 genérico
- La diferencia crítica (FNC1) es invisible a simple vista pero detectable por el escáner
- Siempre usa un generador profesional que incluya FNC1 y valide los AIs
La etiqueta correcta = entrega aceptada. La etiqueta incorrecta = rechazo, retrasos y costos. No hay término medio.
👉 Genera etiquetas GS1-128 validadas — gratis →
¿Te resultó útil esta explicación? Compártela con tu equipo de logística y tus proveedores. Mientras más personas en la cadena entiendan la diferencia entre GS1-128 y Code 128, menos rechazos habrá para todos.