Menu
Código QR en ZPL — Deep dive

Código QR ZPL — Guía completa del comando ^BQ

Todo lo que necesitas para generar códigos QR en ZPL: sintaxis ^BQ, parámetros, corrección de errores, tamaño y ejemplos copy-paste — gratis, sin registro.

TL;DR

Los códigos QR en ZPL se generan con el comando ^BQ. Sintaxis básica: ^FOx,y ^BQ orientación,modelo,magnificación ^FD <ECC><modo>,datos ^FS. Usa siempre modelo 2 (el modelo 1 es legado). El payload de ^FD empieza con dos letras: la primera es el nivel de corrección de errores (H, Q, M, L) y la segunda es el modo de entrada (A = codificación automática, M = segmentos manuales). HA, es el default seguro para envíos/exterior (recuperación H + automático). La magnificación (1-10) controla el tamaño del módulo — empieza con 5 en una etiqueta 4×6 pulgadas a 203 dpi. Añade ^CI28 dentro del formato para habilitar UTF-8 en el payload.

Prueba nuestras herramientas ZPL gratuitas ahora

Gratis, funciona en el navegador — Resultados instantáneos

¿Qué es un código QR en ZPL?

Un código QR en ZPL es un código de barras bidimensional generado por el comando ^BQ — una de las simbologías más potentes que soportan las impresoras Zebra. Un solo QR puede almacenar hasta 4,296 caracteres alfanuméricos o 7,089 dígitos numéricos, soporta corrección Reed–Solomon (sigue siendo legible aunque esté dañado o sucio parcialmente) y se lee con cualquier cámara de smartphone o escáner industrial. Por eso es la elección universal para URLs de tracking, tarjetas vCard, identificadores GS1, credenciales WiFi, tickets de transporte y cualquier payload que supere los 20 caracteres óptimos para 1D.

En ZPL, el QR vive dentro de un formato ^XA..^XZ como cualquier otro campo. Lo posicionas con ^FO o ^FT, lo declaras con ^BQ y en ^FD antepones dos caracteres antes de la coma y los datos: el primero es el nivel de corrección de errores (H, Q, M o L) y el segundo es el modo de entrada (A = selección de codificación automática, M = segmentos manuales). Para la mayoría de los casos de producción escribes ^FDHA,datos^FS — alta recuperación, codificación automática. No hay paso ^BY separado porque el tamaño del módulo se controla directamente con el parámetro de magnificación — valores típicos son 4 a 8 en una etiqueta 4×6 pulgadas a 203 dpi. El parámetro de modelo siempre debe ser 2 (modelo 1 es legado y no se recomienda para diseños nuevos).

Sintaxis del comando ^BQ

La declaración mínima de QR toma 3 parámetros después de ^BQ — orientación, modelo y magnificación. El nivel de corrección de errores y el modo de entrada van dentro de ^FD como un prefijo de 2 caracteres seguido de coma (ver Formato del Field Data abajo). Estructura canónica:

^XA
^CI28                                ; UTF-8 para datos internacionales
^FO50,50                             ; Posición X=50, Y=50
^BQ orientación,modelo,magnificación  ; orientación N/R/I/B, modelo 2, magnif. 1-10
^FD <ECC><modo>,<payload>^FS         ; ECC = H/Q/M/L, modo = A (auto) o M (manual)
^XZ

; Línea típica de producción: alta recuperación + codificación automática
; ^FDHA,https://zplpdf.com^FS

Parámetros de ^BQ

ParámetroDescripciónValores válidosDefault
orientaciónRotación del símbolo QR en la etiqueta. Usa N para etiquetas de envío, R cuando apilas contenido verticalmente.N, R, I, BN
modeloModelo de QR. Usa siempre 2 en diseños nuevos. El modelo 1 es la especificación legado de 1994 y los escáneres modernos solo apuntan al modelo 2.1, 22
magnificaciónMultiplicador del módulo (dot). Cada unidad añade ~5 dots por módulo a 203 dpi. Valor mayor = QR más grande y más fácil de escanear, pero ocupa más espacio.1–10según dpi
override ECCOverride opcional del nivel de corrección de errores en el propio comando ^BQ. En la práctica este slot se deja vacío y el nivel se elige con el primer carácter de ^FD (H/Q/M/L) — ver Formato del Field Data.H, Q, M, Lvacío (usa prefijo ^FD)
máscaraMáscara opcional que mejora la legibilidad del escáner cuando el payload produce regiones uniformes. Casi nunca necesita ajustarse manualmente.0–77

