Códigos de Barras ZPL: Code 128, QR, EAN e Data Matrix

Atualizado em 30 de setembro de 2026

Códigos de barras Code 128, QR, EAN-13 e Data Matrix gerados a partir de comandos ZPL em uma etiqueta térmica

Os códigos de barras são a razão de existir da maioria das etiquetas térmicas. O ZPL tem um comando dedicado para cada simbologia comum, e a própria impressora desenha as barras na sua resolução nativa, por isso os códigos de barras ZPL saem mais nítidos que imagens de código de barras.

Este guia cobre os comandos que você realmente vai usar: ^BY para dimensionamento, ^BC para Code 128 e GS1-128, ^BQ para QR codes, ^BE para EAN-13, ^BX para Data Matrix e ^B7 para PDF417, com exemplos funcionais e as regras de tamanho que decidem se um código de barras é lido.

Qual comando de código de barras ZPL usar

Simbologias de código de barras comuns e seus comandos ZPL
SimbologiaComandoUso típico
Code 128^BCSKUs, números de pedido, rastreamento e qualquer dado alfanumérico
GS1-128^BC … DDados logísticos com identificadores de aplicação GS1, etiquetas de pallet SSCC
QR code^BQLinks da web, etiquetas de ativos e leitura pelo celular
EAN-13^BEProdutos de varejo no ponto de venda
UPC-A^BUProdutos de varejo na América do Norte
Data Matrix^BXPeças pequenas, eletrônicos e saúde (GS1 DataMatrix)
PDF417^B7Documentos e IDs que precisam de muitos dados em uma área pequena
Code 39^B3Sistemas industriais e automotivos mais antigos
Interleaved 2 of 5^B2Caixas de transporte (ITF-14)

Dimensionando códigos de barras com ^BY

^BY define os padrões dos códigos de barras que vêm depois dele: a largura do módulo (a largura da barra mais estreita, em dots), a proporção entre barra larga e estreita nas simbologias que a usam e a altura das barras. A largura do módulo decide quase tudo em um código de barras linear, porque o símbolo inteiro escala com ela.

^BYw,r,h
^BY2,3,100

A 203 dpi, um dot equivale a 0,125 mm, então uma largura de módulo 2 gera barras de 0,25 mm e uma largura de módulo 3 gera barras de 0,375 mm. Leitores de mão costumam ler módulos de 2 dots sem dificuldade; etiquetas lidas à distância ou em superfícies curvas se beneficiam de 3 ou mais. Como os módulos precisam ser dots inteiros, um código de barras não pode ser esticado até uma largura arbitrária sem mudar a forma como é lido.

Code 128 com ^BC

O Code 128 codifica letras, dígitos e símbolos de forma compacta e é a escolha padrão para SKUs e números de pedido. O ^BC recebe a orientação, a altura das barras, se a linha legível deve ser impressa (e se acima ou abaixo) e um modo. A impressora calcula o caractere verificador automaticamente.

^XA
^BY2,3,90
^FO40,40^BCN,90,Y,N,N^FDSKU-100245^FS
^XZ

GS1-128 com ^BC modo D

O GS1-128 é um Code 128 com identificadores de aplicação (AIs) GS1, como (01) para o GTIN, (10) para um lote e (00) para um SSCC. No modo D, escreva os AIs entre parênteses no ^FD: a impressora insere os caracteres FNC1 necessários, deixa os parênteses fora dos dados codificados e os imprime na linha legível.

^XA
^BY2
^FO40,40^BCN,110,Y,N,N,D^FD(01)09520123456788(10)LOT7^FS
^XZ

Os dados GS1 seguem regras rígidas: AIs de tamanho fixo, dígitos verificadores e caracteres permitidos. O editor da ZPLCraft inclui um assistente GS1 que monta os dados um AI por vez e os valida antes de chegarem à etiqueta.

Código de barras GS1-128 SSCC em uma etiqueta de envio com o assistente GS1 mostrando o identificador de aplicação 00 e seu valor
O assistente GS1 valida os identificadores de aplicação antes de aplicá-los.

QR codes com ^BQ

^BQN,2,6 seleciona orientação normal, QR modelo 2 e ampliação de 6 (cada módulo tem 6 × 6 dots). Os dados do campo começam com o nível de correção de erros e o modo de entrada, seguidos de vírgula: LA, significa nível L com entrada automática. Use H ou Q em vez de L quando o código puder ser arranhado ou ficar parcialmente coberto.

^XA
^FO40,40^BQN,2,6^FDLA,https://example.com/p/100245^FS
^XZ

EAN-13 e UPC-A com ^BE e ^BU

Para EAN-13, envie os 12 primeiros dígitos e a impressora acrescenta o dígito verificador; o UPC-A com ^BU funciona do mesmo modo, com 11 dígitos. Os códigos de barras de varejo devem usar um GTIN atribuído à sua empresa pela GS1 e não devem ser reduzidos abaixo do tamanho exigido pelo seu varejista.

^XA
^BY3
^FO40,40^BEN,90,Y,N^FD590123412345^FS
^XZ

Data Matrix e PDF417

