Comece grátis

zplCloud Blog

GS1 Sunrise 2027: códigos de barras 2D no caixa – o que as etiquetas ZPL precisam agora

Até o fim de 2027, os caixas do varejo no mundo todo devem ler GS1 DataMatrix e QR Code com GS1 Digital Link. O EAN-13 continua. Cada regra com sua fonte, exemplos ZPL testados para ^BQ e ^BX e uma forma de migrar modelos existentes automaticamente.

28 min de leitura zplCloud Team

Até o fim de 2027, o caixa aprende a ler 2D

Banner “Sunrise 2027. 2D at the checkout.” com duas etiquetas de produto reais renderizadas pelo zplCore: na frente, a mesma etiqueta com um EAN-13 e mais um QR Code com GS1 Digital Link; atrás, a versão atual só com o EAN-13; embaixo, um sol nascente

Até o fim de 2027, os scanners dos caixas do varejo no mundo todo devem ler, além do EAN/UPC, três códigos de barras 2D: GS1 DataMatrix, QR Code com GS1 Digital Link e Data Matrix com GS1 Digital Link. A GS1 US chama isso de "Sunrise 2027", a GS1 global, de "Ambition 2027". O EAN-13 continua, e ninguém é obrigado a imprimir um código 2D. Quem adicionar um coloca o código ao lado do código de barras linear, com o mesmo GTIN, e segue as regras de dimensão X, zona de silêncio e posicionamento das GS1 General Specifications. Este post traz cada regra com sua fonte, exemplos ZPL testados para ^BQ e ^BX, uma etiqueta antes/depois e uma forma de verificar e migrar modelos existentes automaticamente.

Em resumo: 2027 é uma meta para os scanners do varejo, não uma data de desligamento do EAN. Durante a transição, o código 2D entra na embalagem como complemento, nunca no lugar do código de barras linear. Para ZPL a 203 dpi, isso significa: tamanho de módulo de 4 a 7 pontos, zona de silêncio de 4 módulos em volta do QR Code e no máximo 50 mm do centro do EAN.

O que o Sunrise 2027 é e o que não é

A formulação mais clara está na página da GS1 sobre a prontidão dos scanners: o setor definiu a meta de que, até o fim de 2027, todos os sistemas de ponto de venda (PDV) do varejo sejam capazes de ler e processar um conjunto definido de códigos de barras 2D com padrões GS1, além dos códigos de barras lineares existentes. A diretriz global de implementação (Release 1.1.0, dezembro de 2025) detalha o mínimo: o PDV precisa identificar e decodificar o GTIN de qualquer código de barras linear ou 2D em conformidade com a GS1, emitir um único bipe e transmitir esse único GTIN. Esse é o modo de leitura 1, o requisito mínimo para 2027.

Exatamente três códigos de barras 2D são aprovados para o caixa:

Código de barras 2DConteúdo (sintaxe)Identificador de simbologia
GS1 DataMatrixSintaxe de element string GS1 com FNC1, por exemplo (01)…(17)…(10)…]d2
QR Code com GS1 Digital LinkEndereço web conforme a sintaxe de URI do GS1 Digital Link]Q1
Data Matrix com GS1 Digital LinkEndereço web conforme a sintaxe de URI do GS1 Digital Link]d1

O que o Sunrise 2027 não significa:

  • O EAN-13 não desaparece. A diretriz global diz que códigos de barras lineares como EAN/UPC e GS1 DataBar "não vão desaparecer e vão coexistir com os códigos de barras 2D enquanto houver usos para eles". A GS1 Germany, a GS1 Austria e a GS1 Switzerland dizem o mesmo.
  • Ninguém precisa imprimir um código 2D em 2027. A GS1 Germany afirma que empresas que querem continuar com o código de barras linear não precisam adicionar um código 2D. A GS1 US ressalta que "não é necessário implementar todos os recursos do 2D até essa data".
  • O 2D ainda não substitui o código de barras linear. GS1 General Specifications 26.0, seção 4.15.4: um GS1 DataMatrix, QR Code ou Data Matrix com Digital Link SHALL ser usado em complemento ao EAN/UPC ou GS1 DataBar. A diretriz define o limite: só quando 90 % das soluções de leitura nos PDVs conseguirem processar códigos de barras 2D em conformidade com a GS1 o código linear poderá ser dispensado. Não há data para isso.
  • Não é uma lei. A GS1 desenvolve padrões de adoção voluntária. Obrigações só surgem de exigências dos varejistas ou de regulamentação própria, por exemplo na área da saúde.

