Lanzamiento

30% en el primer mes de Pro30% el 1.er mesUS$ 9,90 → US$ 6,93

Ver planes
ZPL em PDF

Referencia · ZPL

Comandos ZPL: qué hace cada uno

ZPL es un lenguaje chico con una cara intimidante: dos letras después de un acento circunflejo, argumentos sin nombre que valen por su posición, y un manual de varios cientos de páginas. En la práctica una etiqueta de envío usa unos veinte comandos, y una vez que puedes leer esos veinte el resto del archivo deja de ser un muro de símbolos. Cada comando de abajo viene con una etiqueta completa, no un pedazo, que puedes pegar en el conversor de esta misma página y ver renderizar.

Verificado el 1 de septiembre de 2026

Cómo leer una línea de ZPL

Una etiqueta empieza en ^XA y termina en ^XZ. En el medio, cada instrucción empieza con un acento circunflejo y dos letras, seguidas de argumentos separados por coma en un orden fijo — no existe el nombre de argumento, así que la posición es todo, y una coma sin nada antes de la siguiente significa “deja el valor por defecto”.

Toma ^FO50,120^A0N,40,40^FDACME SA^FS. Eso es: pon el próximo campo a 50 puntos de la izquierda y 120 de arriba; usa la fuente 0, sin rotación, de 40 puntos de alto y 40 de ancho; el contenido es “ACME SA”; fin del campo. Cuatro comandos, una línea de la etiqueta.

Dos detalles causan casi toda la confusión. Todo se mide en puntos de la impresora y no en milímetros, así que el mismo archivo tiene un tamaño físico distinto a 203 y a 300 dpi — por eso importa tanto el selector de densidad. Y el ^FS no es un adorno opcional: sin él, el comando siguiente se lee como más datos del campo anterior, que es por qué una etiqueta rota casi siempre sale como una única línea de texto pegada.

Por qué cada comando trae un ejemplo

Porque la referencia de un renderizador debería poder verificarse contra ese renderizador. Cada ejemplo de abajo pasa por el motor de este sitio dentro de una prueba, y el resultado se compara con la columna de soporte — así que un comando descrito como renderizado que el motor ignorara en silencio rompería nuestra compilación en lugar de quemarte la tarde.

Es también por eso que los comandos que no implementamos están listados en vez de omitidos. Una tabla de soporte que solo muestra los aciertos no dice nada sobre la etiqueta que tienes adelante; saber que el ^BZ va a avisar y saltear es justamente la mitad útil.

Cada ejemplo de esta página es una etiqueta completa. No son ilustraciones: una prueba renderiza cada uno con el mismo motor que sirve este sitio y compara el resultado con la columna de soporte — así que un comando marcado como “Renderiza” que el motor ignorara rompería la compilación en lugar de engañarte aquí.

Estructura de la etiqueta

