Como Criar Etiquetas ZPL
Tutorial passo a passo com 10 exemplos práticos para criar etiquetas profissionais do zero
Experimente nossas ferramentas ZPL gratuitas agora
Gratuito, sem cadastro — Resultados instantâneos
Introdução ao ZPL
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.
1Passo 1: Estrutura básica de uma etiqueta ZPL
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
2Passo 2: Configurar o tamanho da etiqueta
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
3Passo 3: Posicionamento com ^FO
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
4Passo 4: Texto com diferentes fontes e tamanhos
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
5Passo 5: Códigos de barras com ^BY e ^BC
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
6Passo 6: Códigos QR
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 um prefixo: QA para detecção automática. 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 ^FDQA,https://zplpdf.com^FS ^FO350,50 ^BQN,2,3 ^FDQA,Produto: SKU-001^FS ^XZ
7Passo 7: Desenhar linhas, caixas e separadores
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
8Passo 8: Caracteres especiais e acentos com ^CI28
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
9Passo 9: Imprimir múltiplas cópias com ^PQ
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
10Passo 10: Etiqueta de envio completa
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 ^FDQA,https://rastreamento.correios.com.br/BR123456789BR^FS ^FO40,470^A0N,20,20^FDPeso: 1,5 kg | Volume 1 de 1^FS ^XZ
Dicas para criar etiquetas ZPL
- Sempre teste seu código no Visualizador ZPL do ZPLPDF antes de enviar para a impressora
- Coloque ^CI28 no início se precisar de acentos, cedilha (ç) ou caracteres especiais do português
- Use ^BY ANTES de cada código de barras para controlar a espessura e a altura
- Para etiquetas 4x6 polegadas (padrão Mercado Livre, Shopee e Correios): use ^PW812 ^LL1218 a 203 DPI
- As coordenadas ^FO são medidas em pontos: a 203 DPI, 1 polegada = 203 pontos, 1 mm equivale a aproximadamente 8 pontos
- Use ^FB para criar blocos de texto multilinha com quebra automática de palavras
- Organize visualmente a etiqueta com ^GB para criar molduras e linhas separadoras
- Salve modelos reutilizáveis — altere apenas os dados variáveis com ^FN para etiquetas em série
- Valide seu código com o Validador ZPL para detectar erros de sintaxe antes de imprimir
- Se não tiver impressora Zebra, converta seu ZPL para PDF com o ZPLPDF e imprima de qualquer impressora Elgin, Xprinter ou térmica compatível
Perguntas frequentes sobre criar etiquetas ZPL
Preciso de uma impressora Zebra para usar código ZPL?
Qual é o tamanho de uma etiqueta de envio padrão para Mercado Livre e Shopee?
Como calculo as coordenadas para posicionar elementos na etiqueta?
Por que meus acentos e cedilhas aparecem como símbolos estranhos?
Como criar uma etiqueta com dados variáveis (nome, endereço, código de rastreamento)?
Posso criar etiquetas ZPL para os Correios a partir do Excel ou de um banco de dados?
Como imprimir várias etiquetas diferentes em uma única impressão?
Teste seu código ZPL agora
Use nosso visualizador ZPL para ver como ficará sua etiqueta antes de imprimi-la. Não precisa de impressora.