Um FAQ em PDF mais antigo da GS1 Germany (de novembro de 2022) ainda dizia que, a partir de 2028, o dono da marca escolheria entre EAN e código 2D. Os textos atuais vinculam a dispensa do código linear ao limite de 90 %, não a um ano. A referência são as General Specifications 26.0 e a diretriz 1.1.

Cronograma e marcos

QuandoO quêFonte
2021Decisão da Assembleia Geral da GS1 Global sobre a migração para 2D no PDVGS1 Switzerland, FAQ
fev. 2022Guia em alemão "Migration auf 2D Codes am POS", edição 1.1 (GS1 AT e GS1 DE)GS1 Austria
nov. 2025Tradução alemã da diretriz de implementação, edição 1.1GS1 Germany
dez. 20252D Barcodes at Retail Point-of-Sale Implementation Guideline, Release 1.1.0GS1
jan. 2026GS1 General Specifications Release 26.0 com a Tabela 5-46 para 2D no PDVGS1
jul. 2026Documento de posicionamento 2.0.0: código de barras 2D único para marcas próprias e produtos etiquetados na lojaGS1
ago. 2026GS1 Digital Link URI Syntax 1.7.0GS1
Fim de 2027Meta: o PDV lê o GTIN dos três códigos de barras 2D (no mínimo modo 1)GS1
Depois dissoSó 2D em produtos de marca, não antes de 90 % das soluções de leitura nos PDVs serem compatíveis com 2DDiretriz GS1 1.1, seção 4.1

A GS1 mantém uma lista atualizada continuamente, na qual fabricantes de scanners, verificadores, impressoras e software de códigos de barras informam sua situação em relação aos critérios "2D capable"; quando este texto foi escrito, ela tinha data de 8 de outubro de 2026. Entre os fabricantes de impressoras listados estão a Zebra e a TSC.

Situação regional: EUA, DACH e o resto do mundo

Estados Unidos. A GS1 US conduz o tema como "Sunrise 2027" e recomenda uma abordagem em etapas (crawl, walk, run). Para marcas: adicionar códigos de barras 2D às embalagens existentes e atualizar os QR codes existentes para GS1 Digital Link com o GTIN; depois, acrescentar dados como variantes e datas de produção ou de validade; por fim, usar o 2D para o engajamento do consumidor. Para varejistas: instalar scanners compatíveis com o Sunrise que leiam 2D e extraiam o GTIN no PDV; depois, adicionar 2D às marcas próprias; por fim, otimizar segurança, rastreabilidade e estoque. Em uma pesquisa com consumidores da GS1 US de 2025, 79 % disseram que têm mais chance de comprar produtos com um QR code escaneável que traga informações adicionais sobre o produto.

Alemanha. A GS1 Germany considera a dupla marcação durante a transição "in der Regel sinnvoll beziehungsweise erforderlich" (em geral recomendável ou necessária), porque nem todos os sistemas de caixa processam 2D ainda. Ela cita dm e Beiersdorf como o primeiro caso no PDV. Um checklist de 5 pontos da GS1 Germany recomenda começar com um caso de uso e um grupo de produtos e testar regularmente impressão, legibilidade e integração de sistemas.

Áustria. A GS1 Austria escreve que os códigos 2D vão complementar o código de barras linear clássico, não substituí-lo, e que, na fase de transição atual, é necessário um código de barras 1D ao lado de um código 2D. Códigos 2D só podem ser lidos por scanners baseados em imagem; scanners a laser clássicos não conseguem.

