Menu

Chuleta de comandos ZPL

Tarjeta de consulta rápida con los comandos ZPL II que más se usan en el día a día — ejemplos copy-paste y pistas de parámetros. ¿Necesitas el manual completo? Lee la Referencia ZPL.

¿Buscas el manual completo de ZPL?

Esta página es una chuleta de consulta rápida. Para la guía completa de Zebra Programming Language — anatomía del formato, fuentes, códigos de barras, ejemplos copy-paste y 40+ comandos — lee la Referencia ZPL.

Leer Referencia ZPL

Prueba nuestras herramientas ZPL gratuitas ahora

Gratis, funciona en el navegador — Resultados instantáneos

Chuleta de comandos ZPL

ZPL (Zebra Programming Language) utiliza comandos que comienzan con ^ (caret) o ~ (tilde). Los comandos con ^ se usan dentro del formato de etiqueta, entre ^XA y ^XZ. Los comandos con ~ se usan para configuración de la impresora y se pueden enviar fuera de un formato. Cada comando tiene parámetros opcionales separados por comas. Esta chuleta agrupa los comandos que los desarrolladores usan a diario — envíos, inventario, retail y logística. Para más profundidad (guía completa, fuentes, códigos de barras y ejemplos copy-paste), consulta la Referencia ZPL.

Categorías de comandos

Comandos de formato de etiqueta

ComandoDescripciónEjemploParámetros
^XAInicio de formato de etiqueta. Todo código ZPL debe comenzar con este comando.^XA ... ^XZSin parámetros
^XZFin de formato de etiqueta. Cierra el bloque iniciado con ^XA y envía la etiqueta a imprimir.^XA ^FO50,50 ^FDHola^FS ^XZSin parámetros
^FOOrigen de campo. Define la posición X,Y donde se colocará el siguiente elemento (texto, código de barras, gráfico).^FO100,200x,y - Coordenadas en puntos (dots). 203 dpi = 8 dots/mm
^FTTipografía de campo. Similar a ^FO pero posiciona desde la línea base del texto, útil para alinear textos de diferente tamaño.^FT100,200x,y - Coordenadas desde línea base del texto
^FSSeparador de campo. Indica el fin de un campo individual. Cada campo (texto, código de barras, gráfico) debe terminar con ^FS.^FO50,50^FDTexto^FSSin parámetros
^CICambiar codificación internacional. Permite usar caracteres especiales como acentos (á, é, ñ) y símbolos.^CI28código - 28 = UTF-8, 13 = Latin-1. Usar ^CI28 para español y portugués
^CFFuente predeterminada. Establece la fuente, orientación y tamaño por defecto para toda la etiqueta.^CF0,30,30fuente,alto,ancho - Fuente 0 es la fuente interna estándar
^FWOrientación predeterminada de campos. Establece la rotación por defecto para texto y códigos de barras.^FWRN=Normal, R=90°, I=180°, B=270°

Comandos de texto

ComandoDescripciónEjemploParámetros
^ASelección de fuente y tamaño. Define qué fuente usar y su tamaño para el siguiente campo de texto.^A0N,30,30f,o,h,w - f=Fuente (0-9,A-Z), o=Orientación (N,R,I,B), h=Alto, w=Ancho
^FDDatos de campo. El texto o dato que se imprimirá. Siempre va después de ^FO y ^A, y antes de ^FS.^FO50,50^A0N,30,30^FDMi texto^FStexto - Contenido a imprimir (máx. 3072 caracteres)
^FBBloque de campo multilínea. Crea un área de texto con ancho fijo que ajusta el texto automáticamente en varias líneas.^FB400,3,0,L,0^FDTexto largo que se ajusta automáticamente^FSancho,max_líneas,espaciado,alineación(L/C/R/J),sangría
^FHIndicador hexadecimal. Permite insertar caracteres especiales usando su código hex precedido por _ (guión bajo).^FH^FDPrecio: _c2_a250.00^FSindicador - Por defecto usa _ como prefijo hex
^FNNúmero de campo para plantillas. Crea campos numerados que se pueden rellenar después, útil para etiquetas con datos variables.^FO50,50^A0N,30,30^FN1^FSnúmero - Número de campo (1-999) para reemplazo por ^FN en el siguiente formato
^SNSerialización numérica. Incrementa automáticamente un número en cada etiqueta impresa, ideal para números de serie o lotes.^FO50,50^A0N,30,30^SN001,1,Y^FSinicio,incremento,rellenar_ceros(Y/N)

Comandos de códigos de barras