Formato del Field Data: <ECC><modo>,datos

El payload de ^FD para ^BQ siempre empieza con dos caracteres antes de la coma: el primero es el nivel de corrección de errores (H, Q, M o L) y el segundo es el modo de entrada (A para selección de codificación automática, M para segmentos manuales donde etiquetas cada segmento con prefijos N/A/B/K). Las cuatro tarjetas abajo muestran las combinaciones que usarás en producción. Elegir la correcta es la decisión más importante — la mayoría de bugs en producción vienen de leer mal estos dos caracteres.

Alta recuperación + Auto (default recomendado)

HA,

~30% recuperación de daño y selección de codificación automática. La opción más segura para envíos, freight y etiquetas exteriores donde el QR pueda rozarse.

^FO50,50^BQN,2,6^FDHA,https://zplpdf.com/track/A-7782^FS

Recuperación media + Auto (uso general)

MA,

~15% recuperación — el mejor balance entre capacidad y recuperabilidad para etiquetas interiores limpias (oficina, retail, e-commerce).

^FO50,50^BQN,2,6^FDMA,SKU:COF-ORG-250^FS

Recuperación baja + Auto (máxima capacidad)

LA,

~7% recuperación, la codificación más densa. Úsala solo cuando el payload es largo y la etiqueta se imprime en interior a alta resolución.

^FO50,50^BQN,2,6^FDLA,<url-larga-con-muchos-params>^FS

Alta recuperación + Modo manual (avanzado)

HM,

El modo manual te permite etiquetar la codificación por segmento con prefijos N (numérico), A (alfanumérico), B (byte) o K (Kanji) dentro de los datos. Úsalo solo cuando el modo automático produce una codificación subóptima.

^FO50,50^BQN,2,6^FDHM,N0123456789AABC1234^FS

Niveles de corrección de errores (H / Q / M / L)

La corrección Reed–Solomon permite que el QR siga siendo legible aunque parte del símbolo esté ausente o dañada. El compromiso es la capacidad: niveles más altos añaden más redundancia y dejan menos espacio para datos. El nivel se selecciona con el primer carácter del prefijo en ^FD — HA para H + auto, MA para M + auto, etc. No hay default implícito — siempre declaras el nivel explícitamente. Para envíos y exterior, HA es el punto de partida recomendado; para etiquetas interiores limpias MA ahorra espacio.

NivelRecuperaciónCuándo usarlo
L~7%Capacidad máxima, etiquetas interiores limpias, posters de marketing con impresión de alta resolución.
M~15%Default genérico. Buen balance para oficina, retail, etiquetas e-commerce.
Q~25%Etiquetas térmicas expuestas a desgaste (almacén, freight) y ambientes ligeramente sucios.
H~30%Etiquetas exteriores, cadena de frío, donde el QR pueda rayarse, mancharse o romperse parcialmente. Se selecciona con el prefijo HA,

Tamaño y magnificación

El tamaño del QR en ZPL se controla con el parámetro de magnificación (1–10) — no hay paso ^BY para QR. Cada unidad multiplica el módulo (el cuadradito más pequeño del QR) por 4 dots a 203 dpi y 6 dots a 300 dpi. El tamaño total del símbolo depende de la magnificación y de la longitud del payload (más datos → más módulos → código más grande).

  • Impresora 203 dpi + magnificación 5 ≈ 200×200 dots ≈ 25×25 mm con una URL de 50 chars.
  • Impresora 203 dpi + magnificación 8 ≈ 320×320 dots ≈ 40×40 mm — recomendado para escaneo exterior a >50 cm.
  • Impresora 300 dpi + magnificación 5 ≈ 300×300 dots ≈ 25×25 mm con una URL de 50 chars.
  • Los smartphones leen magnificación 3 fiable si la URL es corta (≤25 chars) y la etiqueta está a <20 cm de la cámara.
  • Prueba siempre con el escáner más lento esperado; subir la magnificación en 1 es más barato que escaneos fallidos en campo.
  • Módulos menores a 0.4 mm dejan de ser legibles en escáneres de gama baja — mantén la magnificación ≥4 en impresoras de 203 dpi.

Ejemplos QR copy-paste

Cada ejemplo es un bloque ^XA..^XZ completo. Pégalo en el visor ZPLPDF para ver exactamente qué imprimirá tu impresora.