Dónde empieza y termina una etiqueta, y cómo un solo archivo termina guardando cien.

  • ^XA

    Inicio de formato

    Renderiza

    Abre una etiqueta. Todo lo que va hasta el ^XZ correspondiente describe una sola etiqueta impresa, así que un archivo con cincuenta bloques ^XA son cincuenta etiquetas — que es justo la forma de un día de pedidos descargado de una vez.

    ^XA^FO50,50^A0N,40,40^FDPrimera etiqueta^FS^XZ
  • ^XZ

    Fin de formato

    Renderiza

    Cierra la etiqueta y la manda a imprimir. Un archivo que perdió su ^XZ final por el camino todavía se renderiza aquí.

    ^XA^FO50,50^A0N,40,40^FDÚltima etiqueta^FS^XZ
  • ^FS

    Separador de campo

    Renderiza

    Termina el campo actual. Olvidar el ^FS hace que el comando siguiente se lea como más datos del campo anterior — es de lejos el motivo más común de que una etiqueta salga como una única línea de texto pegada.

    ^XA^FO50,50^A0N,40,40^FDNombre^FS^FO50,110^A0N,40,40^FDDirección^FS^XZ
  • ^FX

    Comentario

    Renderiza

    Marca un comentario, que no se imprime. Ojo con una trampa: el comentario termina en el siguiente acento circunflejo, así que escribir el nombre de un comando dentro de un ^FX crea un comando de verdad.

    ^XA^FXEncabezado del pedido^FS^FO50,50^A0N,40,40^FDACME SA^FS^XZ
  • ^DF

    Guardar formato

    Renderiza

    Guarda el bloque siguiente como una plantilla en la memoria de la impresora. Es la mitad del par que usa casi todo archivo de transporte: el diseño sube una sola vez y cada pedido manda nada más los datos.

    ^XA^DFR:TPL.ZPL^FS^FO50,50^A0N,40,40^FN1^FS^XZ^XA^XFR:TPL.ZPL^FS^FN1^FDACME SA^FS^XZ
  • ^XF

    Llamar formato

    Renderiza

    Carga una plantilla guardada con ^DF y rellena sus campos numerados. Por eso un .txt con cien etiquetas suele traer el diseño escrito una vez y después solo listas de valores.

    ^XA^DFR:TPL.ZPL^FS^FO50,50^A0N,40,40^FN1^FS^XZ^XA^XFR:TPL.ZPL^FS^FN1^FDPedido 4471^FS^XZ
  • ^FN

    Número de campo

    Renderiza

    Numera un campo dentro de un ^DF para que el ^XF pueda rellenarlo después. En la plantilla el ^FN marca el hueco; en la llamada, ^FN7 seguido de ^FD entrega el contenido de ese hueco.

    ^XA^DFR:TPL.ZPL^FS^FO50,50^A0N,40,40^FN7^FS^XZ^XA^XFR:TPL.ZPL^FS^FN7^FDMonterrey^FS^XZ

Configuración de la etiqueta

Qué tamaño tiene la etiqueta, dónde está su origen y cuántas copias salen.

  • ^PW

    Ancho de impresión

    Renderiza

    Define el ancho de la etiqueta en puntos (dots), nunca en milímetros. A 203 dpi (8 dpmm) una etiqueta de 10 cm tiene 812 puntos; la misma a 300 dpi tiene 1200 — por eso elegir mal la densidad corta el arte por la mitad.

    ^XA^PW812^LL1218^FO50,50^A0N,40,40^FD10 x 15 cm a 203 dpi^FS^XZ
  • ^LL

    Largo de la etiqueta

    Renderiza

    Define el alto de la etiqueta en puntos. Sin ^PW y sin ^LL, el conversor calcula el tamaño a partir de lo que se dibujó en lugar de recortar lo que no entró.

    ^XA^PW812^LL1218^FO50,50^A0N,40,40^FDQuince centímetros^FS^XZ
  • ^LH

    Origen de la etiqueta

    Renderiza

    Mueve el punto 0,0 de toda la etiqueta. Sirve para corregir de una vez un arte que salió corrido en la impresora, sin tocar cada ^FO del archivo.

    ^XA^LH30,30^FO50,50^A0N,40,40^FDOrigen corrido^FS^XZ
  • ^LS

    Desplazamiento horizontal

    Renderiza

    Empuja la etiqueta entera hacia el costado. A diferencia de ^LH se aplica después del posicionamiento, y suele aparecer en archivos de sistemas que ajustan el margen al final.

    ^XA^LS20^FO50,50^A0N,40,40^FDCorrida a la derecha^FS^XZ
  • ^LT

    Desplazamiento vertical

    Renderiza

    Sube o baja la etiqueta entera, en puntos, para alinearla con el troquel del rollo.

    ^XA^LT10^FO50,50^A0N,40,40^FDDiez puntos más abajo^FS^XZ
  • ^PQ

    Cantidad de copias

    Renderiza

    Cuántas copias de la etiqueta imprimir. Un ^PQ3 se vuelve tres páginas en el PDF de aquí, igual que serían tres etiquetas en el rollo.

    ^XA^PQ3^FO50,50^A0N,40,40^FDTres copias^FS^XZ
  • ^PO

    Orientación de impresión

    Renderiza

    Gira la etiqueta entera 180 grados con ^POI. Se usa cuando el rollo entra al revés en la impresora y es más fácil girar el arte que el material.

    ^XA^POI^FO50,50^A0N,40,40^FDDe cabeza^FS^XZ
  • ^LR

    Impresión inversa de la etiqueta

    Renderiza

    Invierte negro y blanco en todos los campos siguientes, no en uno solo. Sobre un rectángulo relleno, el texto sale en blanco.

    ^XA^LRY^FO50,50^GB300,80,80^FS^FO70,70^A0N,40,40^FDINVERTIDO^FS^XZ
  • ^CI

    Codificación de caracteres

    Renderiza

    Elige la tabla de caracteres. ^CI28 selecciona UTF-8 y es lo que hace que la ñ y los acentos salgan bien — es la causa prácticamente única de que “Dirección” se imprima como “Dirección”.

    ^XA^CI28^FO50,50^A0N,40,40^FDDirección, Muñoz, Peña^FS^XZ

