Menu

Comandos ZPL Mais Comuns

Referência completa de mais de 40 comandos para programação de impressoras Zebra com exemplos práticos

Experimente nossas ferramentas ZPL gratuitas agora

Gratuito, sem cadastro — Resultados instantâneos

Referência de Comandos ZPL

ZPL (Zebra Programming Language) utiliza comandos que começam com ^ (caret) ou ~ (til). Os comandos com ^ são usados dentro do formato da etiqueta, entre ^XA e ^XZ. Os comandos com ~ são usados para configuração da impressora e podem ser enviados fora de um formato. Cada comando tem parâmetros opcionais separados por vírgula. Este guia cobre os comandos mais utilizados em etiquetas de envio, inventário, varejo e logística.

Categorias de comandos

Comandos de formato de etiqueta

ComandoDescripciónEjemploParámetros
^XAInício de formato de etiqueta. Todo código ZPL deve começar com este comando.^XA ... ^XZSem parâmetros
^XZFim de formato de etiqueta. Fecha o bloco iniciado com ^XA e envia a etiqueta para imprimir.^XA ^FO50,50 ^FDOlá^FS ^XZSem parâmetros
^FOOrigem de campo. Define a posição X,Y onde será colocado o próximo elemento (texto, código de barras, gráfico).^FO100,200x,y - Coordenadas em pontos (dots). 203 dpi = 8 dots/mm
^FTTipografia de campo. Similar ao ^FO mas posiciona a partir da linha base do texto, útil para alinhar textos de tamanhos diferentes.^FT100,200x,y - Coordenadas a partir da linha base do texto
^FSSeparador de campo. Indica o fim de um campo individual. Cada campo (texto, código de barras, gráfico) deve terminar com ^FS.^FO50,50^FDTexto^FSSem parâmetros
^CIMudar codificação internacional. Permite usar caracteres especiais como acentos (á, é, ã, ç) e símbolos.^CI28código - 28 = UTF-8, 13 = Latin-1. Use ^CI28 para português
^CFFonte padrão. Estabelece a fonte, orientação e tamanho padrão para toda a etiqueta.^CF0,30,30fonte,altura,largura - Fonte 0 é a fonte interna padrão
^FWOrientação padrão de campos. Estabelece a rotação padrão para texto e códigos de barras.^FWRN=Normal, R=90°, I=180°, B=270°

Comandos de texto

ComandoDescripciónEjemploParámetros
^ASeleção de fonte e tamanho. Define qual fonte usar e seu tamanho para o próximo campo de texto.^A0N,30,30f,o,h,w - f=Fonte (0-9,A-Z), o=Orientação (N,R,I,B), h=Altura, w=Largura
^FDDados de campo. O texto ou dado que será impresso. Sempre vai depois de ^FO e ^A, e antes de ^FS.^FO50,50^A0N,30,30^FDMeu texto^FStexto - Conteúdo a imprimir (máx. 3072 caracteres)
^FBBloco de campo multilinha. Cria uma área de texto com largura fixa que ajusta o texto automaticamente em várias linhas.^FB400,3,0,L,0^FDTexto longo que se ajusta automaticamente^FSlargura,max_linhas,espaçamento,alinhamento(L/C/R/J),recuo
^FHIndicador hexadecimal. Permite inserir caracteres especiais usando seu código hex precedido por _ (underscore).^FH^FDPreço: _c2_a250.00^FSindicador - Por padrão usa _ como prefixo hex
^FNNúmero de campo para templates. Cria campos numerados que podem ser preenchidos depois, útil para etiquetas com dados variáveis.^FO50,50^A0N,30,30^FN1^FSnúmero - Número do campo (1-999) para substituição
^SNSerialização numérica. Incrementa automaticamente um número em cada etiqueta impressa, ideal para números de série ou lotes.^FO50,50^A0N,30,30^SN001,1,Y^FSinício,incremento,preencher_zeros(Y/N)

Comandos de códigos de barras

