ZPL vs EPL: ¿cuál es la diferencia?
ZPL y EPL son dos lenguajes de comandos utilizados por impresoras de etiquetas compatibles. Pueden describir etiquetas similares, pero cambian la sintaxis y las funciones disponibles. Un archivo de un lenguaje no es automáticamente válido en el otro. Esta guía los compara, muestra ejemplos y explica qué comprobar antes de convertir una etiqueta.

¿Qué es ZPL?
ZPL significa Zebra Programming Language. Los formatos ZPL II suelen delimitarse con ^XA y ^XZ y utilizar ^FO para posicionar y ^FD para los datos. Incluye comandos de texto, gráficos y códigos de barras; funciones como RFID necesitan además hardware y firmware adecuados. Comprueba qué comandos admite tu impresora.
¿Qué es EPL?
EPL significa Eltron Programming Language. Aquí tratamos EPL2 en modo página, con comandos por líneas como N, A, B y P. Algunas impresoras también tienen un modo línea que se comporta de otra manera. Sigue siendo relevante en sistemas existentes. Las fuentes y simbologías dependen del modelo; no es correcto afirmar que EPL carece de códigos 2D.
Las diferencias clave
De un vistazo, cómo se comparan ZPL y EPL:
| Característica | ZPL | EPL |
|---|---|---|
| Nombre completo | Zebra Programming Language (ZPL II) | Eltron Programming Language (EPL2) |
| Estado | Moderno, estándar actual (Link-OS) | Antiguo / heredado, aún soportado en algunos modelos |
| Sintaxis | Comandos con ^/~; ^XA … ^XZ | Comandos cortos por líneas (N, A, B, P…) |
| Capacidades | Fuentes escalables, gráficos avanzados, códigos 2D, RFID | Texto, gráficos y comandos de códigos 1D/2D admitidos; depende del modelo |
| Uso habitual | La mayoría de impresoras Zebra actuales y proyectos nuevos | Impresoras heredadas y algunas de escritorio básicas |
| Un archivo de etiqueta empieza por | ^XA | Comandos cortos como N, O o Q |
Ejemplos de código ZPL y EPL: el mismo mensaje
Estos dos diseños imprimen “HELLO” en un área de 400 × 240 puntos. Muestran la estructura de cada lenguaje, no una tipografía idéntica: las fuentes internas son distintas. En ZPL, ^XA y ^XZ delimitan el formato, ^FO sitúa el campo, ^A0 selecciona la fuente y ^FD aporta el contenido. En EPL2, N limpia el búfer de imagen, q define el ancho, Q la longitud y la separación, A dibuja texto y P1 solicita una copia. La separación del ejemplo EPL es de 24 puntos; adáptala al soporte antes de imprimir.
ZPL
^XA
^PW400
^LL240
^FO30,30^A0N,30,30^FDHELLO^FS
^XZEPL2
N
q400
Q240,24
A30,30,0,3,1,1,N,"HELLO"
P1Los DPI importan aunque el lenguaje sea correcto
Ambos ejemplos utilizan puntos de impresora. A 203 DPI, 400 puntos equivalen aproximadamente a 50 mm; a 300 DPI, esos mismos puntos miden unos 34 mm. Cambiar el lenguaje no conserva automáticamente el tamaño físico. Ajusta resolución, ancho, longitud y separación antes de comparar. Revisa por separado los módulos del código de barras, sus márgenes libres y los saltos de texto. Una etiqueta que parece correcta en pantalla puede resultar demasiado pequeña para el lector o quedar recortada al imprimir.
¿Qué lenguaje conviene elegir?
Empieza por el modelo exacto y el programa que genera las etiquetas. Si tu flujo EPL funciona, migrarlo no aporta necesariamente una ventaja. En una instalación nueva compatible con ZPL, este lenguaje puede facilitar compartir plantillas con otros sistemas ZPL. Enumera las fuentes, códigos, gráficos y formatos almacenados que necesitas. No supongas que todas las Zebra admiten ambos lenguajes: consulta el manual, el firmware y los comandos disponibles. La compatibilidad puede variar incluso dentro de una misma familia.
Cómo saber cuál tienes
Normalmente necesitas saber en qué lenguaje está escrito un archivo, o cuál espera tu impresora. Comprobaciones rápidas:
- Mira el archivo: si empieza con ^XA y acaba con ^XZ, con comandos que empiezan por ^, es ZPL.
- Los archivos EPL no usan ^XA; empiezan con comandos cortos de línea como N, Q, q o A y terminan con un comando P (imprimir).
- Consulta el manual del modelo y su informe de configuración. En dispositivos con SGD, ! U1 getvar "device.languages" permite leer el lenguaje configurado. Los valores disponibles y la detección automática dependen del modelo y firmware.
El código impreso como texto también puede deberse al modo línea, un controlador incorrecto, el modo diagnóstico o la codificación. Consulta la guía de texto ilegible.
Cómo convertir EPL a ZPL
El conversor del navegador procesa comandos habituales de EPL2. Revisa las advertencias: puede ser necesario reconstruir gráficos o instrucciones no compatibles, y las métricas tipográficas pueden variar. Hay que previsualizar y probar la impresión; cambiar la extensión no convierte el archivo.
Abrir el conversor EPL2 a ZPLLista de comprobación para migrar de EPL a ZPL
- Conserva el EPL original y una impresión de referencia. Empieza por una etiqueta representativa y prueba nombres largos, acentos, campos vacíos y datos reales de códigos de barras.
- Convierte y lee todas las advertencias. El conversor aproxima las métricas de las fuentes EPL y no convierte automáticamente gráficos GW/GG/GM. Puede omitir comandos no compatibles: obtener ZPL no garantiza una etiqueta completa.
- Previsualiza con las dimensiones y los DPI de destino. Compara posiciones, rotaciones, tipos de códigos, imágenes y número de copias. Reconstruye expresamente los elementos que falten.
- Imprime una muestra en la impresora final y escanea los códigos. Valida el resultado antes de sustituir la plantilla de producción y conserva el original para poder volver atrás.
Preguntas frecuentes
¿Es ZPL mejor que EPL?
Elige según la impresora y la aplicación. ZPL es una opción útil para un flujo nuevo compatible; una instalación EPL que funciona no necesita sustituirse solo por su antigüedad.
¿Puedo convertir EPL a ZPL?
El conversor del navegador procesa comandos habituales de EPL2. Revisa las advertencias: puede ser necesario reconstruir gráficos o instrucciones no compatibles, y las métricas tipográficas pueden variar. Hay que previsualizar y probar la impresión; cambiar la extensión no convierte el archivo.
¿Cómo sé si mi impresora usa ZPL o EPL?
Consulta el manual del modelo y su informe de configuración. En dispositivos con SGD, ! U1 getvar "device.languages" permite leer el lenguaje configurado. Los valores disponibles y la detección automática dependen del modelo y firmware.
¿Por qué mi impresora imprime el código como texto en vez de una etiqueta?
El código impreso como texto también puede deberse al modo línea, un controlador incorrecto, el modo diagnóstico o la codificación.
Documentación oficial
- Zebra: device.languages (SGD)
- Zebra: EPL Programming Guide
- Zebra: Printer Prints Command Language Code, Unrecognized Characters or Text
Referencias consultadas el 4 de octubre de 2026. Ilustración generada con IA; no representa un modelo concreto.
Sobre el autor
Eduard Diaz
Eduard Diaz es técnico IT (desarrollo) en S-IE, partner oficial de Zebra con más de 20 años ofreciendo servicios de identificación y etiquetado. Desarrolla y mantiene EditorZPL para facilitar el trabajo con ZPL e impresoras de etiquetas Zebra.
s-ie.cat