Posición y orientación

Dónde se dibuja el próximo campo, hacia qué lado y en qué color de tinta.

  • ^FO

    Origen del campo

    Renderiza

    Define dónde empieza el próximo campo, contando en puntos desde la izquierda y desde arriba. ^FO120,60 son 120 puntos a la derecha y 60 hacia abajo. Es el comando más repetido de cualquier etiqueta: cada bloque de texto, cada código de barras y cada rectángulo empieza con uno.

    ^XA^FO120,60^A0N,40,40^FDArriba a la izquierda^FS^XZ
  • ^FT

    Posición por la línea base

    Renderiza

    También posiciona el campo, pero mide desde la línea base del texto en vez de la esquina superior de la celda. Una secuencia de ^FT alinea las letras entre sí, que es lo que quieres cuando mezclas tamaños de fuente en la misma línea.

    ^XA^FT120,120^A0N,40,40^FDSobre la línea base^FS^XZ
  • ^FW

    Rotación por defecto

    Renderiza

    Define la rotación que asumen los campos siguientes sin repetirla en cada ^A. ^FWR gira 90 grados, que es como se escribe en el costado de una etiqueta angosta.

    ^XA^FWR^FO200,60^A0N,40,40^FDGirado^FS^XZ
  • ^FR

    Impresión inversa del campo

    Renderiza

    Invierte solo el campo siguiente: encima de un rectángulo negro, el texto sale blanco. Así se hace la franja con el nombre del transporte o el sello de servicio arriba de la etiqueta.

    ^XA^FO40,40^GB320,90,90^FS^FO60,60^FR^A0N,40,40^FDBLANCO SOBRE NEGRO^FS^XZ

Texto y fuentes

Elegir la fuente, el tamaño y cómo el texto se parte en varias líneas.

  • ^A

    Fuente del campo

    Renderiza

    Elige fuente, rotación y tamaño del campo. En ^A0N,40,40 son: fuente 0, N de sin rotación, 40 puntos de alto y 40 de ancho. Omitir el ancho hace que tome el valor del alto, y no uno más angosto.

    ^XA^FO50,50^A0N,48,48^FDFuente escalable 0^FS^XZ
  • ^CF

    Fuente por defecto

    Renderiza

    Define la fuente y el tamaño que heredan todos los campos siguientes, para no repetir ^A en cada línea de la etiqueta.

    ^XA^CF0,40^FO50,50^FDHereda el valor^FS^FO50,110^FDEste también^FS^XZ
  • ^FD

    Datos del campo

    Renderiza

    Lleva el contenido en sí — el texto que se va a imprimir, o el payload del código de barras. Todo lo que va entre ^FD y ^FS es dato, espacios incluidos, y por eso un ^FS olvidado se traga el comando siguiente como si fuera texto.

    ^XA^FO50,50^A0N,40,40^FDAv. Ejemplo, 1000^FS^XZ
  • ^FV

    Campo variable

    Renderiza

    Igual que ^FD, pero el contenido se borra después de imprimir. Aparece en plantillas guardadas en la impresora, donde la parte fija se queda y la variable desaparece en cada etiqueta.

    ^XA^FO50,50^A0N,40,40^FVPedido 4471^FS^XZ
  • ^FB

    Bloque de texto

    Renderiza

    Parte el texto en varias líneas dentro de un ancho fijo, alineado a la izquierda, al centro, a la derecha o justificado. Así entra una dirección larga en la etiqueta sin pasarse del margen.

    ^XA^FO50,50^A0N,30,30^FB420,3,0,L^FDAv. Ejemplo 1000, Colonia Modelo, Ciudad Ejemplo^FS^XZ
  • ^FH

    Indicador hexadecimal

    Renderiza

    Permite escribir bytes en hexadecimal dentro del ^FD, escapados con guion bajo. Es la salida de sistemas que no pueden emitir UTF-8 directo y necesitan mandar la ñ byte por byte.

    ^XA^CI28^FO50,50^A0N,40,40^FH^FDCaf_C3_A9^FS^XZ
  • ^SN

    Serialización

    Renderiza

    Incrementa un número en cada copia impresa, con paso y relleno de ceros definidos. Sirve para numerar bultos sin generar una etiqueta distinta para cada uno.

    ^XA^FO50,50^A0N,40,40^SN0001,1,Y^FS^XZ

