Tutorial passo a passo com 10 exemplos práticos para criar etiquetas profissionais do zero
Experimente nossas ferramentas ZPL gratuitas agora
Grátis, funciona no navegador — Resultados instantâneos
ZPL (Zebra Programming Language) é a linguagem padrão para programar impressoras térmicas e é utilizado por marketplaces como Mercado Livre, Shopee e pelos Correios para gerar etiquetas de envio. Funciona em impressoras Zebra, Elgin, Xprinter e muitas outras compatíveis. Neste tutorial você aprenderá a criar etiquetas ZPL do zero em 10 passos progressivos, desde a estrutura básica até uma etiqueta de envio completa. Cada passo inclui código que você pode copiar e testar diretamente no Visualizador ZPL do ZPLPDF. Não precisa de impressora: converta seu ZPL para PDF e imprima de qualquer impressora.
Toda etiqueta ZPL começa com ^XA (início de formato) e termina com ^XZ (fim de formato). Entre estes comandos são definidos todos os elementos. Cada elemento (texto, código de barras, gráfico) é um 'campo' que se define com ^FO (posição), o conteúdo, e ^FS (fim de campo). Essa estrutura é obrigatória — sem ^XA/^XZ a impressora ignorará o código.
^XA ^FO50,50 ^A0N,30,30 ^FDOla Mundo^FS ^XZ
Use ^LL para definir o comprimento da etiqueta e ^PW para a largura de impressão, ambos em pontos (dots). A 203 DPI: 1 polegada = 203 pontos, 1 mm = 8 pontos. Uma etiqueta padrão de 4x6 polegadas precisa de ^PW812 ^LL1218. O comando ^LH ajusta a origem (margens) de toda a etiqueta.
^XA ^PW812 ^LL1218 ^LH10,10 ^FO50,50^A0N,30,30 ^FDEtiqueta 4x6 polegadas^FS ^XZ
O comando ^FO (Field Origin) define a posição X,Y onde será colocado o próximo elemento. As coordenadas são medidas em pontos a partir do canto superior esquerdo da etiqueta. X cresce para a direita, Y cresce para baixo. A 203 DPI, 100 pontos equivalem a aproximadamente 12,5 mm. Você pode colocar múltiplos elementos em posições diferentes dentro da mesma etiqueta.
^XA ^FO50,30^A0N,25,25^FDCanto superior esquerdo^FS ^FO300,30^A0N,25,25^FDDireita^FS ^FO50,200^A0N,25,25^FDAbaixo esquerda^FS ^FO300,200^A0N,25,25^FDAbaixo direita^FS ^XZ
O comando ^A define a fonte a utilizar. Formato: ^A(fonte)(orientação),(altura),(largura). A fonte 0 é a padrão. Orientações: N=normal, R=90°, I=180°, B=270°. A altura e a largura são medidas em pontos. Para texto com quebra automática de linha, use ^FB(largura),(linhas),(espaçamento),(alinhamento) antes de ^FD.
^XA ^FO50,30^A0N,50,50^FDTítulo Grande^FS ^FO50,100^A0N,30,30^FDSubtítulo médio^FS ^FO50,150^A0N,20,20^FDTexto pequeno^FS ^FO50,200^A0R,30,30^FDTexto rotacionado 90°^FS ^FO50,300^FB400,3,0,C,0 ^A0N,25,25^FDEste texto se ajusta automaticamente em um bloco de 400 pontos de largura^FS ^XZ
Para criar um código de barras, primeiro configure o tamanho com ^BY(largura_módulo,ratio,altura) e depois use o comando do tipo de código. ^BC cria Code 128 (o padrão na logística). Parâmetros de ^BC: orientação, altura, interpretação_humana(Y/N), texto_acima(Y/N), checksum(Y/N). Sempre use Y na interpretação para que o número seja legível abaixo das barras. O Mercado Livre, Shopee e Correios utilizam Code 128.
^XA ^FO50,50^BY2,3,100 ^BCN,100,Y,N,N ^FD123456789^FS ^FO50,200^BY3 ^BCN,80,Y,N,N ^FDABC-001-XYZ^FS ^XZ
O comando ^BQ cria códigos QR. Formato: ^BQ(orientação),(modelo),(magnificação). Use sempre o modelo 2 e ajuste a magnificação (1-10) conforme o tamanho desejado. Os dados devem ir precedidos por dois caracteres antes da vírgula: o primeiro é o nível de correção de erros (H/Q/M/L) e o segundo é o modo de entrada (A = codificação automática, M = segmentos manuais). Use HA, como default recomendado — correção H (~30% recuperação) mais codificação automática. Para UTF-8 / caracteres internacionais, adicione ^CI28 antes do ^BQ em vez de trocar o prefixo. Magnificação 5 é um bom ponto de partida para etiquetas padrão. Ideal para links de rastreamento dos Correios ou páginas de produto.
^XA ^FO50,50 ^BQN,2,5 ^FDHA,https://zplpdf.com^FS ^FO350,50 ^BQN,2,3 ^FDHA,Produto: SKU-001^FS ^XZ
O comando ^GB desenha caixas e retângulos: ^GB(largura,altura,espessura_linha). Se a largura e a altura forem iguais à espessura, desenha uma linha. Use caixas para criar molduras, separadores e organizar visualmente os elementos da etiqueta. Também é possível criar círculos com ^GC(diâmetro,espessura) e linhas diagonais com ^GD.
^XA ^FO30,30^GB500,300,2^FS ^FO30,120^GB500,1,1^FS ^FO50,50^A0N,30,30^FDCabeçalho^FS ^FO50,140^A0N,25,25^FDConteúdo da etiqueta^FS ^FO50,200^A0N,25,25^FDMais informações aqui^FS ^FO400,250^GC50,2,B^FS ^XZ
Por padrão, ZPL não suporta acentos nem caracteres especiais (á, é, ç, ã, õ). Para habilitá-los, adicione ^CI28 no início da sua etiqueta para ativar a codificação UTF-8. Isso é essencial para etiquetas em português com nomes, endereços e informações com acentuação. Sem ^CI28, os acentos aparecerão como símbolos incorretos na impressão.
^XA ^CI28 ^FO50,50^A0N,30,30 ^FDSenhor João Conceição^FS ^FO50,100^A0N,30,30 ^FDEndereço: Av. São Paulo, 123^FS ^FO50,150^A0N,30,30 ^FDCidade: São Luís - MA^FS ^XZ
O comando ^PQ(quantidade) antes de ^XZ define quantas cópias imprimir. Para serialização automática (números que se incrementam a cada cópia), use ^SN(início,incremento,zeros) dentro do campo. Isso é ideal para gerar etiquetas com números de série consecutivos sem enviar cada etiqueta individualmente.
^XA ^FO50,50^A0N,30,30 ^FDProduto: Widget Pro^FS ^FO50,100^A0N,25,25 ^FDSérie: ^FS ^FO130,100^A0N,25,25 ^SN0001,1,Y^FS ^FO50,150^BY2^BCN,80,Y ^FDSKU-WIDGET-PRO^FS ^PQ5 ^XZ
Este exemplo combina todos os conceitos do tutorial em uma etiqueta de envio real, como as utilizadas no Mercado Livre, Shopee e Correios: configuração de tamanho, moldura com caixas, texto em diferentes tamanhos, código de barras Code 128 para o número de rastreamento, código QR com URL de rastreamento, e suporte a acentos com ^CI28. Use isso como modelo base para suas próprias etiquetas.
^XA ^CI28 ^PW812^LL609 ^FO20,20^GB772,569,2^FS ^FO20,100^GB772,1,1^FS ^FO20,300^GB772,1,1^FS ^FO40,35^A0N,40,40^FDEnvio Expresso^FS ^FO40,120^A0N,25,25^FDDe: João da Silva^FS ^FO40,155^A0N,25,25^FDRua das Acácias, 456 - Centro^FS ^FO40,190^A0N,25,25^FDSão Paulo, SP, CEP 01310-100^FS ^FO40,240^A0N,30,30^FDPara: Maria Conceição^FS ^FO40,275^A0N,25,25^FDFortaleza, CE, CEP 60110-001^FS ^FO40,320^BY2^BCN,120,Y ^FDBR123456789BR^FS ^FO600,320^BQN,2,4 ^FDHA,https://rastreamento.correios.com.br/BR123456789BR^FS ^FO40,470^A0N,20,20^FDPeso: 1,5 kg | Volume 1 de 1^FS ^XZ
Use nosso visualizador ZPL para ver como ficará sua etiqueta antes de imprimi-la. Não precisa de impressora.