zplCloud Blog
GS1 Sunrise 2027: códigos de barras 2D en la caja – lo que necesitan ahora las etiquetas ZPL
A finales de 2027, las cajas del comercio minorista de todo el mundo deberían leer GS1 DataMatrix y códigos QR con GS1 Digital Link. El EAN-13 se mantiene. Cada regla con su fuente, ejemplos ZPL probados para ^BQ y ^BX y una forma de migrar automáticamente las plantillas existentes.
A finales de 2027 la caja aprende a leer 2D
A finales de 2027, los escáneres de caja del comercio minorista de todo el mundo deberían leer, además de EAN/UPC, tres códigos de barras 2D: GS1 DataMatrix, código QR con GS1 Digital Link y Data Matrix con GS1 Digital Link. GS1 US lo llama «Sunrise 2027»; GS1 a nivel global, «Ambition 2027». El EAN-13 se mantiene y nadie está obligado a imprimir un código 2D. Si añade uno, va junto al código de barras lineal, con el mismo GTIN, y sigue las reglas de dimensión X, zona de silencio y ubicación de las GS1 General Specifications. Este artículo recoge cada regla con su fuente y ofrece ejemplos ZPL probados para ^BQ y ^BX, una etiqueta antes/después y una forma de comprobar y migrar automáticamente las plantillas existentes.
En resumen: 2027 es un objetivo para los escáneres del comercio minorista, no una fecha de retirada del EAN. Durante la transición, el código 2D se añade al envase, nunca sustituye al código de barras lineal. En ZPL a 203 dpi, eso significa: tamaño de módulo de 4 a 7 puntos, zona de silencio de 4 módulos alrededor del código QR y no más de 50 mm desde el centro del EAN.
Qué es Sunrise 2027 y qué no es
La formulación más clara está en la página de GS1 sobre la preparación de los escáneres: la industria se ha fijado el objetivo de que, a finales de 2027, todos los sistemas de punto de venta (POS) del comercio minorista sean capaces de leer y procesar un conjunto definido de códigos de barras 2D con estándares GS1, además de los códigos de barras lineales existentes. La guía de implementación global (Release 1.1.0, diciembre de 2025) concreta el mínimo: el POS debe identificar y decodificar el GTIN de cualquier código de barras lineal o 2D conforme a GS1, emitir un solo pitido y transmitir ese único GTIN. Es el modo de escaneo 1, el requisito mínimo para 2027.
Para la caja están aprobados exactamente tres códigos de barras 2D:
| Código de barras 2D | Contenido (sintaxis) | Identificador de simbología |
|---|---|---|
| GS1 DataMatrix | Sintaxis de cadena de elementos GS1 con FNC1, p. ej. (01)…(17)…(10)… | ]d2 |
| Código QR con GS1 Digital Link | Dirección web según la sintaxis de URI de GS1 Digital Link | ]Q1 |
| Data Matrix con GS1 Digital Link | Dirección web según la sintaxis de URI de GS1 Digital Link | ]d1 |
Lo que Sunrise 2027 no significa:
- El EAN-13 no desaparece. La guía global indica que los códigos de barras lineales como EAN/UPC y GS1 DataBar «no desaparecerán y coexistirán con los códigos de barras 2D mientras sigan teniendo usos». GS1 Germany, GS1 Austria y GS1 Switzerland dicen lo mismo.
- Nadie tiene que imprimir un código 2D en 2027. GS1 Germany afirma que las empresas que quieran seguir con el código de barras lineal no necesitan añadir un código 2D. GS1 US subraya que «no es necesario implementar todas las capacidades del 2D para esa fecha».
- El 2D todavía no sustituye al código de barras lineal. GS1 General Specifications 26.0, sección 4.15.4: un GS1 DataMatrix, un código QR o un Data Matrix con Digital Link debe (SHALL) utilizarse además del EAN/UPC o del GS1 DataBar. La guía fija el umbral: solo cuando el 90 % de las soluciones de escaneo en el POS puedan procesar códigos de barras 2D conformes a GS1 se podrá prescindir del código lineal. No hay fecha para ello.
- No es una ley. GS1 desarrolla estándares de adopción voluntaria. Las obligaciones solo surgen de los requisitos de los distribuidores o de una regulación propia, por ejemplo en el sector sanitario.
Un PDF de preguntas frecuentes más antiguo de GS1 Germany (de noviembre de 2022) todavía decía que a partir de 2028 los propietarios de marca elegirían entre el EAN y un código 2D. Los textos actuales vinculan la retirada del código lineal al umbral del 90 %, no a un año. La referencia son las General Specifications 26.0 y la guía 1.1.
Calendario e hitos
| Cuándo | Qué | Fuente |
|---|---|---|
| 2021 | Decisión de la Asamblea General global de GS1 sobre la migración a 2D en el POS | GS1 Switzerland, FAQ |
| Feb. 2022 | Guía en alemán «Migration auf 2D Codes am POS», edición 1.1 (GS1 AT y GS1 DE) | GS1 Austria |
| Nov. 2025 | Traducción alemana de la guía de implementación, edición 1.1 | GS1 Germany |
| Dic. 2025 | 2D Barcodes at Retail Point-of-Sale Implementation Guideline, Release 1.1.0 | GS1 |
| Ene. 2026 | GS1 General Specifications Release 26.0 con la tabla 5-46 para 2D en el POS | GS1 |
| Jul. 2026 | Documento de posición 2.0.0: un único código de barras 2D para marcas de distribuidor y productos etiquetados en tienda | GS1 |
| Ago. 2026 | GS1 Digital Link URI Syntax 1.7.0 | GS1 |
| Finales de 2027 | Objetivo: el POS lee el GTIN de los tres códigos de barras 2D (al menos modo 1) | GS1 |
| Después | Solo 2D en productos de marca, no antes de que el 90 % de las soluciones de escaneo en el POS sean compatibles con 2D | Guía GS1 1.1, sección 4.1 |
GS1 mantiene una lista actualizada de forma continua en la que los fabricantes de escáneres, verificadores, impresoras y software de códigos de barras informan de su estado respecto a los criterios «2D capable»; en el momento de redactar este artículo, su fecha era el 8 de octubre de 2026. Entre los fabricantes de impresoras que figuran en ella están Zebra y TSC.
Situación por regiones: EE. UU., DACH y el resto del mundo
Estados Unidos. GS1 US trata el tema como «Sunrise 2027» y recomienda un enfoque gradual en tres fases (crawl, walk, run). Para las marcas: añadir códigos de barras 2D a los envases existentes y actualizar los códigos QR existentes a GS1 Digital Link con el GTIN; después, añadir datos como variantes y fechas de producción o de caducidad; por último, usar el 2D para la interacción con el consumidor. Para los distribuidores: instalar escáneres compatibles con Sunrise que lean 2D y extraigan el GTIN en el POS; después, añadir 2D a las marcas propias; por último, optimizar la seguridad, la trazabilidad y el inventario. En una encuesta a consumidores de GS1 US de 2025, el 79 % afirmó que es más probable que compre productos con un código QR escaneable que ofrezca información adicional del producto.
Alemania. GS1 Germany califica el doble marcado durante la transición de «in der Regel sinnvoll beziehungsweise erforderlich» (por lo general conveniente o necesario), porque todavía no todos los sistemas de caja procesan 2D. Menciona a dm y Beiersdorf como el primer caso en el POS. Una lista de control de 5 puntos de GS1 Germany aconseja empezar con un caso de uso y un grupo de productos, y probar con regularidad la impresión, la escaneabilidad y la integración de sistemas.
Austria. GS1 Austria indica que los códigos 2D complementarán al código de barras lineal clásico, no lo sustituirán, y que durante la fase de transición actual se requiere un código de barras 1D junto al código 2D. Los códigos 2D solo pueden leerlos escáneres basados en imagen; los escáneres láser clásicos no.
Suiza. GS1 Switzerland afirma que los códigos de barras EAN/UPC seguirán en el comercio minorista mucho después de 2027. Sobre la tecnología de caja, señala que la mayoría de los sistemas de punto de venta en Suiza ya pueden escanear códigos 2D y que a menudo basta con una actualización de software.
Otras regiones. GS1 señala que la transición avanza de forma progresiva y con calendarios distintos en todo el mundo. Entre sus casos de estudio figuran Woolworths en Australia, la tienda delicatessen Parla Deli en Brasil y 7-Eleven en Tailandia.
A quién afecta
| Quién | Qué hacer |
|---|---|
| Propietarios de marca | Decidir si se añade un código de barras 2D, cuál y en qué productos, definir el dominio de Digital Link, adaptar envases y etiquetas. |
| Distribuidores | Configurar el software del escáner en uno de los modos 1 a 3, preparar el software del POS para datos adicionales, un solo pitido por artículo cuando haya dos códigos de barras. |
| Impresión de etiquetas e IT | Plantillas ZPL, etiquetas de balanza y de productos frescos, resolución de impresora, fuentes de datos para lote y fechas. |
| Proveedores de software e impresoras | Criterios GS1 «2D capable»: ]d2, ]d1, ]Q1, dimensión X, zona de silencio y calidad de impresión según las tablas de especificación de símbolos. |
| Sector sanitario y farmacéutico | Sigue con GS1 DataMatrix, ver más abajo. |
Los productos etiquetados en tienda son la palanca más rápida. El documento de posición de GS1 de julio de 2026 menciona los productos de charcutería y panadería y las marcas de distribuidor como ámbitos en los que un distribuidor ya puede trabajar con un único código de barras 2D, porque controla él mismo la etiqueta, el escáner y el POS. El requisito es, como mínimo, el modo de escaneo 2. Estas etiquetas suelen salir de balanzas e impresoras de etiquetas, con frecuencia en ZPL.
Sector sanitario. Aquí el sector eligió ya a principios de los años 2000 GS1 DataMatrix como único código de barras 2D; según la guía, también es el código de barras 2D preferido para los productos sanitarios que se escanean en la caja del comercio minorista. En el sector sanitario, GS1 Digital Link no se codifica en un código de barras 2D. En EE. UU., la FDA exige para los productos sanitarios un UDI compuesto por un identificador de dispositivo y un identificador de producción (lote, número de serie, fecha de caducidad o de fabricación), en texto legible y en formato legible por máquina. Para los medicamentos con receta, la DSCSA prescribe un identificador de producto (un número basado en el NDC con número de serie, lote y fecha de caducidad), que figura en el envase en un código de barras 2D Data Matrix. Sunrise 2027 no cambia ninguna de estas obligaciones.
Qué aporta el 2D en la caja
El EAN-13 solo contiene el GTIN. Un código de barras 2D puede contener además el lote, la fecha de caducidad o de consumo preferente y el número de serie. Entre los casos de uso que enumera la guía de GS1:
- Bloquear la venta de productos caducados en la caja, porque la fecha de caducidad está en el código de barras.
- Retiradas selectivas a nivel de lote en lugar de productos completos.
- Menos desperdicio alimentario y rebajas automáticas en función de la fecha. Según GS1 Germany, Woolworths informa de hasta un 40 % menos de desperdicio alimentario.
- Información para el consumidor: un código QR con GS1 Digital Link abre una página web con la cámara normal del móvil y, al mismo tiempo, se escanea en la caja.
- Pasaporte digital de producto: según la Comisión Europea, un soporte de datos como un código QR vincula el producto físico con su DPP; para determinadas baterías, el DPP será obligatorio el 18 de febrero de 2027, y los actos delegados para textiles, aluminio y neumáticos están previstos para 2027, seguidos de un periodo de transición de al menos 18 meses. Más información en nuestro artículo Código QR GS1 y pasaporte digital de producto: un solo código para la caja y para el cliente.
Cómo se construye una URI de GS1 Digital Link
https://example.com/01/09506000134352/10/L2610A?15=271231
└──────┬──────────┘└──────┬─────────┘└───┬────┘└───┬────┘
dominio (+ ruta) clave primaria calificador atributo
(01) GTIN-14 (10) lote (15) cons. pref.
Las reglas de GS1 Digital Link URI Syntax 1.7.0 (agosto de 2026):
- Cualquier dominio. Entre el dominio y
/01/puede haber tantos segmentos de ruta propios como se quiera, por ejemplohttps://example.com/gs1/01/…. GS1 recomienda a los propietarios de marca usar su propio dominio;https://id.gs1.orges el dominio de referencia de GS1. - El GTIN siempre tiene 14 dígitos. Desde la versión 1.4.0, un GTIN-13 se completa con un cero a la izquierda: el EAN
9506000134352pasa a ser/01/09506000134352. - Los calificadores de clave van en la ruta, en un orden fijo: para el GTIN,
/22/(variante de producto de consumo),/10/(lote),/21/(número de serie)./21/…/10/…no es válido. - Los atributos van en la cadena de consulta: las fechas como
15(consumo preferente) o17(caducidad) aparecen como?15=271231. - Sin formas abreviadas. Los «convenience alphas» como
/gtin/en lugar de/01/se eliminaron en la versión 1.3.0. - Sin comprimir. En la caja, la URI debe usar la forma sin comprimir, según la tabla 5-46 de las General Specifications.
| URI | ¿Válida? |
|---|---|
https://example.com/01/09506000134352 | Sí, solo GTIN |
https://example.com/gs1/01/09506000134352/10/L2610A?15=271231 | Sí, ruta propia, lote, consumo preferente |
https://example.com/01/9506000134352 | No, el GTIN solo tiene 13 dígitos |
https://example.com/01/09506000134352/21/0001/10/L2610A | No, el lote debe ir antes del número de serie |
https://example.com/gtin/09506000134352 | No, forma abreviada eliminada |
Un consejo de la guía de GS1: los dígitos y las letras mayúsculas ocupan menos espacio en un código QR que las minúsculas y los caracteres especiales. Si asigna usted mismo los números de lote, manténgalos numéricos o en mayúsculas.
¿GS1 DataMatrix, Data Matrix o código QR?
Los tres códigos de barras de arriba contienen GTIN, lote y fecha de consumo preferente, impresos con 4 puntos por módulo a 203 dpi (0,50 mm). El GS1 DataMatrix mide 18 × 18 módulos, es decir, 9,0 mm. El Data Matrix con Digital Link necesita 26 × 26 módulos (13,0 mm) y el código QR, 33 × 33 módulos (16,5 mm). Hemos renderizado todos los códigos de barras de este artículo con zplCore y con Labelary y los hemos decodificado con ZXing; ambos renderizadores devuelven los mismos datos y posiciones.
| Criterio | GS1 DataMatrix | Código QR + Digital Link | Data Matrix + Digital Link |
|---|---|---|---|
| La cámara del móvil abre una página web | No, hace falta una app | Sí | No, hace falta una app |
| Tamaño con el mismo contenido | el más pequeño | el más grande | pequeño |
| Sector sanitario | aprobado a nivel mundial | no aplicable | no aplicable |
| Escáneres de caja | a menudo basta con activarlo | requiere actualización de software | requiere actualización de software |
Conclusión: código QR con Digital Link cuando deban escanear los consumidores. GS1 DataMatrix cuando falte espacio, no se necesite un enlace web o el producto sea sanitario. El Data Matrix con Digital Link es la opción intermedia para envases pequeños que necesitan un enlace web.
Calidad de impresión: dimensión X, zona de silencio, ubicación, HRI
Las dimensiones figuran en las GS1 General Specifications, Release 26.0 (enero de 2026), sección 5.12.3.1, tabla 5-46 «Symbol specification table 1 addendum 2 for 2D barcodes». Se aplica a las unidades comerciales que se escanean en el punto de venta del comercio minorista:
| Código de barras 2D | Dimensión X mín. | Objetivo | Máx. | Zona de silencio | Calidad mínima |
|---|---|---|---|---|---|
| GS1 DataMatrix (ECC 200) | 0,396 mm | 0,495 mm | 0,990 mm | 1X en los cuatro lados | 1.5/12/660 |
| Data Matrix (GS1 Digital Link URI) | 0,396 mm | 0,495 mm | 0,990 mm | 1X en los cuatro lados | 1.5/12/660 |
| Código QR (GS1 Digital Link URI) | 0,396 mm | 0,495 mm | 0,990 mm | 4X en los cuatro lados | 1.5/12/660 |
Los módulos 2D son, por tanto, 1,5 veces la dimensión X de los códigos de barras lineales. Para los artículos que también se escanean en la distribución general se aplica la tabla 5-49 (tabla de especificación de símbolos 3, addendum 1), con 0,743 a 0,990 mm.
En ZPL, la dimensión X es un número entero de puntos. De ahí resultan estos tamaños de módulo permitidos (parámetro 3 de ^BQ, parámetro 2 de ^BX):
| Resolución de impresora | 1 punto | Tamaño de módulo permitido | Cercano al objetivo de 0,495 mm |
|---|---|---|---|
| 203 dpi (8 puntos/mm) | 0,125 mm | 4 a 7 puntos | 4 puntos = 0,500 mm |
| 300 dpi (12 puntos/mm) | 0,085 mm | 5 a 11 puntos | 6 puntos = 0,508 mm |
| 600 dpi (24 puntos/mm) | 0,042 mm | 10 a 23 puntos | 12 puntos = 0,508 mm |
Un error frecuente se esconde en el código de barras lineal contiguo: la tabla 5-44 fija el mínimo del EAN-13 en 0,264 mm. ^BY2 a 203 dpi solo da 0,250 mm, por debajo de ese mínimo; ^BY3 (0,375 mm) es el primero que cumple. A 300 dpi, ^BY3 (0,254 mm) es demasiado estrecho y ^BY4 (0,339 mm) cumple. La altura mínima de las barras varía en proporción: 22,85 mm con 0,330 mm, es decir, unos 26 mm o 208 puntos con ^BY3 a 203 dpi.
Más reglas:
- Zona de silencio: 1 módulo alrededor de un Data Matrix, 4 módulos alrededor de un código QR. ZPL no dibuja la zona de silencio, así que debe quedar libre de textos y recuadros.
- Ubicación: las pruebas de GS1 demostraron que el código de barras 2D debe estar a menos de 50 mm del centro del código de barras lineal para que la caja alcance de 40 a 70 artículos por minuto.
- Mismo GTIN: todos los códigos de barras de un artículo deben codificar el mismo GTIN (sección 4.15.1).
- HRI: un código de barras 2D junto a un EAN-13 con HRI no necesita su propio texto legible (sección 4.14.2). Si es el único código de barras, muestra
(01)y el GTIN de 14 dígitos. - Verificación: la calidad se mide según ISO/IEC 15415.
1.5/12/660significa una calificación global de al menos 1,5, número de referencia de apertura 12 (0,30 mm) y una longitud de onda de 660 nm.
Ejemplos ZPL, probados con zplCore y Labelary
Código QR con GS1 Digital Link (^BQ)
^XA
^PW406
^LL406
^FO40,40^BQN,2,4^FDMA,https://example.com/01/09506000134352/10/L2610A?15=271231^FS
^XZ
^BQN,2,4 significa orientación normal, QR modelo 2, 4 puntos por módulo (0,50 mm a 203 dpi). Los dos primeros caracteres de ^FD son el nivel de corrección de errores (M = 15 %) y el modo de entrada (A = automático). Una corrección de errores mayor agranda el símbolo; GS1 deja la elección al caso de uso. El símbolo se decodifica con el identificador de simbología ]Q1 y exactamente esta URI. Una nota sobre la posición: en zplCore y Labelary, el código QR empieza por debajo de la coordenada ^FO, desplazado la altura de barra ^BY vigente (10 puntos sin ^BY); téngalo en cuenta al colocarlo.
GS1 DataMatrix con FNC1 (^BX)
^XA
^PW406
^LL406
^FO40,40^BXN,4,200,,,,_^FD_101095060001343521527123110L2610A^FS
^XZ
^BXN,4,200,,,,_ significa 4 puntos por módulo, calidad 200 (ECC 200, obligatoria para GS1) y _ como carácter de escape. _1 al principio genera el FNC1 que convierte un Data Matrix en un GS1 DataMatrix. Decodificado: ]d2 con (01)09506000134352(15)271231(10)L2610A.
El orden es intencionado. El GTIN (01) y la fecha (15) tienen una longitud predefinida y no necesitan separador. El lote (10) tiene longitud variable y va al final, así que tampoco necesita separador. Si un campo de longitud variable queda en medio, lo sigue un _1 como separador:
^FO40,40^BXN,4,200,,,,_^FD_1010950600013435210L2610A_115271231^FS
Así se obtienen los mismos datos, pero un símbolo de 20 × 20 módulos en lugar de 18 × 18. Un error que cometimos nosotros mismos durante las pruebas: escribir _10L2610A justo después del GTIN produce FNC1 más «0L2610A» en lugar del lote. Detrás de un campo de longitud predefinida nunca va un FNC1.
Sin el parámetro de calidad 200, ^BX genera el antiguo tipo ECC 000, que no es válido para GS1. Un Data Matrix con Digital Link (]d1) no necesita ningún FNC1: ^BXN,4,200^FDhttps://example.com/01/…^FS.
Antes y después: la misma etiqueta con 2D
La etiqueta original, de 4 × 2 pulgadas a 203 dpi, solo con un EAN-13:
^XA
^CI28
^PW812
^LL406
^FO40,28^A0N,26,26^FDACME FOODS^FS
^FO40,60^A0N,48,48^FDOat Drink Barista 1 L^FS
^FO40,118^A0N,28,28^FDLOT L2610A BEST BEFORE 31.12.2027^FS
^FO60,150^BY3,3,1^BEN,208,Y,N^FD950600013435^FS
^XZ
Tras la migración con zplCore (comando más abajo), a la derecha del EAN-13 aparece un código QR con GS1 Digital Link, con el mismo GTIN más el lote y la fecha de consumo preferente:
^FO60,150^BY3,3,1^BEN,208,Y,N^FD950600013435^FS
^FX zplCore GS1 2D migration
^BY3,3,10^FO394,243^BQN,2,4^FDMA,https://example.com/01/09506000134352/10/L2610A?15=271231^FS^BY3,3,1
El código QR mide 16,5 mm de lado, con 4 puntos (0,500 mm) por módulo y una zona de silencio de 16 puntos. Su centro está a unos 33 mm del centro del EAN-13, muy por debajo de los 50 mm. En zplCore y Labelary, ambos códigos de barras devuelven el mismo GTIN 09506000134352. El GTIN 9506000134352 es un GTIN de ejemplo de GS1 y example.com es un dominio reservado para ejemplos.
Comprobar y migrar plantillas con zplCore
zplCore es el motor ZPL de zplCloud. Incluye dos herramientas para Sunrise 2027: una verificación previa frente a las reglas de GS1 y un asistente de migración que añade el código de barras 2D a las etiquetas ZPL existentes. Ambas renderizan la etiqueta y miden la geometría impresa en lugar de limitarse a leer el texto. La documentación está en Verificación previa de conformidad y GS1 Digital Link y migración a Sunrise 2027.
Verificación previa en la línea de comandos
Una etiqueta deliberadamente incorrecta: EAN-13 con ^BY2, código QR con 3 puntos por módulo, un GTIN de 13 dígitos y el número de serie antes del lote:
^FO60,150^BY2,3,1^BEN,150,Y,N^FD950600013435^FS
^FO330,170^BQN,2,3^FDMA,https://example.com/01/9506000134352/21/0001/10/L2610A^FS
La verificación previa detecta:
$ zplcore comply bad.zpl --pack sunrise --dpi 203
bad.zpl:8:1: error ZPL3210: label 1 ^BE: ^BE encodes GTIN 09506000134352, ^BQ encodes 9506000134352. [GS1 General Specifications 26.0 §4.15.1 rules 2 and 8]
bad.zpl:9:1: error ZPL3202: label 1 ^BQ: Digital Link URI "https://example.com/01/9506000134352/21/0001/10/L2610A": key qualifiers of (01) must be in the order /22, /10, /21 or /235 (each optional, alternatives not mixed). [GS1 Digital Link URI Syntax 1.7.0 (gs1path grammar, qualifier order, 14-digit GTIN, percent-encoding); GS1 General Specifications 26.0 §3, §7.9]
bad.zpl:9:1: error ZPL3202: label 1 ^BQ: Digital Link URI "https://example.com/01/9506000134352/21/0001/10/L2610A": the GTIN has 13 digits; a GS1 Digital Link URI needs 14 (pad GTIN-8/12/13 with leading zeros). [GS1 Digital Link URI Syntax 1.7.0 (gs1path grammar, qualifier order, 14-digit GTIN, percent-encoding); GS1 General Specifications 26.0 §3, §7.9]
bad.zpl:9:1: error ZPL3207: label 1 ^BQ: QR Code (Digital Link) X-dimension 0.375 mm (3 dots at 203 dpi) is outside 0.396–0.99 mm. [GS1 General Specifications 26.0 §5.12.3.1 Table 5-46]
fix: Use a module size of 4–7 dots at 203 dpi.
1 label(s) at 203 dpi, packs sunrise GenSpecs 26.0 / DL 1.7.0: 4 error(s), 0 warning(s), 0 info(s). Pre-check only, not a certification.
El paquete sunrise no avisa del EAN-13 demasiado estrecho porque comprueba la parte 2D; para el código de barras lineal rige la tabla 5-44 (ver más arriba). Con --annotate, zplCore dibuja los hallazgos directamente sobre la etiqueta:
El paquete sunrise abarca 13 reglas, entre ellas: hay un soporte 2D con el GTIN, sintaxis de Digital Link, ECC 200, dimensión X según la tabla 5-46, zona de silencio, el código de barras lineal sigue presente, el mismo GTIN en todos los códigos de barras y símbolos recortados o sobreimpresos. Por cierto, la etiqueta original de arriba da un error (ZPL3201, sin soporte 2D), porque el paquete comprueba la preparación para 2D. Una etiqueta solo con un EAN-13 sigue siendo válida según las reglas de GS1. Con --format sarif, los hallazgos van a GitHub code scanning, y el código de salida 1 detiene el pipeline de CI.
Migración en la línea de comandos
$ zplcore gs1 migrate before.zpl --domain https://example.com --add 10=L2610A --add 15=271231 -o after.zpl
label 1: migrated – added a QR Code with GS1 Digital Link URI with GTIN 09506000134352 right of the EAN-13 (^BE, line 8), bottom-aligned
source: EAN-13 ^BE (line 8), GTIN 09506000134352
added: QR Code with GS1 Digital Link URI at x=394 y=253 dots (49.3 / 31.7 mm), 132 × 132 dots (16.5 × 16.5 mm), module 4 dots = 0.500 mm, quiet zone 16 dots
placement: right of the EAN-13 (^BE, line 8), bottom-aligned
uri: https://example.com/01/09506000134352/10/L2610A?15=271231
data: (01)09506000134352(15)271231(10)L2610A
zpl: ^BY3,3,10^FO394,243^BQN,2,4^FDMA,https://example.com/01/09506000134352/10/L2610A?15=271231^FS^BY3,3,1
sunrise pre-check of the migrated ZPL: 0 error(s), 0 warning(s), 0 info(s)
result: ok – 1 of 1 label(s) migrated, 0 counting sunrise error(s)
GS1 2D migration assistant (pre-check, not a certification): verify the printed label with a barcode verifier and your GS1 Member Organisation or retailer.
El asistente lee el GTIN del EAN-13. En esta etiqueta, el lote y la fecha de consumo preferente solo están impresos como texto, por eso se añaden con --add; si hay un GS1-128 o un GS1 DataBar Expanded, los toma de ahí por sí mismo. Si no encuentra un área libre con la zona de silencio, no cambia nada e informa del espacio necesario; --extend-label alarga la etiqueta en su lugar. --carrier datamatrix añade un GS1 DataMatrix en lugar del código QR.
Lo mismo con el SDK de C#
using ZplCore.Barcodes;
using ZplCore.Compliance;
using ZplCore.Tools;
var report = ZplCompliance.Check(zpl, CompliancePacks.Sunrise2027, new ComplianceOptions { Dpi = 203 });
foreach (var f in report.Findings)
Console.WriteLine(f); // label 1: ZPL3201 error: No GS1 DataMatrix or QR Code / Data Matrix with GS1 Digital Link URI carrying the GTIN.
var options = new Gs1MigrationOptions
{
Carrier = Gs1MigrationCarrier.QrCodeDigitalLink, // o DataMatrixElementString
DigitalLinkStem = "https://example.com", // su dominio; si no, https://id.gs1.org
Dpi = 203,
};
options.AdditionalElements.Add(new Gs1Element("10", "L2610A"));
options.AdditionalElements.Add(new Gs1Element("15", "271231"));
var migration = ZplGs1Migration.Migrate(zpl, options);
File.WriteAllText("after.zpl", migration.MigratedZpl);
Console.WriteLine(migration.ToText()); // ubicación y verificación previa sunrise del resultado
Hemos ejecutado este fragmento con la etiqueta original; su salida coincide con la de la línea de comandos anterior.
Importante: zplCore ofrece una verificación previa y un asistente de migración, no una certificación. Un informe vacío solo significa que no se ha activado ninguna regla. Un verificador de códigos de barras mide la calidad de impresión de la etiqueta terminada; la aprobación la da el distribuidor o su organización miembro de GS1.
En zplCloud sin código
Sin instalar nada, la herramienta gratuita Migración Sunrise 2027 hace lo mismo en el navegador: pegue una etiqueta ZPL con EAN/UPC, GS1-128, ITF-14 o GS1 DataBar y el GTIN, junto con lote, fecha de caducidad y número de serie, pasa a un código QR con GS1 Digital Link o a un GS1 DataMatrix. La herramienta coloca el código en un área libre con su zona de silencio, vuelve a comprobar el resultado con las reglas de Sunrise 2027 y muestra el antes y el después lado a lado.
En el diseñador de zplCloud, cada elemento de código de barras tiene una sección GS1: elegir identificadores de aplicación, vincular valores, elegir Digital Link para el código QR; el editor coloca los separadores por sí mismo. Para códigos de barras sueltos están las herramientas gratuitas GS1 AI QR Code a ZPL y GS1 AI DataMatrix a ZPL, y Comprobar código de barras revisa los ya impresos. Todos los identificadores de aplicación, con su formato y significado, están en la Base de datos GS1 AI.
Lista de control para equipos
- Hacer inventario: ¿qué plantillas llevan un EAN/UPC (
^BE,^BU,^B8,^B9) o GS1 DataBar (^BR)? ¿En qué impresoras y con qué resolución se imprimen? - Elegir un caso de uso: información al consumidor (código QR con Digital Link), caducidad y lote en la caja (GS1 DataMatrix o QR), poco espacio (GS1 DataMatrix). Empezar con un grupo de productos.
- Definir el Digital Link: dominio y ruta propios, con redirección a una página de producto existente. GTIN de 14 dígitos, orden 22/10/21, fechas en la cadena de consulta, sin comprimir.
- Aclarar los datos: ¿el lote y las fechas vienen del ERP, de la balanza o de la línea en el momento de imprimir? Datos variables significa imprimir en la línea o en la impresora de etiquetas, no en envases preimpresos.
- Dimensiones según la tabla 5-46: módulo 2D de 0,396 a 0,990 mm (203 dpi: 4 a 7 puntos). EAN-13 de al menos 0,264 mm (203 dpi:
^BY3o más ancho). - Comprobar el diseño: zona de silencio de 1X o 4X, a menos de 50 mm del centro del EAN, el mismo GTIN, HRI según la sección 4.14.2.
- Verificación previa automática:
zplcore comply --pack sunriseen la CI,zplcore gs1 migratepara las plantillas existentes. - Medir la impresión: un verificador de códigos de barras según ISO/IEC 15415, objetivo 1.5/12/660 o mejor; la batería de pruebas de GS1 y los escáneres de caja reales de su socio comercial.
- Distribuidores: configurar el modo del escáner (al menos modo 1), un pitido para dos códigos de barras, software del POS preparado para datos adicionales; marcas de distribuidor y charcutería como piloto.
- Coordinarse: con los socios comerciales y su organización miembro de GS1.
Preguntas frecuentes
¿Tengo que imprimir un código de barras 2D en mis productos antes de finales de 2027?
No. Sunrise 2027 es un objetivo sobre lo que pueden leer las cajas. GS1 Germany dice explícitamente que las empresas que quieran seguir con el código de barras lineal no necesitan añadir un código 2D. Cada distribuidor puede fijar sus propios requisitos.
¿Se va a suprimir el EAN-13?
No. GS1 Germany, GS1 Austria y GS1 Switzerland lo dejan claro, igual que la guía global. Los códigos de barras lineales se mantienen mientras sigan teniendo usos.
¿Puedo sustituir el EAN-13 por un código QR?
Por ahora no en productos de marca. Las General Specifications 26.0 exigen el código de barras 2D además del EAN/UPC o del GS1 DataBar hasta que el 90 % de las soluciones de escaneo en el POS puedan procesar 2D. La excepción es el circuito cerrado de un distribuidor: según el documento de posición de GS1, las marcas de distribuidor y los productos etiquetados en tienda pueden llevar un único código de barras 2D si las cajas del propio distribuidor admiten al menos el modo 2.
¿Necesito un dominio propio para GS1 Digital Link?
La sintaxis admite cualquier dominio con cualquier ruta delante, y GS1 recomienda usar el propio. Basta con una subruta en el dominio de la empresa con una redirección. Nuestro artículo sobre el pasaporte digital de producto explica cómo hacerlo sin un servidor nuevo.
¿Qué nivel de corrección de errores debe usar el código QR?
GS1 no prescribe ninguno: una corrección de errores mayor es más robusta, pero agranda el símbolo. Un ejemplo de la guía de GS1 usa el nivel M (15 %), igual que nuestros ejemplos. Lo importante es que el tamaño de módulo se mantenga dentro de la tabla 5-46.
¿Puede una impresora de 203 dpi imprimir códigos de barras conformes con Sunrise?
Sí. A 203 dpi se permiten de 4 a 7 puntos por módulo, y 4 puntos dan 0,500 mm, casi exactamente el objetivo de 0,495 mm. El cuello de botella suele ser más bien el EAN-13 contiguo, que necesita al menos ^BY3 a 203 dpi.
¿Necesita el código QR su propio texto legible?
No, si está junto a un EAN-13 con HRI. Si el código de barras 2D es el único código de barras, muestra (01) seguido del GTIN de 14 dígitos (General Specifications, sección 4.14.2).
¿Qué pasa con los medicamentos y los productos sanitarios?
Siguen con GS1 DataMatrix y cadenas de elementos, y con las obligaciones existentes como UDI o DSCSA. En el sector sanitario, GS1 Digital Link no se codifica en el código de barras 2D.
¿Es la comprobación de zplCore una certificación de GS1?
No. Es una verificación previa frente a reglas publicadas y un asistente para la migración. La aceptación depende del verificador, del distribuidor y de su organización miembro de GS1.
Fuentes
Todas las fuentes se consultaron el 19 de octubre de 2026.
- GS1 US: What is GS1 Sunrise 2027?
- GS1: Compliance for 2D barcodes at Point of Sale (POS), actualizado el 8 de octubre de 2026
- GS1: GS1 2D barcodes in Retail
- GS1: 2D Barcodes at Retail Point-of-Sale Implementation Guideline, Release 1.1.0, diciembre de 2025
- GS1: GS1 General Specifications Standard, Release 26.0, enero de 2026 (secciones 4.14.2, 4.15, 5.12.3.1 con las tablas 5-44 y 5-46, 5.12.3.3 con la tabla 5-49)
- GS1: GS1 Digital Link y GS1 Digital Link Standard: URI Syntax, Release 1.7.0, agosto de 2026
- GS1: Migration to a single GS1 conformant 2D barcode for retailer private label and in-store labelled products, Release 2.0.0, julio de 2026
- GS1 Germany: Zukunft 2D-Code
- GS1 Germany: Implementierungsleitfaden für 2D Codes am Point-of-Sale des Einzelhandels, edición 1.1, noviembre de 2025
- GS1 Germany: 5-Punkte-Checkliste für die Implementierung von 2D-Codes am POS
- GS1 Germany: Globales Programm 2D Migration, Grundlegende Fragen (FAQ), noviembre de 2022
- GS1 Austria: 2D Codes
- GS1 Austria y GS1 Germany: Leitfaden für eine Migration auf 2D Codes am Point-of-Sale des Einzelhandels, edición 1.1, febrero de 2022
- GS1 Switzerland: 2D-Codes y 2D-Codes am Point of Sale
- U.S. FDA: UDI Basics
- 21 U.S.C. § 360eee y § 360eee-1 (DSCSA, identificador de producto)
- Comisión Europea: Digital Product Passport
GS1, GS1 DataMatrix y GS1 Digital Link son marcas registradas de GS1 AISBL y aquí se utilizan únicamente con fines descriptivos. zplCloud y zplCore no son productos de GS1.