Códigos de barras

Un comando elige la simbología, el ^FD que sigue lleva el contenido, y ^BY fija los valores por defecto que todos heredan.

  • ^BY

    Valores por defecto del código

    Renderiza

    Define el ancho del módulo, la proporción ancho/angosto y el alto por defecto de todos los códigos de barras que siguen. Cambiar el ancho del módulo escala todas las barras de la etiqueta de una vez — es el motivo habitual de que un código de barras de repente deje de entrar.

    ^XA^BY3,3,120^FO50,50^BCN,120,Y,N,N^FD1234567890^FS^XZ
  • ^BC

    Code 128

    Renderiza

    Code 128, la simbología de la enorme mayoría de las etiquetas de envío. El ^FD que sigue lleva el payload, y el parámetro de línea legible imprime los números debajo de las barras.

    ^XA^FO50,50^BCN,120,Y,N,N^FD1234567890^FS^XZ
  • ^B3

    Code 39

    Renderiza

    Code 39, más viejo y más ancho que Code 128 para el mismo contenido. Todavía aparece en etiquetas internas de depósito y en sistemas heredados.

    ^XA^FO50,50^B3N,N,120,Y,N^FDABC123^FS^XZ
  • ^B2

    Intercalado 2 de 5

    Renderiza

    Interleaved 2 of 5, solo dígitos y siempre en cantidad par. Común en cajas de transporte y en códigos de bulto.

    ^XA^FO50,50^B2N,120,Y,N,N^FD12345678^FS^XZ
  • ^BA

    Code 93

    Renderiza

    Code 93, una versión más compacta de Code 39 con el mismo juego de caracteres.

    ^XA^FO50,50^BAN,120,Y,N,N^FDCODE93^FS^XZ
  • ^BE

    EAN-13

    Renderiza

    EAN-13, el código de barras de producto que ves en el empaque en el supermercado. Son 12 dígitos en el ^FD y el decimotercero es el verificador, que se calcula solo.

    ^XA^FO50,50^BEN,120,Y,N^FD590123412345^FS^XZ
  • ^B8

    EAN-8

    Renderiza

    EAN-8, la versión corta del EAN-13, para empaques demasiado chicos para el de 13.

    ^XA^FO50,50^B8N,120,Y,N^FD1234567^FS^XZ
  • ^BU

    UPC-A

    Renderiza

    UPC-A, el equivalente norteamericano del EAN-13, con 11 dígitos más el verificador.

    ^XA^FO50,50^BUN,120,Y,N^FD01234567890^FS^XZ
  • ^B9

    UPC-E

    Renderiza

    UPC-E, la forma compacta del UPC-A, con los ceros suprimidos.

    ^XA^FO50,50^B9N,120,Y,N^FD0123456^FS^XZ
  • ^BQ

    Código QR

    Renderiza

    Código QR, el cuadrado bidimensional. Una trampa: el ^FD exige un prefijo propio antes del contenido — QA, para modo automático — así que pegar solo la URL en el ^FD no funciona y sale un QR vacío o un aviso.

    ^XA^FO50,50^BQN,2,6^FDQA,https://ejemplo.com/rastreo/4471^FS^XZ
  • ^BX

    Data Matrix

    Renderiza

    Data Matrix, el cuadrado denso que entra en muy poco espacio. Se usa en etiqueta de bulto y en identificación de pieza.

    ^XA^FO50,50^BXN,6,200^FDCONTENIDO DATAMATRIX^FS^XZ
  • ^B7

    PDF417

    Renderiza

    PDF417, el rectángulo achatado que guarda bastante texto. Es el código grande que aparece en guías de transporte y en declaraciones de contenido.

    ^XA^FO50,50^B7N,3,5,0,0,N^FDContenido PDF417^FS^XZ
  • ^BK

    Codabar

    Avisa

    Codabar. Reconocido, pero no dibujado: el campo se salta y aparece un aviso en pantalla, en lugar de salir un código incorrecto que el lector no lee.

    ^XA^FO50,50^BKN,N,120,Y,N,A,A^FD12345^FS^XZ
  • ^BM

    MSI

    Avisa

    MSI. Reconocido y salteado con aviso; se usa sobre todo en estantería de depósito.

    ^XA^FO50,50^BMN,B,120,Y,N,N^FD1234^FS^XZ
  • ^BR

    GS1 DataBar

    Avisa

    GS1 DataBar (el viejo RSS). Reconocido y salteado con aviso.

    ^XA^FO50,50^BRN,1,1,3,,120^FD12345678901234^FS^XZ
  • ^BZ

    POSTNET

    Avisa

    POSTNET, el código postal estadounidense de barras altas y bajas. Reconocido y salteado con aviso; no aparece en etiquetas de la región.

    ^XA^FO50,50^BZN,120,Y,N^FD12345^FS^XZ

