Menu

Comandos ZPL Más Comunes

Referencia completa de más de 40 comandos para programación de impresoras Zebra con ejemplos prácticos

Prueba nuestras herramientas ZPL gratuitas ahora

Gratis, sin registro — Resultados instantáneos

Referencia 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 guía cubre los comandos más utilizados en etiquetas de envío, inventario, retail y logística.

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^FDQA,https://ejemplo.com^FSo,modelo(1/2),magnificación(1-10). Prefijo datos: QA=auto, QM=manual
^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.