URL de tracking con alta recuperación (el más común)

El caso 90%: un QR que abre una URL de tracking cuando se escanea con cualquier cámara de smartphone. HA, ofrece alta corrección de errores (~30% recuperación) más selección de codificación automática — el default seguro para cualquier etiqueta de envío o e-commerce.

^XA
^CI28
^FO50,50
^BQN,2,6
^FDHA,https://zplpdf.com/track/A-7782^FS
^XZ

Tarjeta vCard

Guarda un contacto completo (nombre, teléfono, email, organización) para que al escanear se añada a la agenda del smartphone. Usa MA, (recuperación media + auto) y magnificación 7 para mantener legibles ~250 caracteres.

^XA
^CI28
^FO50,50
^BQN,2,7
^FDMA,BEGIN:VCARD\nVERSION:3.0\nN:Pérez;Juana\nFN:Juana Pérez\nORG:ZPLPDF Inc.\nTEL:+34-555-0142\nEMAIL:juana@zplpdf.com\nEND:VCARD^FS
^XZ

Identificadores GS1 (farma)

Codifica (01) GTIN + (17) vencimiento + (10) lote en un único QR siguiendo GS1 Digital Link. Habitual en trazabilidad farmacéutica — HA, da la alta recuperación que el estándar espera.

^XA
^CI28
^FO50,50
^BQN,2,6
^FDHA,https://id.gs1.org/01/07640123456789/17/270930/10/B25C-0481^FS
^XZ

Credenciales WiFi (Android e iOS)

Al escanear el QR el dispositivo se conecta automáticamente a la red WiFi. Útil en packaging o badges de evento. MA, (medio + auto) basta para etiquetas interiores limpias.

^XA
^CI28
^FO50,50
^BQN,2,6
^FDMA,WIFI:T:WPA;S:Office-Guest;P:Bienvenido2026;;^FS
^XZ

Etiqueta exterior / cadena de frío de alta recuperación

Cuando la etiqueta pueda rayarse, mancharse o romperse parcialmente (cadena de frío, freight, logística agresiva), sube la magnificación y mantén el prefijo HA, para que el QR sobreviva al daño parcial.

^XA
^CI28
^FO50,50
^BQN,2,8
^FDHA,FREIGHT-A-7782^FS
^XZ

Caracteres internacionales (UTF-8)

Los caracteres no ASCII (中文, ñ, ç, é) requieren ^CI28 dentro del formato para que la impresora trate el payload como UTF-8. MA, (medio + auto) procesa los segmentos byte de forma transparente; sin ^CI28 aparecerán ? en los datos.

^XA
^CI28
^FO50,50
^BQN,2,6
^FDMA,Pedido cliente #A-7782\nNombre: Juana Pérez^FS
^XZ

Errores comunes con QR y cómo corregirlos

El QR imprime pero ningún escáner lo lee.

Magnificación demasiado baja para el payload — los módulos quedan más pequeños que el mínimo del escáner.

Aumenta la magnificación en 2 (ej. 5 → 7) y verifica que el módulo mida al menos 0.4 mm de ancho.

El escáner lee pero los caracteres UTF-8 aparecen como ?.

Falta ^CI28 antes de ^BQ — la codepage por defecto elimina bytes no ASCII.

Añade ^CI28 justo después de ^XA. El modo de entrada automático HA,/MA, gestionará entonces los bytes UTF-8 correctamente.

El QR se ve cuadrado y las cámaras de smartphone lo rechazan.

Se usó el modelo 1 (legado) en lugar del 2 en ^BQ.

Usa ^BQN,2,<mag> — siempre 2 en el slot de modelo en diseños nuevos.

URL larga imprime pero falla al escanear etiquetas parcialmente gastadas.

Se eligió un nivel ECC bajo (LA, o MA,), por lo que el QR no resiste al daño parcial.

Usa HA, (recuperación alta, ~30% tolerancia al daño) en cualquier etiqueta que pueda terminar rozada en campo.

Exceso de espacio blanco alrededor del QR fuerza etiquetas demasiado grandes.

Zona de silencio demasiado amplia porque ^FO explícito hereda ^BY de un barcode 1D anterior.

Resetea ^BY entre simbologías o posiciona el QR con su propio ^FO fuera de cualquier bloque ^BY previo.

El QR codifica bien en el visor pero falla en un escáner Datalogic / Honeywell.