Gráficos y formas

Rectángulos, líneas y los mapas de bits comprimidos en que se convierte un PDF.

  • ^GB

    Rectángulo y línea

    Renderiza

    Dibuja un rectángulo — o una línea, cuando el alto o el ancho es cero. Con ^GB se hacen las divisiones, los marcos y las franjas negras de una etiqueta de envío.

    ^XA^FO50,50^GB420,140,4^FS^FO50,220^GB420,0,3^FS^XZ
  • ^GC

    Círculo

    Renderiza

    Dibuja un círculo con el diámetro y el grosor de trazo indicados.

    ^XA^FO60,60^GC160,6,B^FS^XZ
  • ^GD

    Línea diagonal

    Renderiza

    Dibuja una diagonal dentro de la caja dada, inclinada a la derecha o a la izquierda.

    ^XA^FO60,60^GD200,160,5,B,R^FS^XZ
  • ^GE

    Elipse

    Renderiza

    Dibuja una elipse con el ancho y el alto indicados.

    ^XA^FO60,60^GE260,140,5,B^FS^XZ
  • ^GF

    Campo gráfico

    Renderiza

    Incrusta una imagen en mapa de bits dentro de la etiqueta, normalmente comprimida en Z64. Es exactamente lo que genera este sitio cuando conviertes un PDF o un PNG a ZPL: cada página se vuelve un ^GF.

    ^XA^FO60,60^GFA,16,16,2,FFFFC003C003C003C003C003C003FFFF^FS^XZ
  • ^XG

    Llamar gráfico

    Renderiza

    Dibuja un gráfico que ya fue guardado en la memoria de la impresora con un ~DG. Así un logotipo sube una vez y se reutiliza en todas las etiquetas del lote.

    ~DGR:LOGO.GRF,16,2,FFFFC003C003C003C003C003C003FFFF^XA^FO60,60^XGR:LOGO.GRF,1,1^FS^XZ

Ajustes de la impresora

