Menu

Cómo Crear Etiquetas ZPL

Tutorial paso a paso con 10 ejemplos prácticos para crear etiquetas profesionales desde cero

Prueba nuestras herramientas ZPL gratuitas ahora

Gratis, sin registro — Resultados instantáneos

Introducción a ZPL

ZPL (Zebra Programming Language) es el lenguaje estándar para programar impresoras térmicas Zebra y es utilizado por marketplaces como Mercado Libre, Amazon y Shopee para generar etiquetas de envío. En este tutorial aprenderás a crear etiquetas ZPL desde cero en 10 pasos progresivos, desde la estructura básica hasta una etiqueta de envío completa. Cada paso incluye código que puedes copiar y probar directamente en el Visor ZPL de ZPLPDF. No necesitas una impresora Zebra: puedes convertir tu código ZPL a PDF e imprimir desde cualquier impresora.

1
Paso 1: Estructura básica de una etiqueta ZPL

Toda etiqueta ZPL comienza con ^XA (inicio de formato) y termina con ^XZ (fin de formato). Entre estos comandos se definen todos los elementos. Cada elemento (texto, código de barras, gráfico) es un "campo" que se define con ^FO (posición), el contenido, y ^FS (fin de campo). Esta estructura es obligatoria — sin ^XA/^XZ la impresora ignorará el código.

^XA
^FO50,50
^A0N,30,30
^FDHola Mundo^FS
^XZ

2
Paso 2: Configurar el tamaño de la etiqueta

Usa ^LL para definir el largo de la etiqueta y ^PW para el ancho de impresión, ambos en puntos (dots). A 203 DPI: 1 pulgada = 203 puntos, 1 mm = 8 puntos. Una etiqueta estándar de 4x6 pulgadas necesita ^PW812 ^LL1218. El comando ^LH ajusta el origen (márgenes) de toda la etiqueta.

^XA
^PW812
^LL1218
^LH10,10
^FO50,50^A0N,30,30
^FDEtiqueta 4x6 pulgadas^FS
^XZ

3
Paso 3: Posicionamiento con ^FO

El comando ^FO (Field Origin) define la posición X,Y donde se colocará el siguiente elemento. Las coordenadas se miden en puntos desde la esquina superior izquierda de la etiqueta. X crece hacia la derecha, Y crece hacia abajo. A 203 DPI, 100 puntos ≈ 12.5 mm. Puedes colocar múltiples elementos en diferentes posiciones dentro de la misma etiqueta.

^XA
^FO50,30^A0N,25,25^FDEsquina superior^FS
^FO300,30^A0N,25,25^FDDerecha^FS
^FO50,200^A0N,25,25^FDAbajo izquierda^FS
^FO300,200^A0N,25,25^FDAbajo derecha^FS
^XZ

4
Paso 4: Texto con diferentes fuentes y tamaños

El comando ^A define la fuente a utilizar. Formato: ^A(fuente)(orientación),(alto),(ancho). La fuente 0 es la estándar. Orientaciones: N=normal, R=90°, I=180°, B=270°. El alto y ancho se miden en puntos. Para texto multilínea con ajuste automático, usa ^FB(ancho),(líneas),(espaciado),(alineación) antes de ^FD.

^XA
^FO50,30^A0N,50,50^FDTítulo Grande^FS
^FO50,100^A0N,30,30^FDSubtítulo mediano^FS
^FO50,150^A0N,20,20^FDTexto pequeño^FS
^FO50,200^A0R,30,30^FDTexto rotado 90°^FS
^FO50,300^FB400,3,0,C,0
^A0N,25,25^FDEste texto se ajusta automáticamente en un bloque de 400 puntos de ancho^FS
^XZ

5
Paso 5: Códigos de barras con ^BY y ^BC

Para crear un código de barras, primero configura el tamaño con ^BY(ancho_módulo,ratio,alto), luego usa el comando del tipo de código. ^BC crea Code 128 (el estándar en logística). Parámetros de ^BC: orientación, alto, interpretación_humana(Y/N), texto_arriba(Y/N), checksum(Y/N). Siempre usa Y en interpretación para que el número sea legible bajo las barras.

