Códigos de Barras ZPL: Code 128, QR, EAN y Data Matrix

Actualizado el 30 de septiembre de 2026

Códigos de barras Code 128, QR, EAN-13 y Data Matrix generados con comandos ZPL en una etiqueta térmica

Los códigos de barras son la razón de ser de la mayoría de las etiquetas térmicas. ZPL tiene un comando específico para cada simbología común, y la propia impresora dibuja las barras a su resolución nativa, por eso los códigos de barras ZPL se imprimen más nítidos que las imágenes de códigos de barras.

Esta guía cubre los comandos que realmente usarás: ^BY para el dimensionado, ^BC para Code 128 y GS1-128, ^BQ para códigos QR, ^BE para EAN-13, ^BX para Data Matrix y ^B7 para PDF417, con ejemplos que funcionan y las reglas de tamaño que deciden si un código de barras se lee.

Qué comando de código de barras ZPL usar

Simbologías de códigos de barras comunes y sus comandos ZPL
SimbologíaComandoUso habitual
Code 128^BCSKU, números de pedido, seguimiento y cualquier dato alfanumérico
GS1-128^BC … DDatos logísticos con identificadores de aplicación GS1, etiquetas de palé SSCC
QR code^BQEnlaces web, etiquetas de activos y lectura con el móvil
EAN-13^BEProductos de venta al por menor en el punto de venta
UPC-A^BUProductos de venta al por menor en Norteamérica
Data Matrix^BXPiezas pequeñas, electrónica y sanidad (GS1 DataMatrix)
PDF417^B7Documentos e identificaciones que necesitan muchos datos en poco espacio
Code 39^B3Sistemas industriales y de automoción más antiguos
Interleaved 2 of 5^B2Cajas de envío (ITF-14)

Dimensionar códigos de barras con ^BY

^BY establece los valores por defecto de los códigos de barras que le siguen: el ancho del módulo (el ancho de la barra más estrecha, en dots), la relación entre barra ancha y estrecha en las simbologías que la usan y la altura de las barras. El ancho del módulo decide casi todo en un código de barras lineal, porque todo el símbolo escala con él.

^BYw,r,h
^BY2,3,100

A 203 dpi un dot equivale a 0,125 mm, así que un ancho de módulo de 2 da barras de 0,25 mm y un ancho de módulo de 3 da barras de 0,375 mm. Los lectores de mano suelen leer sin problema módulos de 2 dots; las etiquetas que se leen a distancia o sobre superficies curvas se benefician de 3 o más. Como los módulos deben ser dots enteros, un código de barras no se puede estirar a un ancho arbitrario sin cambiar cómo se lee.

Code 128 con ^BC

Code 128 codifica letras, dígitos y símbolos de forma compacta y es la opción habitual para SKU y números de pedido. ^BC recibe la orientación, la altura de las barras, si se imprime la línea legible (y si va encima o debajo) y un modo. La impresora calcula automáticamente el carácter de control.

^XA
^BY2,3,90
^FO40,40^BCN,90,Y,N,N^FDSKU-100245^FS
^XZ

GS1-128 con ^BC modo D

GS1-128 es Code 128 con identificadores de aplicación (AI) de GS1, como (01) para el GTIN, (10) para un lote y (00) para un SSCC. Con el modo D, escribe los AI entre paréntesis en ^FD: la impresora inserta los caracteres FNC1 necesarios, deja los paréntesis fuera de los datos codificados y los imprime en la línea legible.

^XA
^BY2
^FO40,40^BCN,110,Y,N,N,D^FD(01)09520123456788(10)LOT7^FS
^XZ

Los datos GS1 tienen reglas estrictas: AI de longitud fija, dígitos de control y caracteres permitidos. El diseñador de ZPLCraft incluye un asistente GS1 que construye los datos AI por AI y los valida antes de que lleguen a la etiqueta.

Código de barras GS1-128 SSCC en una etiqueta de envío con el asistente GS1 mostrando el identificador de aplicación 00 y su valor
El asistente GS1 valida los identificadores de aplicación antes de aplicarlos.

Códigos QR con ^BQ

^BQN,2,6 selecciona orientación normal, QR modelo 2 y una ampliación de 6 (cada módulo mide 6 × 6 dots). Los datos del campo empiezan con el nivel de corrección de errores y el modo de entrada seguidos de una coma: LA, significa nivel L con entrada automática. Usa H o Q en lugar de L cuando el código pueda rayarse o quedar parcialmente cubierto.

^XA
^FO40,40^BQN,2,6^FDLA,https://example.com/p/100245^FS
^XZ

EAN-13 y UPC-A con ^BE y ^BU

Para EAN-13, envía los 12 primeros dígitos y la impresora añade el dígito de control; UPC-A con ^BU funciona igual con 11 dígitos. Los códigos de barras de venta al por menor deben usar un GTIN asignado a tu empresa por GS1 y no deben reducirse por debajo del tamaño que exija tu distribuidor.

^XA
^BY3
^FO40,40^BEN,90,Y,N^FD590123412345^FS
^XZ

Data Matrix y PDF417

