QR Code ZPL — Guia completo do comando ^BQ
Tudo o que você precisa para gerar QR Codes em ZPL: sintaxe ^BQ, parâmetros, correção de erros, tamanho e exemplos copy-paste — grátis, sem cadastro.
TL;DR
Os QR Codes em ZPL são gerados pelo comando ^BQ. Sintaxe básica: ^FOx,y ^BQ orientação,modelo,magnificação ^FD <ECC><modo>,dados ^FS. Use sempre modelo 2 (modelo 1 é legado). O payload de ^FD começa com duas letras: a primeira é o nível de correção de erros (H, Q, M, L) e a segunda é o modo de entrada (A = codificação automática, M = segmentos manuais). HA, é o default seguro para envios/exterior (recuperação H + automático). A magnificação (1-10) controla o tamanho do módulo — comece com 5 em etiqueta 4×6 polegadas a 203 dpi. Adicione ^CI28 dentro do formato para habilitar UTF-8 no payload.
Experimente nossas ferramentas ZPL gratuitas agora
Grátis, funciona no navegador — Resultados instantâneos
O que é um QR Code em ZPL?
Um QR Code em ZPL é um código de barras bidimensional gerado pelo comando ^BQ — uma das simbologias mais poderosas suportadas pelas impressoras Zebra. Um único QR pode armazenar até 4.296 caracteres alfanuméricos ou 7.089 dígitos numéricos, suporta correção Reed–Solomon (continua legível mesmo parcialmente danificado ou sujo) e é lido por qualquer câmera de smartphone ou scanner industrial. Por isso é a escolha universal para URLs de rastreio, cartões vCard, identificadores GS1, credenciais WiFi, tickets de transporte e qualquer payload que ultrapasse os 20 caracteres ideais para 1D.
Em ZPL, o QR fica dentro de um formato ^XA..^XZ como qualquer outro campo. Você o posiciona com ^FO ou ^FT, declara com ^BQ e em ^FD coloca dois caracteres antes da vírgula e dos dados: o primeiro é o nível de correção de erros (H, Q, M ou L) e o segundo é o modo de entrada (A para seleção de codificação automática, M para segmentos manuais). Para a maior parte da produção você escreve ^FDHA,dados^FS — alta recuperação, codificação automática. Não há passo ^BY separado porque o tamanho do módulo é controlado diretamente pelo parâmetro de magnificação — valores típicos são 4 a 8 numa etiqueta 4×6 polegadas a 203 dpi. O parâmetro de modelo deve ser sempre 2 (modelo 1 é legado e não recomendado para designs novos).
Sintaxe do comando ^BQ
A declaração mínima de QR usa 3 parâmetros após ^BQ — orientação, modelo e magnificação. O nível de correção de erros e o modo de entrada vão dentro de ^FD como um prefixo de 2 caracteres seguido de vírgula (veja Formato do Field Data abaixo). Estrutura canônica:
^XA
^CI28 ; UTF-8 para dados internacionais
^FO50,50 ; Posição X=50, Y=50
^BQ orientação,modelo,magnificação ; orientação N/R/I/B, modelo 2, magnif. 1-10
^FD <ECC><modo>,<payload>^FS ; ECC = H/Q/M/L, modo = A (auto) ou M (manual)
^XZ
; Linha típica de produção: alta recuperação + codificação automática
; ^FDHA,https://zplpdf.com^FSParâmetros do ^BQ
| Parâmetro | Descrição | Valores válidos | Default |
|---|---|---|---|
| orientação | Rotação do símbolo QR na etiqueta. Use N para etiquetas de envio, R ao empilhar conteúdo verticalmente. | N, R, I, B | N |
| modelo | Modelo de QR. Use sempre 2 em designs novos. O modelo 1 é a especificação legada de 1994 e scanners modernos só miram no modelo 2. | 1, 2 | 2 |
| magnificação | Multiplicador do módulo (dot). Cada unidade adiciona ~5 dots por módulo a 203 dpi. Valor maior = QR maior e mais legível mas ocupa mais espaço. | 1–10 | conforme dpi |
| override ECC | Override opcional do nível de correção de erros no próprio comando ^BQ. Na prática este slot fica em branco e o nível é escolhido pelo primeiro caractere do ^FD (H/Q/M/L) — veja Formato do Field Data. | H, Q, M, L | vazio (use prefixo ^FD) |
| máscara | Máscara opcional que melhora a legibilidade quando o payload produz regiões uniformes. Quase nunca precisa ser ajustada manualmente. | 0–7 | 7 |
Formato do Field Data: <ECC><modo>,dados
O payload de ^FD para ^BQ sempre começa com dois caracteres antes da vírgula: o primeiro é o nível de correção de erros (H, Q, M ou L) e o segundo é o modo de entrada (A para seleção de codificação automática, M para segmentos manuais onde você rotula cada segmento com prefixos N/A/B/K). Os quatro cards abaixo mostram as combinações que você vai usar em produção. Escolher a certa é a decisão mais importante — a maioria dos bugs em produção vem de ler errado esses dois caracteres.
Alta recuperação + Auto (default recomendado)
HA,~30% recuperação de dano e seleção de codificação automática. A opção mais segura para envios, freight e etiquetas exteriores onde o QR possa se roçar.
^FO50,50^BQN,2,6^FDHA,https://zplpdf.com/track/A-7782^FSRecuperação média + Auto (uso geral)
MA,~15% recuperação — o melhor equilíbrio entre capacidade e recuperabilidade para etiquetas internas limpas (escritório, varejo, e-commerce).
^FO50,50^BQN,2,6^FDMA,SKU:COF-ORG-250^FSRecuperação baixa + Auto (capacidade máxima)
LA,~7% recuperação, a codificação mais densa. Use só quando o payload é longo e a etiqueta é impressa em interior em alta resolução.
^FO50,50^BQN,2,6^FDLA,<url-longa-com-muitos-params>^FSAlta recuperação + Modo manual (avançado)
HM,O modo manual permite rotular a codificação por segmento com prefixos N (numérico), A (alfanumérico), B (byte) ou K (Kanji) dentro dos dados. Use só quando o modo automático produz codificação subótima.
^FO50,50^BQN,2,6^FDHM,N0123456789AABC1234^FSNíveis de correção de erros (H / Q / M / L)
A correção Reed–Solomon permite que o QR continue legível mesmo com parte do símbolo ausente ou danificada. O trade-off é a capacidade: níveis maiores adicionam mais redundância e deixam menos espaço para dados. O nível é selecionado pelo primeiro caractere do prefixo no ^FD — HA para H + auto, MA para M + auto, etc. Não há default implícito — você sempre declara o nível explicitamente. Para envios e exterior, HA é o ponto de partida recomendado; para etiquetas internas limpas MA economiza espaço.
| Nível | Recuperação | Quando usar |
|---|---|---|
| L | ~7% | Capacidade máxima, etiquetas internas limpas, posters de marketing com impressão de alta resolução. |
| M | ~15% | Default genérico. Bom equilíbrio para escritório, varejo, etiquetas e-commerce. |
| Q | ~25% | Etiquetas térmicas expostas a desgaste (armazém, freight) e ambientes ligeiramente sujos. |
| H | ~30% | Etiquetas exteriores, cadeia de frio, onde o QR possa arranhar, manchar ou romper parcialmente. Selecionado com o prefixo HA, |
Tamanho e magnificação
O tamanho do QR em ZPL é controlado pelo parâmetro de magnificação (1–10) — não há passo ^BY para QR. Cada unidade multiplica o módulo (o quadradinho menor do QR) por 4 dots a 203 dpi e 6 dots a 300 dpi. O tamanho total do símbolo depende da magnificação e do tamanho do payload (mais dados → mais módulos → código maior).
- Impressora 203 dpi + magnificação 5 ≈ 200×200 dots ≈ 25×25 mm com URL de 50 chars.
- Impressora 203 dpi + magnificação 8 ≈ 320×320 dots ≈ 40×40 mm — recomendado para leitura externa a >50 cm.
- Impressora 300 dpi + magnificação 5 ≈ 300×300 dots ≈ 25×25 mm com URL de 50 chars.
- Smartphones leem magnificação 3 com confiabilidade se a URL for curta (≤25 chars) e a etiqueta estiver a <20 cm da câmera.
- Sempre teste com o scanner mais lento esperado; subir a magnificação em 1 é mais barato do que falhas em campo.
- Módulos menores que 0,4 mm deixam de ser legíveis em scanners de baixa qualidade — mantenha a magnificação ≥4 em impressoras 203 dpi.
Exemplos QR copy-paste
Cada exemplo é um bloco ^XA..^XZ completo. Cole no visualizador ZPLPDF para ver exatamente o que sua impressora vai produzir.
URL de rastreio com alta recuperação (o mais comum)
O caso de 90%: um QR que abre uma URL de rastreio ao ser escaneado por qualquer câmera de smartphone. HA, oferece alta correção de erros (~30% recuperação) e seleção de codificação automática — o default seguro para qualquer etiqueta de envio ou e-commerce.
^XA
^CI28
^FO50,50
^BQN,2,6
^FDHA,https://zplpdf.com/track/A-7782^FS
^XZCartão vCard
Armazena um contato completo (nome, telefone, email, organização) para que ao escanear seja adicionado à agenda do smartphone. Use MA, (recuperação média + auto) e magnificação 7 para manter legíveis ~250 caracteres.
^XA
^CI28
^FO50,50
^BQN,2,7
^FDMA,BEGIN:VCARD\nVERSION:3.0\nN:Silva;Joana\nFN:Joana Silva\nORG:ZPLPDF Inc.\nTEL:+55-11-9555-0142\nEMAIL:joana@zplpdf.com\nEND:VCARD^FS
^XZIdentificadores GS1 (farma)
Codifica (01) GTIN + (17) validade + (10) lote em um único QR seguindo o GS1 Digital Link. Comum em rastreabilidade farmacêutica — HA, dá a alta recuperação que o padrão exige.
^XA
^CI28
^FO50,50
^BQN,2,6
^FDHA,https://id.gs1.org/01/07640123456789/17/270930/10/B25C-0481^FS
^XZCredenciais WiFi (Android e iOS)
Ao escanear o QR, o dispositivo entra automaticamente na rede WiFi. Útil em embalagens ou crachás de evento. MA, (médio + auto) é suficiente para etiquetas internas limpas.
^XA
^CI28
^FO50,50
^BQN,2,6
^FDMA,WIFI:T:WPA;S:Office-Guest;P:Bemvindo2026;;^FS
^XZEtiqueta externa / cadeia de frio de alta recuperação
Quando a etiqueta pode arranhar, manchar ou romper parcialmente (cadeia de frio, freight, logística agressiva), aumente a magnificação e mantenha o prefixo HA, para que o QR sobreviva ao dano parcial.
^XA
^CI28
^FO50,50
^BQN,2,8
^FDHA,FREIGHT-A-7782^FS
^XZCaracteres internacionais (UTF-8)
Caracteres não-ASCII (中文, ç, ã, é) exigem ^CI28 dentro do formato para que a impressora trate o payload como UTF-8. MA, (médio + auto) processa os segmentos byte de forma transparente; sem ^CI28 aparecerão ? nos dados.
^XA
^CI28
^FO50,50
^BQN,2,6
^FDMA,Pedido cliente #A-7782\nNome: Joana Silva^FS
^XZErros comuns com QR e como corrigi-los
O QR imprime mas nenhum scanner consegue ler.
→ Magnificação baixa demais para o payload — os módulos ficam menores que o mínimo do scanner.
✓ Aumente a magnificação em 2 (ex. 5 → 7) e confirme que o módulo tenha pelo menos 0,4 mm de largura.
O scanner lê mas caracteres UTF-8 aparecem como ?.
→ Falta ^CI28 antes de ^BQ — a codepage padrão remove bytes não-ASCII.
✓ Adicione ^CI28 logo depois de ^XA. O modo de entrada automático HA,/MA, processa então os bytes UTF-8 corretamente.
O QR aparece quadradinho e câmeras de smartphone rejeitam.
→ Foi usado o modelo 1 (legado) em vez do 2 no ^BQ.
✓ Use ^BQN,2,<mag> — sempre 2 no slot de modelo em designs novos.
URL longa imprime mas falha ao ler etiquetas parcialmente desgastadas.
→ Foi escolhido um nível ECC baixo (LA, ou MA,), então o QR não resiste ao dano parcial.
✓ Use HA, (alta recuperação, ~30% tolerância ao dano) em qualquer etiqueta que possa terminar gasta no campo.
Espaço em branco excessivo ao redor do QR força etiquetas grandes.
→ Zona de silêncio ampla demais porque o ^FO explícito herda ^BY de um barcode 1D anterior.
✓ Resete ^BY entre simbologias ou posicione o QR com seu próprio ^FO fora de qualquer bloco ^BY anterior.
O QR codifica direito no visualizador mas falha em scanner Datalogic / Honeywell.
→ Scanners industriais exigem tamanho mínimo de módulo e zona de silêncio de 4 módulos.
✓ Aumente a magnificação para ≥6 e deixe pelo menos 4 módulos de margem em volta do símbolo.
QR Code ZPL — Perguntas frequentes
Qual é o comando ZPL para QR Code?
O que significam os dois caracteres antes da vírgula em ^FD (HA, MA, QA…)?
Como mudo o tamanho de um QR Code em ZPL?
Qual nível de correção de erros devo usar?
Por que meu QR não funciona com caracteres internacionais?
Um QR em ZPL pode guardar vCard ou credenciais WiFi?
Qual é o payload máximo de um QR Code ZPL?
Modelo QR 1 vs modelo 2 — qual o ZPL usa?
Posso testar um QR ZPL sem impressora?
O QR Code é suportado em todos os modelos Zebra?
Renderize seu QR agora
Cole qualquer exemplo desta página no nosso visualizador ZPL grátis online para ver o QR renderizado exatamente como sua impressora vai produzir.