Suíça. A GS1 Switzerland afirma que os códigos de barras EAN/UPC vão continuar no varejo por muito tempo depois de 2027. Sobre a tecnologia dos caixas, diz que a maioria dos sistemas de PDV na Suíça já consegue ler códigos 2D e que muitas vezes basta uma atualização de software.

Outras regiões. A GS1 observa que a transição avança aos poucos, em ritmos diferentes ao redor do mundo. Entre seus estudos de caso estão a Woolworths na Austrália, a delicatessen Parla Deli no Brasil e a 7-Eleven na Tailândia.

Quem é afetado

QuemO que fazer
Donos de marcaDecidir se e qual código de barras 2D vai em quais produtos, definir o domínio do Digital Link, adaptar embalagens e etiquetas.
VarejistasConfigurar o software dos scanners para um dos modos 1 a 3, preparar o software do PDV para dados adicionais, um bipe por item quando houver dois códigos de barras.
Impressão de etiquetas e TIModelos ZPL, etiquetas de balança e de produtos frescos, resolução da impressora, fontes de dados para lote e datas.
Fornecedores de software e de impressorasCritérios GS1 "2D capable": ]d2, ]d1, ]Q1, dimensão X, zona de silêncio e qualidade de impressão conforme as tabelas de especificação de símbolos.
Saúde e indústria farmacêuticaContinua com o GS1 DataMatrix, veja abaixo.

Produtos etiquetados na loja são a alavanca mais rápida. O documento de posicionamento da GS1 de julho de 2026 cita frios, rotisseria e padaria, além das marcas próprias, como áreas em que um varejista já pode trabalhar com um único código de barras 2D, porque ele mesmo controla etiqueta, scanner e PDV. O pré-requisito é, no mínimo, o modo de leitura 2. Essas etiquetas costumam sair de balanças e impressoras de etiquetas, muitas vezes em ZPL.

Saúde. Aqui o setor escolheu o GS1 DataMatrix como único código de barras 2D já no início dos anos 2000; segundo a diretriz, ele também é o código de barras 2D preferido para produtos de saúde lidos no caixa do varejo. Na área da saúde, o GS1 Digital Link não é codificado em código de barras 2D. Nos EUA, a FDA exige para dispositivos médicos uma UDI composta de um identificador do dispositivo e um identificador de produção (lote, número de série, data de validade ou de fabricação), em texto legível e em forma legível por máquina. Para medicamentos com prescrição, o DSCSA exige um identificador do produto (um número baseado no NDC com número de série, lote e data de validade), aplicado na embalagem em um código de barras 2D Data Matrix. O Sunrise 2027 não muda nenhuma dessas obrigações.

O que o 2D traz para o caixa

O EAN-13 carrega apenas o GTIN. Um código de barras 2D também pode carregar lote, data de validade ou data de durabilidade mínima e número de série. Entre os casos de uso que a diretriz da GS1 lista:

  • Bloquear a venda de produtos vencidos no caixa, porque a data de validade está no código.
  • Recalls direcionados por lote em vez de produtos inteiros.
  • Menos desperdício de alimentos e remarcações automáticas por data. Segundo a GS1 Germany, a Woolworths relata até 40 % menos desperdício de alimentos.
  • Informação para o consumidor: um QR Code com GS1 Digital Link abre uma página web com a câmera padrão do celular e, ao mesmo tempo, é lido no caixa.
  • Passaporte Digital de Produto: segundo a Comissão Europeia, um portador de dados como um QR code liga o produto físico ao seu DPP; para determinadas baterias, o DPP passa a ser obrigatório em 18 de fevereiro de 2027, e os atos delegados para têxteis, alumínio e pneus estão previstos para 2027, seguidos de um período de transição de no mínimo 18 meses. Mais detalhes no nosso post GS1 QR Code e o Passaporte Digital de Produto: um código para o caixa e para o cliente.

