Códigos de Barras ZPL: Code 128, QR, EAN e Data Matrix
ZPLCraftAtualizado em 30 de setembro de 2026

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
| Simbologia | Comando | Uso típico |
|---|---|---|
| Code 128 | ^BC | SKUs, números de pedido, rastreamento e qualquer dado alfanumérico |
| GS1-128 | ^BC … D | Dados logísticos com identificadores de aplicação GS1, etiquetas de pallet SSCC |
| QR code | ^BQ | Links da web, etiquetas de ativos e leitura pelo celular |
| EAN-13 | ^BE | Produtos de varejo no ponto de venda |
| UPC-A | ^BU | Produtos de varejo na América do Norte |
| Data Matrix | ^BX | Peças pequenas, eletrônicos e saúde (GS1 DataMatrix) |
| PDF417 | ^B7 | Documentos e IDs que precisam de muitos dados em uma área pequena |
| Code 39 | ^B3 | Sistemas industriais e automotivos mais antigos |
| Interleaved 2 of 5 | ^B2 | Caixas 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,100A 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
^XZGS1-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
^XZOs 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.

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
^XZEAN-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
^XZData 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
^XZUm 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
^XZAbrir este exemplo de código de barras 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.

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.