ComandoDescripciónEjemploParámetros
^BYConfiguración base de código de barras. Define el ancho de módulo, ratio y alto por defecto. Debe ir ANTES del comando de código de barras.^BY2,3,100ancho_módulo(1-10),ratio(2.0-3.0),alto - El ancho controla la resolución
^BCCode 128 — El más usado en logística y envíos. Codifica números, letras y caracteres especiales. Estándar en paquetería.^FO50,50^BY2^BCN,100,Y,N,N^FD123456789^FSo,alto,interpretación(Y/N),arriba(Y/N),checksum(Y/N)
^BQCódigo QR. Codifica URLs, texto largo o datos binarios. Muy usado en etiquetas de seguimiento y marketing.^FO50,50^BQN,2,5^FDHA,https://ejemplo.com^FSo,modelo(1/2),magnificación(1-10). Prefijo ^FD: <ECC><modo>, donde ECC=H/Q/M/L y modo=A (auto) o M (manual). HA, es el default recomendado.
^BEEAN-13 — Estándar mundial para productos de retail. Requiere exactamente 12 dígitos (el 13° es checksum automático).^FO50,50^BY2^BEN,100,Y,N^FD750123456789^FSo,alto,interpretación(Y/N),arriba(Y/N)
^BUUPC-A — Estándar en retail de Estados Unidos y Canadá. Requiere exactamente 11 dígitos (el 12° es checksum).^FO50,50^BY2^BUN,100,Y,N^FD12345678901^FSo,alto,interpretación(Y/N),arriba(Y/N)
^B3Code 39 — Muy usado en inventarios y manufactura. Solo codifica letras mayúsculas, números y algunos símbolos.^FO50,50^BY2^B3N,N,100,Y,N^FDABC123^FSo,checksum(Y/N),alto,interpretación(Y/N),arriba(Y/N)
^BXDataMatrix — Código 2D compacto usado en manufactura, electrónica y farmacéutica. Almacena mucha información en poco espacio.^FO50,50^BXN,5,200^FDSN:ABC123456^FSo,alto,calidad(0-200). 200=máxima corrección de errores
^B7PDF417 — Código 2D de alta capacidad. Usado en licencias de conducir, boletos aéreos y documentos de identidad.^FO50,50^B7N,5,2,3,10,N^FDDatos extensos aquí^FSo,alto,seguridad(0-8),columnas,filas,truncado(Y/N)
^BOAztec — Código 2D compacto sin zona de silencio. Usado en boletos de transporte y aplicaciones donde el espacio es limitado.^FO50,50^BON,5,N^FDDatos Aztec^FSo,magnificación,ECL(Y/N). No requiere zona blanca alrededor

Comandos gráficos y líneas

ComandoDescripciónEjemploParámetros
^GBDibujar caja o rectángulo. Crea bordes, separadores y marcos para organizar visualmente la etiqueta.^FO50,50^GB400,200,3^FSancho,alto,grosor_línea,color(B/W),redondeo(0-8)
^GCDibujar círculo. Crea un círculo con diámetro y grosor de línea especificados.^FO50,50^GC100,3,B^FSdiámetro,grosor_línea,color(B/W)
^GDDibujar línea diagonal. Crea una línea desde la esquina superior-izquierda a la inferior-derecha (o viceversa).^FO50,50^GD200,100,3,B,L^FSancho,alto,grosor,color(B/W),dirección(L/R)
^GEDibujar elipse. Crea una elipse con ancho, alto y grosor de borde especificados.^FO50,50^GE200,100,3,B^FSancho,alto,grosor_línea,color(B/W)
^GFCampo gráfico. Inserta una imagen en formato comprimido (hex o Z64). Se usa para logos, firmas y gráficos personalizados.^GFA,datos_comprimidos...formato(A=ASCII hex),bytes_datos,bytes_por_fila,filas,datos

Configuración de etiqueta

ComandoDescripciónEjemploParámetros
^LHOrigen de etiqueta (Label Home). Desplaza el punto de referencia (0,0) de toda la etiqueta. Útil para ajustar márgenes.^LH30,20x,y - Nuevo origen en puntos
^LLLargo de etiqueta. Define la longitud total de la etiqueta en puntos. Necesario si la impresora no detecta el largo automáticamente.^LL800largo - En puntos. 203dpi: 800pts ≈ 100mm
^PWAncho de impresión. Define el ancho máximo de impresión. Útil para centrar contenido en etiquetas angostas.^PW812ancho - En puntos. 4" a 203dpi = 812 puntos
^LTAjuste superior de etiqueta (Label Top). Desplaza toda la imagen hacia arriba o abajo para calibrar la posición vertical.^LT10desplazamiento - Positivo=abajo, negativo=arriba (-120 a 120)
^LSDesplazamiento lateral (Label Shift). Mueve toda la imagen hacia la izquierda o derecha para calibración horizontal.^LS-20desplazamiento - Positivo=derecha, negativo=izquierda
^MNTipo de medio (Media Tracking). Configura cómo la impresora detecta las etiquetas: por marca negra, espacio o continuo.^MNYN=Continuo, Y=Espacio/Gap, M=Marca negra, W=Web sensing
^MMModo de impresión. Controla si la impresora corta, despega o rebobina las etiquetas después de imprimir.^MMTT=Tear-off, P=Peel-off, R=Rewind, C=Cutter, A=Applicator