Como uma URI do GS1 Digital Link é montada

https://example.com/01/09506000134352/10/L2610A?15=271231
└──────┬──────────┘└──────┬─────────┘└───┬────┘└───┬────┘
   domínio (+caminho) chave primária    qualificador atributo
                      (01) GTIN-14      (10) lote    (15) durab. mínima

As regras da GS1 Digital Link URI Syntax 1.7.0 (agosto de 2026):

  • Qualquer domínio. Entre o domínio e /01/ pode haver quantos segmentos de caminho próprios você quiser, por exemplo https://example.com/gs1/01/…. A GS1 recomenda que os donos de marca usem o próprio domínio; https://id.gs1.org é o domínio de referência da GS1.
  • O GTIN tem sempre 14 dígitos. Desde a versão 1.4.0, um GTIN-13 é completado com um zero à esquerda: o EAN 9506000134352 vira /01/09506000134352.
  • Os qualificadores de chave ficam no caminho, em ordem fixa: para o GTIN, /22/ (variante do produto ao consumidor), /10/ (lote), /21/ (número de série). /21/…/10/… é inválido.
  • Os atributos ficam na query string: datas como 15 (data de durabilidade mínima) ou 17 (data de validade) aparecem como ?15=271231.
  • Sem formas abreviadas. Os "convenience alphas", como /gtin/ em vez de /01/, foram removidos na versão 1.3.0.
  • Sem compressão. No caixa, a URI precisa estar na forma não comprimida, conforme a Tabela 5-46 das General Specifications.
URIVálida?
https://example.com/01/09506000134352Sim, só o GTIN
https://example.com/gs1/01/09506000134352/10/L2610A?15=271231Sim, caminho próprio, lote, data de durabilidade mínima
https://example.com/01/9506000134352Não, o GTIN tem só 13 dígitos
https://example.com/01/09506000134352/21/0001/10/L2610ANão, o lote precisa vir antes do número de série
https://example.com/gtin/09506000134352Não, forma abreviada removida

Uma dica da diretriz da GS1: dígitos e letras maiúsculas ocupam menos espaço em um QR Code do que letras minúsculas e caracteres especiais. Se você mesmo atribui os números de lote, mantenha-os numéricos ou em maiúsculas.

GS1 DataMatrix, Data Matrix ou QR Code?

Três códigos de barras 2D renderizados pelo zplCore com o mesmo conteúdo e o mesmo tamanho de módulo: GS1 DataMatrix com 18 × 18 módulos, Data Matrix com GS1 Digital Link com 26 × 26 módulos e QR Code com GS1 Digital Link com 33 × 33 módulos

Os três códigos de barras acima carregam GTIN, lote e data de durabilidade mínima, impressos com 4 pontos por módulo a 203 dpi (0,50 mm). O GS1 DataMatrix mede 18 × 18 módulos, ou seja, 9,0 mm. O Data Matrix com Digital Link precisa de 26 × 26 módulos (13,0 mm), o QR Code de 33 × 33 módulos (16,5 mm). Renderizamos todos os códigos de barras deste post com o zplCore e com o Labelary e os decodificamos com o ZXing; os dois renderizadores retornam os mesmos dados e as mesmas posições.

CritérioGS1 DataMatrixQR Code + Digital LinkData Matrix + Digital Link
A câmera do celular abre uma página webNão, precisa de appSimNão, precisa de app
Tamanho para o mesmo conteúdoo menoro maiorpequeno
Saúdeaprovado mundialmentenão se aplicanão se aplica
Scanners de PDVmuitas vezes basta ativarexige atualização de softwareexige atualização de software

Conclusão: QR Code com Digital Link quando o consumidor deve escanear. GS1 DataMatrix quando o espaço é pequeno, não é preciso link web ou o produto é da área da saúde. O Data Matrix com Digital Link é o meio-termo para embalagens pequenas que precisam de link web.

Qualidade de impressão: dimensão X, zona de silêncio, posicionamento, HRI