ComandoDescripciónEjemploParámetros
^BYConfiguração base de código de barras. Define a largura do módulo, ratio e altura padrão. Deve ir ANTES do comando de código de barras.^BY2,3,100largura_módulo(1-10),ratio(2.0-3.0),altura - A largura controla a resolução
^BCCode 128 — O mais usado em logística e envios. Codifica números, letras e caracteres especiais. Padrão em transportadoras.^FO50,50^BY2^BCN,100,Y,N,N^FD123456789^FSo,altura,interpretação(Y/N),acima(Y/N),checksum(Y/N)
^BQCódigo QR. Codifica URLs, texto longo ou dados binários. Muito usado em etiquetas de rastreamento e marketing.^FO50,50^BQN,2,5^FDQA,https://exemplo.com^FSo,modelo(1/2),magnificação(1-10). Prefixo dados: QA=auto, QM=manual
^BEEAN-13 — Padrão mundial para produtos de varejo. Requer exatamente 12 dígitos (o 13° é checksum automático).^FO50,50^BY2^BEN,100,Y,N^FD789123456789^FSo,altura,interpretação(Y/N),acima(Y/N)
^BUUPC-A — Padrão no varejo dos Estados Unidos e Canadá. Requer exatamente 11 dígitos (o 12° é checksum).^FO50,50^BY2^BUN,100,Y,N^FD12345678901^FSo,altura,interpretação(Y/N),acima(Y/N)
^B3Code 39 — Muito usado em inventários e manufatura. Codifica apenas letras maiúsculas, números e alguns símbolos.^FO50,50^BY2^B3N,N,100,Y,N^FDABC123^FSo,checksum(Y/N),altura,interpretação(Y/N),acima(Y/N)
^BXDataMatrix — Código 2D compacto usado em manufatura, eletrônica e farmacêutica. Armazena muita informação em pouco espaço.^FO50,50^BXN,5,200^FDSN:ABC123456^FSo,altura,qualidade(0-200). 200=máxima correção de erros
^B7PDF417 — Código 2D de alta capacidade. Usado em CNH, passagens aéreas e documentos de identidade.^FO50,50^B7N,5,2,3,10,N^FDDados extensos aqui^FSo,altura,segurança(0-8),colunas,linhas,truncado(Y/N)
^BOAztec — Código 2D compacto sem zona de silêncio. Usado em bilhetes de transporte e aplicações com espaço limitado.^FO50,50^BON,5,N^FDDados Aztec^FSo,magnificação,ECL(Y/N). Não requer zona branca ao redor

Comandos gráficos e linhas

ComandoDescripciónEjemploParámetros
^GBDesenhar caixa ou retângulo. Cria bordas, separadores e molduras para organizar visualmente a etiqueta.^FO50,50^GB400,200,3^FSlargura,altura,espessura_linha,cor(B/W),arredondamento(0-8)
^GCDesenhar círculo. Cria um círculo com diâmetro e espessura de linha especificados.^FO50,50^GC100,3,B^FSdiâmetro,espessura_linha,cor(B/W)
^GDDesenhar linha diagonal. Cria uma linha do canto superior-esquerdo ao inferior-direito (ou vice-versa).^FO50,50^GD200,100,3,B,L^FSlargura,altura,espessura,cor(B/W),direção(L/R)
^GEDesenhar elipse. Cria uma elipse com largura, altura e espessura de borda especificados.^FO50,50^GE200,100,3,B^FSlargura,altura,espessura_linha,cor(B/W)
^GFCampo gráfico. Insere uma imagem em formato comprimido (hex ou Z64). Usado para logos, assinaturas e gráficos personalizados.^GFA,dados_comprimidos...formato(A=ASCII hex),bytes_dados,bytes_por_linha,linhas,dados

Configuração de etiqueta

ComandoDescripciónEjemploParámetros
^LHOrigem da etiqueta (Label Home). Desloca o ponto de referência (0,0) de toda a etiqueta. Útil para ajustar margens.^LH30,20x,y - Nova origem em pontos
^LLComprimento da etiqueta. Define o comprimento total da etiqueta em pontos. Necessário se a impressora não detectar automaticamente.^LL800comprimento - Em pontos. 203dpi: 800pts ≈ 100mm
^PWLargura de impressão. Define a largura máxima de impressão. Útil para centralizar conteúdo em etiquetas estreitas.^PW812largura - Em pontos. 4" a 203dpi = 812 pontos
^LTAjuste superior da etiqueta (Label Top). Desloca toda a imagem para cima ou para baixo para calibrar a posição vertical.^LT10deslocamento - Positivo=baixo, negativo=cima (-120 a 120)
^LSDeslocamento lateral (Label Shift). Move toda a imagem para esquerda ou direita para calibração horizontal.^LS-20deslocamento - Positivo=direita, negativo=esquerda
^MNTipo de mídia (Media Tracking). Configura como a impressora detecta as etiquetas: por marca preta, espaço ou contínuo.^MNYN=Contínuo, Y=Espaço/Gap, M=Marca preta, W=Web sensing
^MMModo de impressão. Controla se a impressora corta, descola ou rebobina as etiquetas após imprimir.^MMTT=Tear-off, P=Peel-off, R=Rewind, C=Cutter, A=Applicator

Comandos de impressão

