Menu

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.

1
Passo 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

2
Passo 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

3
Passo 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

4
Passo 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

5
Passo 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

6
Passo 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

7
Passo 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

8
Passo 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

9
Passo 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

10
Passo 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?

Não. Você pode escrever e testar código ZPL no Visualizador ZPL do ZPLPDF sem impressora. Quando quiser imprimir, pode converter o ZPL para PDF e usar qualquer impressora térmica compatível (Elgin, Xprinter, Knup) ou mesmo uma impressora a laser comum.

Qual é o tamanho de uma etiqueta de envio padrão para Mercado Livre e Shopee?

A etiqueta padrão de envio é 4x6 polegadas (100x150 mm). Em ZPL a 203 DPI se configura com ^PW812 (largura) e ^LL1218 (comprimento). Para etiquetas menores como 4x4 polegadas, use ^PW812 ^LL812.

Como calculo as coordenadas para posicionar elementos na etiqueta?

As coordenadas ^FO são medidas em pontos (dots) a partir do canto superior esquerdo. A 203 DPI: 1 polegada = 203 pontos, 1 mm equivale a aproximadamente 8 pontos. Para uma etiqueta de 4 polegadas de largura, o intervalo X é 0-812. Use o Visualizador ZPL para ajustar visualmente as posições.

Por que meus acentos e cedilhas aparecem como símbolos estranhos?

Falta o comando ^CI28 no início da sua etiqueta. Esse comando ativa a codificação UTF-8, necessária para acentos (á, é, í, ó, ú), cedilha (ç), til (ã, õ) e outros caracteres especiais do português. Coloque-o logo após ^XA: ^XA ^CI28 ...

Como criar uma etiqueta com dados variáveis (nome, endereço, código de rastreamento)?

Você tem duas opções: 1) Gere o código ZPL completo a partir da sua aplicação substituindo os dados variáveis em cada etiqueta. 2) Use campos ^FN no ZPL para criar um modelo e depois envie apenas os dados com o comando ^FN para preencher os campos. A opção 1 é mais simples para a maioria dos casos.

Posso criar etiquetas ZPL para os Correios a partir do Excel ou de um banco de dados?

Sim. A forma mais comum é gerar o código ZPL a partir da sua aplicação (Python, JavaScript, C#, Java) usando os dados do banco de dados ou Excel para preencher os campos variáveis (nome, endereço, código de rastreamento). Cada etiqueta é um bloco ^XA...^XZ com os dados inseridos.

Como imprimir várias etiquetas diferentes em uma única impressão?

Concatene múltiplos blocos ^XA...^XZ em um único envio. Cada bloco gera uma etiqueta diferente. Exemplo: ^XA...^XZ ^XA...^XZ ^XA...^XZ imprime 3 etiquetas distintas. Para cópias idênticas, use ^PQ(quantidade) dentro de um único bloco.

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.