As dimensões estão nas GS1 General Specifications, Release 26.0 (janeiro de 2026), seção 5.12.3.1, Tabela 5-46 "Symbol specification table 1 addendum 2 for 2D barcodes". Ela vale para itens comerciais lidos no PDV do varejo:

Código de barras 2DDimensão X mín.AlvoMáx.Zona de silêncioQualidade mínima
GS1 DataMatrix (ECC 200)0,396 mm0,495 mm0,990 mm1X nos quatro lados1.5/12/660
Data Matrix (URI do GS1 Digital Link)0,396 mm0,495 mm0,990 mm1X nos quatro lados1.5/12/660
QR Code (URI do GS1 Digital Link)0,396 mm0,495 mm0,990 mm4X nos quatro lados1.5/12/660

Os módulos 2D são, portanto, 1,5 vez a dimensão X dos códigos de barras lineares. Para itens que também são lidos na distribuição em geral, vale a Tabela 5-49 (symbol specification table 3 addendum 1), com 0,743 a 0,990 mm.

Em ZPL, a dimensão X é um número inteiro de pontos. Isso dá estes tamanhos de módulo permitidos (parâmetro 3 do ^BQ, parâmetro 2 do ^BX):

Resolução da impressora1 pontoTamanho de módulo permitidoPróximo do alvo de 0,495 mm
203 dpi (8 pontos/mm)0,125 mm4 a 7 pontos4 pontos = 0,500 mm
300 dpi (12 pontos/mm)0,085 mm5 a 11 pontos6 pontos = 0,508 mm
600 dpi (24 pontos/mm)0,042 mm10 a 23 pontos12 pontos = 0,508 mm

Um erro comum está no código de barras linear ao lado: a Tabela 5-44 define o mínimo do EAN-13 em 0,264 mm. ^BY2 a 203 dpi dá só 0,250 mm, abaixo desse mínimo; ^BY3 (0,375 mm) é o primeiro que atende. A 300 dpi, ^BY3 (0,254 mm) é estreito demais e ^BY4 (0,339 mm) atende. A altura mínima das barras acompanha essa escala: 22,85 mm para 0,330 mm, ou seja, cerca de 26 mm ou 208 pontos com ^BY3 a 203 dpi.

Mais regras:

  • Zona de silêncio: 1 módulo em volta de um Data Matrix, 4 módulos em volta de um QR Code. O ZPL não desenha a zona de silêncio, então ela precisa ficar livre de textos e caixas.
  • Posicionamento: testes da GS1 mostraram que o código de barras 2D deve ficar a no máximo 50 mm do centro do código de barras linear para que o caixa alcance 40 a 70 itens por minuto.
  • Mesmo GTIN: todos os códigos de barras de um item precisam codificar o mesmo GTIN (seção 4.15.1).
  • HRI: um código de barras 2D ao lado de um EAN-13 com HRI (interpretação legível por humanos) não precisa de HRI próprio (seção 4.14.2). Se for o único código de barras, ele mostra (01) e o GTIN de 14 dígitos.
  • Verificação: a qualidade é medida conforme a ISO/IEC 15415. 1.5/12/660 significa nota geral de no mínimo 1,5, número de referência de abertura 12 (0,30 mm) e comprimento de onda de 660 nm.

Exemplos ZPL, testados com zplCore e Labelary

QR Code com 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 orientação normal, QR modelo 2, 4 pontos por módulo (0,50 mm a 203 dpi). Os dois primeiros caracteres em ^FD são o nível de correção de erros (M = 15 %) e o modo de entrada (A = automático). Uma correção de erros maior aumenta o símbolo; a GS1 deixa a escolha para o caso de uso. O símbolo é decodificado com o identificador de simbologia ]Q1 e exatamente esta URI. Uma observação sobre a posição: no zplCore e no Labelary, o QR Code começa abaixo da coordenada ^FO a uma distância igual à altura de barra atual do ^BY (10 pontos sem ^BY), então leve isso em conta ao posicioná-lo.