ComandoDescripciónEjemploParámetros
^PQQuantidade de impressão. Define quantas cópias imprimir da etiqueta atual. Suporta pausa entre grupos.^PQ3,0,1,Yquantidade,pausa_entre_grupos,cópias_por_grupo,override(Y/N)
^PRVelocidade de impressão. Controla velocidades de impressão, retrocesso e alimentação. Menor velocidade = melhor qualidade.^PR4,4,4impressão(1-14),retrocesso,alimentação - Velocidade em polegadas/segundo
^PMImagem espelhada. Inverte toda a imagem horizontalmente. Útil para impressão em materiais transparentes.^PMYY=Espelho ativado, N=Normal
^POOrientação de impressão. Rotaciona toda a etiqueta 180° para impressoras que alimentam por baixo.^POIN=Normal, I=Invertido (180°)

Comandos de configuração de impressora (~)

ComandoDescripciónEjemploParámetros
~SDConfigurar escuridão (Set Darkness). Ajusta a intensidade de impressão. Valores altos = mais escuro, mais consumo de ribbon.~SD15valor (0-30) - Recomendado: 10-20 para thermal transfer
~JACancelar todos os trabalhos. Para a impressão atual e limpa o buffer da impressora.~JASem parâmetros
~HSStatus do host. Solicita informações de status da impressora: papel, ribbon, erros ativos.~HSSem parâmetros - Retorna 3 linhas de status
~DGDownload de gráfico. Armazena uma imagem na memória da impressora para uso repetido sem reenviar dados.~DGR:LOGO.GRF,bytes,largura,dadosnome,bytes_totais,bytes_por_linha,dados_hex

Perguntas frequentes sobre comandos ZPL

Quais são os comandos ZPL essenciais para iniciantes?

Os 6 comandos fundamentais são: ^XA (início da etiqueta), ^XZ (fim), ^FO (posição X,Y), ^A (fonte e tamanho), ^FD (texto a imprimir) e ^FS (fim de campo). Com esses 6 comandos você já cria etiquetas básicas de texto. Para etiquetas de envio, adicione ^BY (configurar código de barras) e ^BC (Code 128).

Qual a diferença entre ^FO e ^FT no ZPL?

^FO (Field Origin) posiciona a partir do canto superior esquerdo do elemento. ^FT (Field Typeset) posiciona a partir da linha base do texto. Para a maioria dos casos ^FO é mais intuitivo. Use ^FT quando precisar alinhar textos de tamanhos diferentes na mesma linha base, pois ^FT mantém o alinhamento vertical independente do tamanho da fonte.

Como imprimir acentos e cedilha (ç) em ZPL?

Use o comando ^CI28 no início da sua etiqueta para ativar a codificação UTF-8. Exemplo: ^XA ^CI28 ^FO50,50 ^A0N,30,30 ^FDSão Paulo — Ação^FS ^XZ. Sem ^CI28, caracteres especiais como á, é, ã, ç aparecerão como símbolos incorretos.

Como imprimir múltiplas cópias da mesma etiqueta?

Use o comando ^PQ antes de ^XZ. Exemplo: ^PQ5 imprime 5 cópias. Para serialização (números incrementais), use ^SN dentro do campo: ^FO50,50 ^A0N,30,30 ^SN001,1,Y^FS imprimirá 001, 002, 003... em cada cópia sucessiva.

Os comandos ZPL funcionam em impressoras Elgin, Knup e Xprinter?

Não diretamente. ZPL é nativo apenas das impressoras Zebra. Algumas impressoras como TSC e SATO têm modos de compatibilidade parcial, mas não é 100% confiável. Para impressoras Elgin L42 Pro, Xprinter XP-365B, Knup ou Brother, a solução recomendada é converter o ZPL para PDF usando o ZPLPDF e depois imprimir o PDF normalmente.

Qual código de barras usar para etiquetas de envio?

Code 128 (^BC) é o padrão em logística e transportadoras no mundo inteiro. Para etiquetas de marketplace como Mercado Livre, Amazon ou Shopee, o código já vem na etiqueta ZPL gerada pela plataforma. Se precisar criar seu próprio código de barras de envio, use ^BY2 ^BCN,100,Y para um Code 128 legível com interpretação visível abaixo.

Como ajustar o tamanho e qualidade de impressão em ZPL?

Para a resolução de códigos de barras, ajuste o primeiro parâmetro de ^BY (largura do módulo): ^BY2 para padrão, ^BY3 para mais grosso. Para a escuridão geral, use ~SD seguido de um valor de 0-30 (recomendado 15). Para a velocidade (menor = melhor qualidade), use ^PR seguido da velocidade em polegadas/segundo: ^PR4 é um bom equilíbrio qualidade/velocidade.

Valide seu código ZPL

Use nosso validador para verificar se seu código ZPL está correto antes de enviar para a impressora.