Comandos de impresión

ComandoDescripciónEjemploParámetros
^PQCantidad de impresión. Define cuántas copias imprimir de la etiqueta actual. Soporta pausa entre grupos.^PQ3,0,1,Ycantidad,pausa_entre_grupos,copias_por_grupo,override(Y/N)
^PRVelocidad de impresión. Controla velocidades de impresión, retroceso y alimentación. Menor velocidad = mejor calidad.^PR4,4,4impresión(1-14),retroceso,alimentación - Velocidad en pulgadas/segundo
^PMImagen espejo. Invierte toda la imagen horizontalmente. Útil para impresión en materiales transparentes.^PMYY=Espejo activado, N=Normal
^POOrientación de impresión. Rota toda la etiqueta 180° para impresoras que alimentan desde abajo.^POIN=Normal, I=Invertido (180°)

Comandos de configuración de impresora (~)

ComandoDescripciónEjemploParámetros
~SDConfigurar oscuridad (Set Darkness). Ajusta la intensidad de impresión. Valores altos = más oscuro, más consumo de ribbon.~SD15valor (0-30) - Recomendado: 10-20 para thermal transfer
~JACancelar todos los trabajos. Detiene la impresión actual y limpia el buffer de la impresora.~JASin parámetros
~HSEstado del host. Solicita información de estado de la impresora: papel, ribbon, errores activos.~HSSin parámetros - Retorna 3 líneas de estado
~DGDescargar gráfico. Almacena una imagen en la memoria de la impresora para uso repetido sin reenviar datos.~DGR:LOGO.GRF,bytes,ancho,datosnombre,bytes_totales,bytes_por_fila,datos_hex

Preguntas frecuentes sobre comandos ZPL

¿Cuáles son los comandos ZPL esenciales para principiantes?

Los 6 comandos imprescindibles son: ^XA (inicio de etiqueta), ^XZ (fin), ^FO (posición X,Y), ^A (fuente y tamaño), ^FD (texto a imprimir) y ^FS (fin de campo). Con estos 6 comandos puedes crear etiquetas básicas de texto. Para etiquetas de envío, agrega ^BY (configurar código de barras) y ^BC (Code 128).

¿Cuál es la diferencia entre ^FO y ^FT en ZPL?

^FO (Field Origin) posiciona desde la esquina superior izquierda del elemento. ^FT (Field Typeset) posiciona desde la línea base del texto. Para la mayoría de los casos ^FO es más intuitivo. Usa ^FT cuando necesites alinear textos de diferente tamaño en la misma línea base, ya que ^FT mantiene la alineación vertical independientemente del tamaño de fuente.

¿Cómo imprimir acentos y la letra ñ en ZPL?

Usa el comando ^CI28 al inicio de tu etiqueta para activar la codificación UTF-8. Ejemplo: ^XA ^CI28 ^FO50,50 ^A0N,30,30 ^FDSeñor García — Ñoño^FS ^XZ. Sin ^CI28, los caracteres especiales como á, é, ñ, ü aparecerán como símbolos incorrectos.

¿Cómo imprimir múltiples copias de la misma etiqueta?

Usa el comando ^PQ antes de ^XZ. Ejemplo: ^PQ5 imprime 5 copias. Para serialización (números incrementales), usa ^SN dentro del campo: ^FO50,50 ^A0N,30,30 ^SN001,1,Y^FS imprimirá 001, 002, 003... en cada copia sucesiva.

¿Los comandos ZPL funcionan en impresoras que no son Zebra?

No directamente. ZPL es nativo de impresoras Zebra. Algunas marcas como TSC y SATO tienen modos de compatibilidad parcial, pero no es 100% confiable. Para impresoras Elgin, Xprinter, Brother u otras marcas, la solución recomendada es convertir el código ZPL a PDF usando ZPLPDF y luego imprimir el PDF desde cualquier impresora.

¿Qué código de barras debo usar para etiquetas de envío?

Code 128 (^BC) es el estándar en logística y paquetería a nivel mundial. Para etiquetas de marketplace como Mercado Libre, Amazon o Shopee, el código ya viene en la etiqueta ZPL que generan. Si necesitas crear tu propio código de barras de envío, usa ^BY2 ^BCN,100,Y para un Code 128 legible con interpretación humana visible debajo.

¿Cómo ajusto el tamaño y calidad de impresión en ZPL?

Para la resolución de códigos de barras, ajusta el primer parámetro de ^BY (ancho de módulo): ^BY2 para estándar, ^BY3 para más grueso. Para la oscuridad general, usa ~SD seguido de un valor de 0-30 (recomendado 15). Para la velocidad (menor = mejor calidad), usa ^PR seguido de la velocidad en pulgadas/segundo: ^PR4 es un buen balance calidad/velocidad.

Valida tu código ZPL

Usa nuestro validador para verificar que tu código ZPL sea correcto antes de enviar a la impresora.