GS1 DataMatrix com FNC1 (^BX)

^XA
^PW406
^LL406
^FO40,40^BXN,4,200,,,,_^FD_101095060001343521527123110L2610A^FS
^XZ

^BXN,4,200,,,,_ significa 4 pontos por módulo, qualidade 200 (ECC 200, obrigatório para GS1) e _ como caractere de escape. O _1 no início gera o FNC1 que transforma um Data Matrix em um GS1 DataMatrix. Decodificado: ]d2 com (01)09506000134352(15)271231(10)L2610A.

A ordem é proposital. GTIN (01) e data (15) têm comprimento predefinido e não precisam de separador. O lote (10) tem comprimento variável e vem por último, então também não precisa de separador. Se um campo de comprimento variável ficar no meio, ele é seguido por um _1 como separador:

^FO40,40^BXN,4,200,,,,_^FD_1010950600013435210L2610A_115271231^FS

Isso dá os mesmos dados, mas um símbolo de 20 × 20 em vez de 18 × 18 módulos. Um erro que nós mesmos cometemos nos testes: escrever _10L2610A logo depois do GTIN gera FNC1 mais "0L2610A" em vez do lote. Campos de comprimento predefinido nunca são seguidos de FNC1.

Sem o parâmetro de qualidade 200, o ^BX gera o antigo tipo ECC 000, que é errado para GS1. Um Data Matrix com Digital Link (]d1) não precisa de FNC1: ^BXN,4,200^FDhttps://example.com/01/…^FS.

Antes e depois: a mesma etiqueta com 2D

A etiqueta original, de 4 × 2 pol a 203 dpi, só com um EAN-13:

Etiqueta de produto renderizada pelo zplCore, 4 × 2 pol: ACME FOODS, Oat Drink Barista 1 L, lote L2610A, data de durabilidade mínima 31.12.2027, embaixo só um EAN-13 com o GTIN 9506000134352
^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

Depois da migração com o zplCore (comando mais abaixo), um QR Code com GS1 Digital Link fica à direita do EAN-13, com o mesmo GTIN mais lote e data de durabilidade mínima:

A mesma etiqueta de produto renderizada pelo zplCore depois da migração: o EAN-13 à esquerda sem alterações e, à direita dele, um QR Code com a URI do GS1 Digital Link https://example.com/01/09506000134352/10/L2610A?15=271231
^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

O QR Code tem 16,5 mm de lado, com 4 pontos (0,500 mm) por módulo e uma zona de silêncio de 16 pontos. Seu centro fica a cerca de 33 mm do centro do EAN-13, bem dentro dos 50 mm. No zplCore e no Labelary, os dois códigos de barras retornam o mesmo GTIN 09506000134352. O GTIN 9506000134352 é um GTIN de exemplo da GS1, e example.com é um placeholder reservado.

Verificar e migrar modelos com o zplCore

O zplCore é o motor ZPL por trás do zplCloud. Ele traz duas ferramentas para o Sunrise 2027: uma pré-verificação em relação às regras da GS1 e um assistente de migração que adiciona o código de barras 2D a etiquetas ZPL existentes. As duas renderizam a etiqueta e medem a geometria impressa, em vez de apenas ler o texto. A documentação está em Pré-verificação de conformidade e GS1 Digital Link e migração para o Sunrise 2027.

Pré-verificação na linha de comando

Uma etiqueta propositalmente com erros: EAN-13 com ^BY2, QR Code com 3 pontos por módulo, um GTIN de 13 dígitos e o número de série antes do 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

A pré-verificação encontra:

$ 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.

O pacote sunrise não aponta o EAN-13 estreito demais porque verifica o lado 2D; o código de barras linear é coberto pela Tabela 5-44 (veja acima). Com --annotate, o zplCore desenha os achados diretamente na etiqueta:

Etiqueta anotada pelo zplCore: o EAN-13 está marcado com a regra ZPL3210, o QR Code subdimensionado com as regras ZPL3202 e ZPL3207