^BX imprime Data Matrix: o segundo parâmetro é o tamanho de cada módulo em dots e o nível de qualidade 200 seleciona a versão padrão ECC 200. Ele armazena muitos dados em um quadrado bem pequeno, por isso é comum em peças pequenas e dispositivos médicos. ^B7 imprime PDF417, um código de barras empilhado usado em documentos e IDs; seus parâmetros definem a altura das linhas e o nível de correção de erros.

^XA
^FO40,40^BXN,8,200^FD100245-LOT7^FS
^FO300,40^BY2^B7N,6,3,,,N^FDORDER 100245 / 3 PARCELS^FS
^XZ

Um exemplo funcional de código de barras

Esta etiqueta imprime um exemplo de cada simbologia comum em uma etiqueta de 4 polegadas a 203 dpi. Abra-a no visualizador para alterar os dados e os parâmetros e ver os códigos de barras se atualizarem.

^XA
^PW812
^LL1000
^CI28
^CF0,28
^FO40,30^FDCode 128^FS
^BY2,3,90
^FO40,70^BCN,90,Y,N,N^FDSKU-100245^FS
^FO470,30^FDQR code^FS
^FO470,60^BQN,2,6^FDLA,https://example.com/p/100245^FS
^FO40,260^FDEAN-13^FS
^BY3
^FO40,300^BEN,90,Y,N^FD590123412345^FS
^FO470,260^FDData Matrix^FS
^FO470,300^BXN,8,200^FD100245-LOT7^FS
^FO40,500^FDGS1-128^FS
^BY2
^FO40,540^BCN,110,Y,N,N,D^FD(01)09520123456788(10)LOT7^FS
^FO40,730^FDPDF417^FS
^BY2
^FO40,770^B7N,6,3,,,N^FDORDER 100245 / 3 PARCELS^FS
^XZ

Abrir este exemplo de código de barras no visualizador ZPL

Visualizador ZPL renderizando códigos de barras Code 128, QR, EAN-13, Data Matrix, GS1-128 e PDF417 a partir do código de exemplo
A etiqueta de exemplo renderizada no visualizador ZPL.

Criando códigos de barras sem escrever ZPL

No editor da ZPLCraft, adicione Code 128, QR Code ou EAN / GS1 pelo painel Códigos. O painel Propriedades expõe as mesmas configurações dos comandos ZPL: simbologia, conteúdo, largura do módulo e altura das barras em dots e se o texto legível é exibido. A opção Manter o tamanho do código faz os valores alterados caberem nas dimensões atuais, o que é útil quando o conteúdo vem de uma planilha.

Código de barras Code 128 selecionado no editor da ZPLCraft com configurações de conteúdo, simbologia, largura do módulo e altura das barras
As propriedades do código de barras correspondem diretamente aos parâmetros ZPL.

Para códigos de barras GS1, o assistente GS1 permite escolher cada identificador de aplicação em uma lista, verifica tamanhos e dígitos verificadores e mostra a saída canônica antes de aplicá-la.

Como Criar uma Etiqueta ZPL: Tutorial Passo a Passo →

Por que um código de barras ZPL não é lido

  • Largura do módulo pequena demais. Módulos de um dot a 203 dpi medem 0,125 mm e muitos leitores não conseguem resolvê-los. Aumente a largura do módulo no ^BY.
  • Falta de zona de silêncio. Os códigos de barras lineares precisam de espaço vazio dos dois lados, de pelo menos dez vezes a largura do módulo no Code 128. Mantenha texto e caixas longe das barras.
  • Código de barras impresso como imagem. Um código de barras redimensionado como bitmap pode acabar com barras de largura irregular. Os comandos ZPL nativos de código de barras evitam isso.
  • Resolução da impressora errada. O ZPL escrito para 203 dpi é impresso com cerca de dois terços do tamanho pretendido em uma impressora de 300 dpi, o que pode levar os módulos abaixo do que um leitor consegue ler.
  • Escurecimento ou velocidade de impressão. Barras que se juntam ou se quebram costumam ser um problema de escurecimento ou velocidade na impressora, não de design.

Perguntas sobre códigos de barras ZPL

Como aumentar um código de barras ZPL?

Aumente a largura do módulo no ^BY para códigos de barras lineares, a ampliação no ^BQ para QR codes ou o tamanho do módulo no ^BX para Data Matrix. Aumente o parâmetro de altura para barras mais altas. A largura sempre muda em passos de dots inteiros.

A impressora calcula os dígitos verificadores?

Sim, nas simbologias que exigem um: o Code 128 acrescenta seu caractere verificador automaticamente, e ^BE e ^BU calculam o dígito verificador do EAN-13 e do UPC-A a partir dos primeiros 12 ou 11 dígitos.

Qual código de barras devo usar em uma etiqueta de envio?

Siga a especificação da transportadora. Os códigos de rastreamento das transportadoras costumam ser Code 128 ou GS1-128, e muitas transportadoras acrescentam um código 2D como MaxiCode ou PDF417.

Posso visualizar códigos de barras ZPL sem impressora?

Sim. O visualizador ZPL renderiza Code 128, QR, EAN, UPC, Data Matrix, PDF417 e outras simbologias comuns no navegador. Uma prévia não comprova o desempenho de leitura, então teste a etiqueta impressa com o leitor que você usa.

Fontes