Comandos sobre el equipo, no sobre el arte. Un renderizador no tiene cabezal térmico ni ribbon, así que estos se aceptan y no cambian la imagen — que es el comportamiento correcto, no una carencia.

  • ^MD

    Oscuridad

    Aceptado

    Ajusta la oscuridad del cabezal térmico. Aceptado y sin efecto aquí: un renderizador no tiene cabezal, e ignorarlo en silencio es lo correcto — el comando no es un error en tu archivo.

    ^XA^MD10^FO50,50^A0N,40,40^FDOscuridad fijada^FS^XZ
  • ^MT

    Tipo de material

    Aceptado

    Dice si la impresión es térmica directa (^MTD) o por transferencia con ribbon (^MTT). Es un ajuste del equipo y no cambia la imagen.

    ^XA^MTD^FO50,50^A0N,40,40^FDTérmica directa^FS^XZ
  • ^MN

    Sensor de material

    Aceptado

    Dice cómo encuentra la impresora el inicio de la próxima etiqueta: por el espacio entre ellas, por marca negra o continua.

    ^XA^MNY^FO50,50^A0N,40,40^FDSensor de espacio^FS^XZ
  • ^MM

    Modo de impresión

    Aceptado

    Corte manual, guillotina, despegue o rebobinado después de imprimir.

    ^XA^MMT^FO50,50^A0N,40,40^FDCorte manual^FS^XZ
  • ^PR

    Velocidad de impresión

    Aceptado

    Velocidades de impresión, avance y retroceso del rollo.

    ^XA^PR4^FO50,50^A0N,40,40^FDCuatro pulgadas por segundo^FS^XZ
  • ^MC

    Limpiar mapa de bits

    Aceptado

    Limpia el mapa de bits de la impresora entre etiquetas. Vale conocerlo porque un bloque que solo contiene mantenimiento como esta — ^XA^MCY^XZ — se descarta en lugar de volverse una página en blanco, que es por qué un archivo de cincuenta etiquetas devuelve cincuenta páginas y no cien.

    ^XA^MCY^FO50,50^A0N,40,40^FDIgual dibuja^FS^XZ
  • ^JU

    Guardar configuración

    Aceptado

    Guarda o restaura los ajustes de la propia impresora.

    ^XA^JUS^FO50,50^A0N,40,40^FDConfiguración guardada^FS^XZ

Pega cualquier ejemplo de arriba y velo renderizar

Arrastra el archivo, pega el código o elígelo desde tu dispositivo

.txt · .zpl · .prn · .zip · .pdf · .png · .jpg — 30 etiquetas por día

La conversión ocurre en tu navegador: tu archivo nunca sale de tu dispositivo.Cómo funciona
Gratis, sin registroNo se sube nadaSin marca de aguaLotes de varios archivosPDF · PNG · ZIP

Dudas

Preguntas frecuentes

¿Qué significa ^XA en ZPL?

^XA abre una etiqueta y ^XZ la cierra y la manda a imprimir. Todo lo que va entre los dos describe una etiqueta impresa, así que un archivo con cincuenta bloques ^XA son cincuenta etiquetas — que es la forma de un día de pedidos descargado de una vez.

¿Qué hace el comando ^FO?

^FO (Field Origin) define dónde se dibuja el próximo campo, contando en puntos desde la izquierda y desde arriba de la etiqueta. En ^FO120,60 son 120 puntos a la derecha y 60 hacia abajo. Como todo se mide en puntos y no en milímetros, el mismo ^FO cae en lugares físicos distintos a 203 y a 300 dpi.

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

Los dos posicionan el próximo campo, pero miden desde puntos distintos: el ^FO ubica la esquina superior izquierda de la celda del carácter, mientras que el ^FT ubica la línea base del texto. Una secuencia de ^FT alinea las letras entre sí, que suele ser lo que quieres cuando mezclas tamaños de fuente en la misma línea.

¿Por qué la ñ y los acentos salen mal en la etiqueta?

Casi siempre falta un ^CI28, que es el comando que selecciona UTF-8 para los datos de los campos siguientes. Sin él la impresora interpreta los bytes en su codificación por defecto y la “ó” llega como dos caracteres revueltos — “Dirección” se vuelve “Dirección”. La alternativa es el ^FH con los bytes escapados, que es lo que usan los sistemas incapaces de emitir UTF-8.

¿Cómo cambiar el tamaño del código de barras en ZPL?

El ^BY define el ancho del módulo, la proporción ancho/angosto y el alto por defecto de todos los códigos de barras que vengan después, y cada comando de código de barras todavía puede sobrescribir su propio alto. Cambiar el ancho del módulo escala todas las barras de la etiqueta de una vez — es el motivo habitual de que un código de barras de repente deje de entrar.

¿Este conversor admite todos los comandos ZPL?

No, y la tabla dice cuáles. La mayoría de los comandos de formato renderiza, los comandos de equipo como ^MD y ^MT se aceptan y no tienen efecto sobre una imagen, y un puñado de simbologías de código de barras avisa y saltea el campo en lugar de dibujar algo incorrecto. Cualquier cosa no reconocida genera un aviso y el resto de la etiqueta se sigue renderizando.

Otras guías