O pacote sunrise cobre 13 regras, entre elas: existe um portador 2D com o GTIN, sintaxe do Digital Link, ECC 200, dimensão X conforme a Tabela 5-46, zona de silêncio, código de barras linear ainda presente, o mesmo GTIN em todos os códigos de barras e símbolos cortados ou sobrepostos por outra impressão. Aliás, a etiqueta "antes" acima gera um erro (ZPL3201, nenhum portador 2D), porque o pacote verifica a prontidão para 2D. Uma etiqueta só com EAN-13 continua válida pelas regras da GS1. Com --format sarif, os achados vão para o GitHub code scanning, e o código de saída 1 interrompe o pipeline de CI.

Migração na linha de comando

$ 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.

O assistente lê o GTIN do EAN-13. Nesta etiqueta, lote e data de durabilidade mínima aparecem só como texto, por isso são adicionados com --add; de um GS1-128 ou GS1 DataBar Expanded, ele os aproveita sozinho. Se não encontrar uma área livre com a zona de silêncio, ele não altera nada e informa o espaço necessário; --extend-label aumenta o comprimento da etiqueta. --carrier datamatrix adiciona um GS1 DataMatrix em vez do QR Code.

O mesmo no SDK 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, // ou DataMatrixElementString
    DigitalLinkStem = "https://example.com",         // seu domínio, senão 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()); // posicionamento e pré-verificação sunrise do resultado

Rodamos este trecho com a etiqueta "antes"; a saída corresponde à da linha de comando acima.

Importante: o zplCore oferece uma pré-verificação e um assistente de migração, não uma certificação. Um relatório vazio significa apenas que nenhuma regra foi acionada. Um verificador de código de barras mede a qualidade de impressão da etiqueta pronta; a aprovação vem do varejista ou da sua Organização-Membro GS1.

No zplCloud sem código

Sem instalar nada, a ferramenta gratuita Migração Sunrise 2027 faz o mesmo no navegador: cole uma etiqueta ZPL com EAN/UPC, GS1-128, ITF-14 ou GS1 DataBar, e o GTIN, junto com lote, data de validade e número de série, vai para um QR Code com GS1 Digital Link ou um GS1 DataMatrix. A ferramenta coloca o código em uma área livre com sua zona de silêncio, verifica o resultado de novo com as regras do Sunrise 2027 e mostra o antes e o depois lado a lado.

No designer do zplCloud, cada elemento de código de barras tem uma seção GS1: escolha os identificadores de aplicação, vincule os valores, selecione Digital Link para o QR Code; o editor coloca os separadores sozinho. Para códigos de barras avulsos, há as ferramentas gratuitas GS1 AI QR Code para ZPL e GS1 AI DataMatrix para ZPL, e o Verificar código de barras verifica os já impressos. Todos os identificadores de aplicação, com formato e significado, estão no banco de dados de AIs GS1.

Checklist para equipes

  • Fazer o inventário: quais modelos têm um EAN/UPC (^BE, ^BU, ^B8, ^B9) ou GS1 DataBar (^BR)? Em quais impressoras e com qual resolução eles são impressos?
  • Escolher um caso de uso: informação ao consumidor (QR Code com Digital Link), validade e lote no caixa (GS1 DataMatrix ou QR), pouco espaço (GS1 DataMatrix). Comece com um grupo de produtos.
  • Definir o Digital Link: domínio e caminho próprios, com redirecionamento para uma página de produto existente. GTIN de 14 dígitos, ordem 22/10/21, datas na query string, sem compressão.
  • Organizar os dados: lote e datas vêm do ERP, da balança ou da linha no momento da impressão? Dados variáveis significam imprimir na linha ou na impressora de etiquetas, não na embalagem pré-impressa.
  • Dimensões conforme a Tabela 5-46: módulo 2D de 0,396 a 0,990 mm (203 dpi: 4 a 7 pontos). EAN-13 com no mínimo 0,264 mm (203 dpi: ^BY3 ou mais largo).
  • Conferir o layout: zona de silêncio de 1X ou 4X, no máximo 50 mm do centro do EAN, o mesmo GTIN, HRI conforme a seção 4.14.2.
  • Pré-verificar automaticamente: zplcore comply --pack sunrise na CI, zplcore gs1 migrate para modelos existentes.
  • Medir a impressão: verificador de código de barras conforme a ISO/IEC 15415, meta 1.5/12/660 ou melhor; a suíte de testes da GS1 e os scanners reais dos caixas do seu parceiro comercial.
  • Varejistas: definir o modo do scanner (no mínimo modo 1), um bipe para dois códigos de barras, software de PDV para dados adicionais; marcas próprias e frios como piloto.
  • Alinhar: com os parceiros comerciais e a sua Organização-Membro GS1.