^BX imprime Data Matrix: el segundo parámetro es el tamaño de cada módulo en dots y el nivel de calidad 200 selecciona la versión estándar ECC 200. Almacena muchos datos en un cuadrado muy pequeño, por eso es habitual en piezas pequeñas y productos sanitarios. ^B7 imprime PDF417, un código de barras apilado que se usa en documentos e identificaciones; sus parámetros establecen la altura de las filas y el nivel de corrección de errores.

^XA
^FO40,40^BXN,8,200^FD100245-LOT7^FS
^FO300,40^BY2^B7N,6,3,,,N^FDORDER 100245 / 3 PARCELS^FS
^XZ

Un ejemplo de código de barras que funciona

Esta etiqueta imprime uno de cada simbología común en una etiqueta de 4 pulgadas a 203 dpi. Ábrela en el visor para cambiar los datos y los parámetros y ver cómo se actualizan los códigos de barras.

^XA
^PW812
^LL1000
^CI28
^CF0,28
^FO40,30^FDCode 128^FS
^BY2,3,90
^FO40,70^BCN,90,Y,N,N^FDSKU-100245^FS
^FO470,30^FDQR code^FS
^FO470,60^BQN,2,6^FDLA,https://example.com/p/100245^FS
^FO40,260^FDEAN-13^FS
^BY3
^FO40,300^BEN,90,Y,N^FD590123412345^FS
^FO470,260^FDData Matrix^FS
^FO470,300^BXN,8,200^FD100245-LOT7^FS
^FO40,500^FDGS1-128^FS
^BY2
^FO40,540^BCN,110,Y,N,N,D^FD(01)09520123456788(10)LOT7^FS
^FO40,730^FDPDF417^FS
^BY2
^FO40,770^B7N,6,3,,,N^FDORDER 100245 / 3 PARCELS^FS
^XZ

Abrir este ejemplo de código de barras en el visor ZPL

Visor ZPL renderizando códigos de barras Code 128, QR, EAN-13, Data Matrix, GS1-128 y PDF417 a partir del código de ejemplo
La etiqueta de ejemplo renderizada en el visor ZPL.

Crear códigos de barras sin escribir ZPL

En el diseñador de ZPLCraft, agrega Code 128, QR Code o EAN / GS1 desde el panel Códigos. El panel Propiedades expone los mismos ajustes que los comandos ZPL: simbología, contenido, ancho del módulo y altura de las barras en dots, y si se muestra el texto legible. La opción Mantener el tamaño del código hace que los valores cambiados sigan cabiendo en las dimensiones actuales, algo útil cuando el contenido viene de una hoja de cálculo.

Código de barras Code 128 seleccionado en el editor de ZPLCraft con ajustes de contenido, simbología, ancho del módulo y altura de las barras
Las propiedades del código de barras se corresponden directamente con los parámetros ZPL.

Para los códigos de barras GS1, el asistente GS1 te permite elegir cada identificador de aplicación de una lista, comprueba las longitudes y los dígitos de control y muestra el resultado canónico antes de aplicarlo.

Cómo Crear una Etiqueta ZPL: Tutorial Paso a Paso →

Por qué un código de barras ZPL no se lee

  • Ancho de módulo demasiado pequeño. Los módulos de un dot a 203 dpi miden 0,125 mm y muchos lectores no pueden resolverlos. Aumenta el ancho del módulo en ^BY.
  • Falta de zona de silencio. Los códigos de barras lineales necesitan espacio vacío a ambos lados, al menos diez veces el ancho del módulo en Code 128. Mantén el texto y los cuadros alejados de las barras.
  • Código de barras impreso como imagen. Un código de barras escalado como mapa de bits puede acabar con barras de ancho irregular. Los comandos ZPL nativos de código de barras lo evitan.
  • Resolución de impresora incorrecta. El ZPL escrito para 203 dpi se imprime a cerca de dos tercios del tamaño previsto en una impresora de 300 dpi, lo que puede dejar los módulos por debajo de lo que lee un lector.
  • Oscuridad o velocidad de impresión. Las barras que se juntan o se rompen suelen deberse a un ajuste de oscuridad o velocidad de la impresora, no a un problema de diseño.

Preguntas sobre códigos de barras ZPL

¿Cómo hago más grande un código de barras ZPL?

Aumenta el ancho del módulo en ^BY para códigos de barras lineales, la ampliación en ^BQ para códigos QR o el tamaño del módulo en ^BX para Data Matrix. Aumenta el parámetro de altura para barras más altas. El ancho siempre cambia en pasos de dots enteros.

¿La impresora calcula los dígitos de control?

Sí, en las simbologías que lo requieren: Code 128 añade su carácter de control automáticamente, y ^BE y ^BU calculan el dígito de control de EAN-13 y UPC-A a partir de los primeros 12 u 11 dígitos.

¿Qué código de barras debo usar en una etiqueta de envío?

Sigue la especificación del transportista. Los códigos de barras de seguimiento de los transportistas suelen ser Code 128 o GS1-128, y muchos transportistas añaden un código 2D como MaxiCode o PDF417.

¿Puedo previsualizar códigos de barras ZPL sin impresora?

Sí. El visor ZPL renderiza Code 128, QR, EAN, UPC, Data Matrix, PDF417 y otras simbologías comunes en tu navegador. Una vista previa no puede demostrar el rendimiento de lectura, así que prueba la etiqueta impresa con el lector que uses.

Fuentes