^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
Paso 6: Códigos QR

El comando ^BQ crea códigos QR. Formato: ^BQ(orientación),(modelo),(magnificación). Usa siempre modelo 2 y ajusta la magnificación (1-10) según el tamaño deseado. Los datos deben ir precedidos por un prefijo: QA para detección automática, o MM,A para datos con caracteres especiales. Magnificación 5 es un buen punto de partida para etiquetas estándar.

^XA
^FO50,50
^BQN,2,5
^FDQA,https://zplpdf.com^FS
^FO350,50
^BQN,2,3
^FDQA,Producto: SKU-001^FS
^XZ

7
Paso 7: Dibujar líneas, cajas y separadores

El comando ^GB dibuja cajas y rectángulos: ^GB(ancho,alto,grosor_línea). Si ancho y alto son iguales al grosor, dibuja una línea. Usa cajas para crear marcos, separadores y organizar visualmente los elementos de la etiqueta. También puedes crear círculos con ^GC(diámetro,grosor) y líneas diagonales con ^GD.

^XA
^FO30,30^GB500,300,2^FS
^FO30,120^GB500,1,1^FS
^FO50,50^A0N,30,30^FDEncabezado^FS
^FO50,140^A0N,25,25^FDContenido de la etiqueta^FS
^FO50,200^A0N,25,25^FDMás información aquí^FS
^FO400,250^GC50,2,B^FS
^XZ

8
Paso 8: Caracteres especiales y acentos con ^CI28

Por defecto, ZPL no soporta acentos ni caracteres especiales (á, é, ñ, ü). Para habilitarlos, agrega ^CI28 al inicio de tu etiqueta para activar la codificación UTF-8. Esto es esencial para etiquetas en español, portugués o cualquier idioma con caracteres no-ASCII. Sin ^CI28, los acentos aparecerán como símbolos incorrectos.

^XA
^CI28
^FO50,50^A0N,30,30
^FDSeñor José García^FS
^FO50,100^A0N,30,30
^FDDirección: Av. Ñoño #123^FS
^FO50,150^A0N,30,30
^FDCódigo: Ü-2024-MX^FS
^XZ

9
Paso 9: Imprimir múltiples copias con ^PQ

El comando ^PQ(cantidad) antes de ^XZ define cuántas copias imprimir. Para serialización automática (números que se incrementan en cada copia), usa ^SN(inicio,incremento,relleno_ceros) dentro del campo. Esto es ideal para generar etiquetas con números de serie consecutivos sin enviar cada etiqueta individualmente.

^XA
^FO50,50^A0N,30,30
^FDProducto: Widget Pro^FS
^FO50,100^A0N,25,25
^FDSerie: ^FS
^FO130,100^A0N,25,25
^SN0001,1,Y^FS
^FO50,150^BY2^BCN,80,Y
^FDSKU-WIDGET-PRO^FS
^PQ5
^XZ

10
Paso 10: Etiqueta de envío completa

Este ejemplo combina todos los conceptos del tutorial en una etiqueta de envío real: configuración de tamaño, marco con cajas, texto en diferentes tamaños, código de barras Code 128 para el número de guía, código QR con URL de rastreo, y soporte para acentos. Puedes usar esto como plantilla base para tus propias 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^FDEnvío Express^FS
^FO40,120^A0N,25,25^FDDe: Juan García López^FS
^FO40,155^A0N,25,25^FDCalle Mérida #456, Col. Centro^FS
^FO40,190^A0N,25,25^FDMérida, Yucatán, CP 97000^FS
^FO40,240^A0N,30,30^FDPara: María López Ñoño^FS
^FO40,275^A0N,25,25^FDCDMX, CP 06600^FS
^FO40,320^BY2^BCN,120,Y
^FDGUIA-2024-001234^FS
^FO600,320^BQN,2,4
^FDQA,https://rastreo.com/001234^FS
^FO40,470^A0N,20,20^FDPeso: 2.5 kg | 1 de 1^FS
^XZ