Perguntas frequentes

Preciso imprimir um código de barras 2D nos meus produtos até o fim de 2027?

Não. O Sunrise 2027 é uma meta para o que os caixas conseguem ler. A GS1 Germany diz explicitamente que empresas que querem continuar com o código de barras linear não precisam adicionar um código 2D. Varejistas específicos podem definir exigências próprias.

O EAN-13 vai ser abolido?

Não. A GS1 Germany, a GS1 Austria e a GS1 Switzerland deixam isso claro, e a diretriz global também. Os códigos de barras lineares continuam enquanto houver usos para eles.

Posso substituir o EAN-13 por um QR Code?

Por enquanto, não em produtos de marca. As General Specifications 26.0 exigem o código de barras 2D em complemento ao EAN/UPC ou GS1 DataBar até que 90 % das soluções de leitura nos PDVs consigam processar 2D. A exceção é o circuito fechado de um varejista: segundo o documento de posicionamento da GS1, marcas próprias e produtos etiquetados na loja podem ter um único código de barras 2D se os caixas do próprio varejista suportarem no mínimo o modo 2.

Preciso de um domínio próprio para o GS1 Digital Link?

A sintaxe permite qualquer domínio com qualquer caminho antes, e a GS1 recomenda o seu próprio. Um subcaminho no domínio da empresa com redirecionamento é suficiente. Nosso post sobre o Passaporte Digital de Produto mostra como fazer isso sem um servidor novo.

Qual nível de correção de erros o QR Code deve usar?

A GS1 não define um: uma correção de erros maior é mais robusta, mas aumenta o símbolo. Um exemplo na diretriz da GS1 usa o nível M (15 %), assim como os nossos exemplos. O que importa é que o tamanho do módulo fique dentro da Tabela 5-46.

Uma impressora de 203 dpi consegue imprimir códigos de barras conformes ao Sunrise?

Sim. A 203 dpi, são permitidos de 4 a 7 pontos por módulo, e 4 pontos dão 0,500 mm, quase exatamente o alvo de 0,495 mm. O gargalo tende a ser o EAN-13 ao lado, que precisa de no mínimo ^BY3 a 203 dpi.

O QR Code precisa de um texto legível próprio?

Não, se estiver ao lado de um EAN-13 com HRI. Se o código de barras 2D for o único código de barras, ele mostra (01) seguido do GTIN de 14 dígitos (General Specifications, seção 4.14.2).

E os medicamentos e dispositivos médicos?

Eles continuam com o GS1 DataMatrix e element strings e com as obrigações existentes, como UDI ou DSCSA. Na área da saúde, o GS1 Digital Link não é codificado no código de barras 2D.

A verificação do zplCore é uma certificação GS1?

Não. É uma pré-verificação em relação a regras publicadas e um assistente para a migração. A aceitação depende do verificador, do varejista e da sua Organização-Membro GS1.

Fontes

Todas as fontes foram acessadas em 19 de outubro de 2026.

GS1, GS1 DataMatrix e GS1 Digital Link são marcas da GS1 AISBL e são usadas aqui apenas de forma descritiva. O zplCloud e o zplCore não são produtos da GS1.

Mais artigos