Tutorial paso a paso con 10 ejemplos prácticos para crear etiquetas profesionales desde cero
Prueba nuestras herramientas ZPL gratuitas ahora
Gratis, funciona en el navegador — Resultados instantáneos
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.
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
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
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
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
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
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 dos caracteres antes de la coma: el primero es el nivel de corrección de errores (H/Q/M/L) y el segundo es el modo de entrada (A = codificación automática, M = segmentos manuales). Usa HA, como default recomendado — corrección H (~30% recuperación) más codificación automática. Para UTF-8 / caracteres internacionales añade ^CI28 antes del ^BQ en lugar de cambiar el prefijo. Magnificación 5 es un buen punto de partida para etiquetas estándar.
^XA ^FO50,50 ^BQN,2,5 ^FDHA,https://zplpdf.com^FS ^FO350,50 ^BQN,2,3 ^FDHA,Producto: SKU-001^FS ^XZ
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
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
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
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 ^FDHA,https://rastreo.com/001234^FS ^FO40,470^A0N,20,20^FDPeso: 2.5 kg | 1 de 1^FS ^XZ
Usa nuestro visor ZPL para ver cómo quedará tu etiqueta antes de imprimirla. No necesitas impresora.