Los escáneres industriales requieren tamaño mínimo de módulo y zona de silencio de 4 módulos.

Aumenta la magnificación a ≥6 y deja al menos 4 módulos de margen alrededor del símbolo.

Código QR ZPL — Preguntas frecuentes

¿Cuál es el comando ZPL para código QR?

^BQ genera códigos QR en ZPL. Sintaxis mínima: ^BQ orientación,modelo,magnificación seguido de ^FD <ECC><modo>,datos ^FS, donde <ECC> es el nivel de corrección de errores (H/Q/M/L) y <modo> es A (codificación automática) o M (segmentos manuales). Ejemplo: ^FO50,50 ^BQN,2,6 ^FDHA,https://example.com ^FS imprime un QR en posición (50,50) con modelo 2, magnificación 6, alta recuperación y codificación automática.

¿Qué significan los dos caracteres antes de la coma en ^FD (HA, MA, QA…)?

El primer carácter es el nivel de corrección de errores: H (~30% recuperación), Q (~25%), M (~15%), L (~7%). El segundo es el modo de entrada: A para codificación automática (la impresora elige numérico, alfanumérico o byte) o M para segmentos manuales (etiquetas cada segmento con prefijos N/A/B/K). Entonces HA, = recuperación alta + codificación automática, el default seguro. QA, = recuperación quartile (~25%) + codificación automática, no 'alta recuperación'.

¿Cómo cambio el tamaño de un código QR en ZPL?

Usa el parámetro de magnificación dentro de ^BQ. Valores 1 a 10 multiplican el tamaño del módulo. En impresora 203 dpi, magnificación 5 produce un QR de ~25 mm para una URL de 50 caracteres; magnificación 8 da ~40 mm para escaneo exterior.

¿Qué nivel de corrección de errores debo usar?

HA, (~30% recuperación + codificación automática) es el default más seguro para envíos, exterior y cualquier etiqueta que pueda terminar rozada. MA, (~15%) ahorra espacio en etiquetas interiores limpias (oficina, retail, e-commerce). QA, (~25%) es la opción intermedia. LA, (~7%) solo cuando necesitas máxima capacidad y la etiqueta permanece intacta.

¿Por qué mi QR no funciona con caracteres internacionales?

Por defecto la impresora elimina bytes no ASCII. Añade ^CI28 dentro del formato (justo después de ^XA) para habilitar UTF-8 en el payload. El modo automático HA, o MA, gestiona entonces las secuencias UTF-8 correctamente — no necesitas cambiar al modo manual solo por acentos o caracteres CJK.

¿Puede un código QR en ZPL guardar una vCard o credenciales WiFi?

Sí. Ambos son payloads de texto plano siguiendo las convenciones estándar de QR. Usa MA, (o HA, si la etiqueta puede terminar rozada) y sube la magnificación a 7+ porque el payload es más largo que una URL. Ver los ejemplos copy-paste arriba para vCard y WiFi.

¿Cuál es el payload máximo de un código QR ZPL?

El máximo teórico son 7,089 dígitos numéricos, 4,296 alfanuméricos o 2,953 bytes — pero a corrección H. En la práctica, mantén payloads por debajo de 300 caracteres para impresión térmica fiable a 203 dpi con magnificación 5–6.

Modelo QR 1 vs modelo 2 — ¿cuál usa ZPL?

Usa siempre modelo 2 (el segundo parámetro en ^BQ). El modelo 1 es la especificación legado de 1994 con menor capacidad y menos niveles de corrección. Los escáneres modernos solo apuntan al modelo 2.

¿Puedo probar un QR ZPL sin impresora?

Sí — pega tu código ZPL basado en ^BQ en nuestro visor ZPL gratuito online para ver el QR exactamente como lo renderizaría tu impresora, y luego verifica que escanee con cualquier smartphone antes de mandarlo a imprimir.

¿El código QR está soportado en todos los modelos Zebra?

Sí. Toda impresora Zebra moderna que soporte ZPL II (series ZD, ZT, ZE, ZQ, GK, GX y más nuevas) soporta ^BQ. Firmware antiguo en modelos industriales puede defaultear al modelo 1, así que declara modelo 2 explícitamente siempre.

Renderiza tu QR ahora

Pega cualquier ejemplo de esta página en nuestro visor ZPL gratuito online para ver el QR renderizado exactamente como lo producirá tu impresora.