Consejos para crear etiquetas ZPL

  • Siempre prueba tu código en el Visor ZPL de ZPLPDF antes de enviar a la impresora
  • Coloca ^CI28 al inicio si necesitas acentos, ñ o caracteres especiales
  • Usa ^BY ANTES de cada código de barras para controlar el grosor y altura
  • Para etiquetas 4x6 pulgadas (estándar envío): usa ^PW812 ^LL1218 a 203 DPI
  • Las coordenadas ^FO se miden en puntos: a 203 DPI, 1 pulgada = 203 puntos, 1 mm ≈ 8 puntos
  • Usa ^FB para crear bloques de texto multilínea con ajuste automático de palabras
  • Organiza visualmente la etiqueta con ^GB para crear marcos y líneas separadoras
  • Guarda plantillas reutilizables — cambia solo los datos variables con ^FN para etiquetas en serie
  • Verifica tu código con el Validador ZPL para detectar errores de sintaxis antes de imprimir
  • Si no tienes impresora Zebra, convierte tu ZPL a PDF con ZPLPDF e imprime desde cualquier impresora

Preguntas frecuentes sobre crear etiquetas ZPL

¿Necesito una impresora Zebra para usar código ZPL?

No. Puedes escribir y probar código ZPL en el Visor ZPL de ZPLPDF sin impresora. Cuando quieras imprimir, puedes convertir el ZPL a PDF y usar cualquier impresora térmica (Elgin, Xprinter, Brother) o incluso una impresora láser normal.

¿Qué tamaño tiene una etiqueta de envío estándar?

La etiqueta estándar de envío es 4x6 pulgadas (100x150 mm). En ZPL a 203 DPI se configura con ^PW812 (ancho) y ^LL1218 (largo). Para etiquetas más pequeñas como 4x4 pulgadas, usa ^PW812 ^LL812.

¿Cómo calculo las coordenadas para posicionar elementos?

Las coordenadas ^FO se miden en puntos (dots) desde la esquina superior izquierda. A 203 DPI: 1 pulgada = 203 puntos, 1 mm ≈ 8 puntos. Para una etiqueta de 4 pulgadas de ancho, el rango X es 0-812. Usa el Visor ZPL para ajustar visualmente las posiciones.

¿Por qué mis acentos y ñ aparecen como símbolos raros?

Falta el comando ^CI28 al inicio de tu etiqueta. Este comando activa la codificación UTF-8, necesaria para acentos (á, é, í, ó, ú), eñe (ñ), diéresis (ü) y otros caracteres especiales. Colócalo justo después de ^XA: ^XA ^CI28 ...

¿Cómo hago una etiqueta con datos que cambian (nombre, dirección)?

Tienes dos opciones: 1) Genera el código ZPL completo desde tu aplicación reemplazando los datos variables en cada etiqueta. 2) Usa campos ^FN en ZPL para crear una plantilla y luego envía solo los datos con el comando ^FN para rellenar los campos. La opción 1 es más simple para la mayoría de los casos.

¿Puedo crear etiquetas ZPL desde Excel o una base de datos?

Sí. La forma más común es generar el código ZPL desde tu aplicación (Python, JavaScript, C#, Java) usando los datos de la base de datos o Excel para rellenar los campos variables (nombre, dirección, código de barras). Cada etiqueta es un bloque ^XA...^XZ con los datos insertados.

¿Cómo imprimo varias etiquetas diferentes en una sola impresión?

Concatena múltiples bloques ^XA...^XZ en un solo envío. Cada bloque genera una etiqueta diferente. Ejemplo: ^XA...^XZ ^XA...^XZ ^XA...^XZ imprime 3 etiquetas distintas. Para copias idénticas, usa ^PQ(cantidad) dentro de un solo bloque.

Prueba tu código ZPL ahora

Usa nuestro visor ZPL para ver cómo quedará tu etiqueta antes de imprimirla. No necesitas impresora.