Glossario

Definicoes dos principais termos tecnicos sobre QR Code, codigos de barras e tecnologias de identificacao.

Batch/Lote

Processo de gerar multiplos QR Codes ou codigos de barras de uma vez a partir de uma lista (CSV). Util para etiquetas de produtos, crachas e rastreamento em massa.

Batch (lote, em portugues) descreve o processamento de multiplos itens de uma vez, em contraste ao processamento individual. No contexto de QR Codes, a geracao em lote permite criar centenas de codigos a partir de uma planilha ou arquivo CSV.

Quando usar geracao em lote

  • Etiquetas de produtos: Cada produto tem um codigo unico (SKU, serial, lote de fabricacao)
  • Crachas de evento: Cada participante tem um QR com seu nome, empresa e numero de registro
  • Rastreamento de ativos: Cada equipamento recebe um QR com seu numero de patrimonio
  • Codigos de cupom: Cada cupom tem um codigo unico para evitar reuso
  • URLs de rastreamento: Variantes UTM diferentes para cada canal ou material

Formato CSV

O arquivo CSV (Comma-Separated Values) deve ter uma coluna com os dados para cada QR Code:

URL,Nome
https://exemplo.com/produto/1,Produto A
https://exemplo.com/produto/2,Produto B
https://exemplo.com/produto/3,Produto C

No gerador em lote, voce especifica qual coluna contem os dados para o QR e qual coluna usar para nomear os arquivos no ZIP.

Consideracoes de performance

Gerar 500 QR Codes no navegador pode levar alguns segundos, dependendo do computador. O gerador exibe uma barra de progresso. Para volumes maiores (1000+ itens), divida em lotes de 500.

Resultado: arquivo ZIP

Apos a geracao, todos os QR Codes sao empacotados em um arquivo ZIP para download unico. Os arquivos sao nomeados conforme sua preferencia (sequencial, pelo conteudo ou por uma coluna do CSV).

Code 128

Formato de codigo de barras de alta densidade que suporta todos os 128 caracteres ASCII. Muito usado em logistica e rastreamento de encomendas.

Code 128 e um formato de codigo de barras linear (1D) de alta densidade desenvolvido em 1981 pela Laserlight Data Systems. Diferente do EAN-13 (apenas numeros), o Code 128 suporta todos os 128 caracteres da tabela ASCII — letras maiusculas, minusculas, numeros, simbolos e alguns caracteres de controle.

Subsets A, B e C

O Code 128 possui tres subsets que podem ser misturados em um unico codigo:

  • Subset A: Caracteres ASCII 00-95, incluindo letras maiusculas e caracteres de controle
  • Subset B: Caracteres ASCII 32-127, incluindo letras minusculas — o mais comum
  • Subset C: Pares de digitos numericos (00-99) codificados de forma muito compacta — ideal para sequencias numericas longas

A biblioteca jsbarcode seleciona automaticamente o subset mais eficiente.

Vantagens sobre outros formatos

  • Alta densidade: Armazena mais informacao no mesmo espaco fisico que Code 39
  • Caracteres completos: Suporta toda a tabela ASCII
  • Checksum obrigatorio: Tem digito verificador interno, aumentando a confiabilidade
  • Amplamente suportado: Lido por todos os scanners modernos

Aplicacoes comuns

Rastreamento de encomendas (Correios, transportadoras), etiquetas de produtos de saude, identificacao de ativos, controle de estoque e codigos de pedido em logistica.

Code 39

Formato de codigo de barras que suporta A-Z maiusculo, 0-9 e caracteres especiais limitados. Tambem chamado Code 3 of 9, amplamente usado na industria.

Code 39 (tambem conhecido como Code 3 of 9) e um formato de codigo de barras linear criado em 1974 pela Intermec. O nome “3 of 9” vem de sua estrutura: cada caractere e representado por 9 elementos (barras e espacos), dos quais exatamente 3 sao largos.

Conjunto de caracteres suportados

Code 39 suporta:

  • Letras: A-Z (apenas maiusculas)
  • Numeros: 0-9
  • Caracteres especiais: espaco, -, ., $, /, +, %

Para incluir letras minusculas, e necessario usar o “Code 39 Extended” ou migrar para Code 128.

Caracteristicas tecnicas

  • Auto-checksumming: O padrao original nao tem digito verificador obrigatorio (diferente do EAN-13). O codigo e valido sem ele, mas pode ser adicionado opcionalmente.
  • Start/stop character: Todo Code 39 comeca e termina com o caractere especial * (que nao e exibido nos dados, apenas nas barras).
  • Densidade: Menor que Code 128 — para a mesma quantidade de caracteres, Code 39 ocupa mais espaco fisico.

Usos tipicos

Industria automotiva, aeroespacial, defesa, governo (formularios, identificacao de equipamentos), saude (identificacao de amostras e equipamentos) e qualquer ambiente com scanners legados que nao suportam Code 128.

Codigo de Barras

Representacao visual de dados em barras paralelas de diferentes larguras. Codigos 1D como EAN-13, Code 128 e Code 39 sao amplamente usados em varejo e logistica.

Codigo de barras e uma representacao grafica de dados em formato legivel por maquinas, composto por barras paralelas verticais de diferentes larguras e espacamentos.

Codigos 1D vs 2D

Os codigos de barras se dividem em duas categorias principais:

Unidimensionais (1D): Armazenam dados apenas na dimensao horizontal (barras e espacos). Exemplos: EAN-13, Code 128, Code 39, UPC-A, ITF. Capacidade limitada (tipicamente 10-80 caracteres).

Bidimensionais (2D): Armazenam dados em duas dimensoes. Exemplos: QR Code, Data Matrix, PDF417. Capacidade muito maior (centenas a milhares de caracteres).

Principais formatos 1D

FormatoCaracteresPrincipal uso
EAN-1313 digitosVarejo, produtos
UPC-A12 digitosVarejo (EUA/Canada)
Code 128ASCII completoLogistica, rastreamento
Code 39A-Z, 0-9Industria, governo
ITF-1414 digitosCaixas e embalagens

Como funciona a leitura

Um scanner de codigo de barras emite luz (laser ou LED) sobre o codigo. As barras escuras absorvem a luz e os espacos claros a refletem. O sensor detecta as variações de reflectancia e converte o padrao de barras em dados digitais.

CRC16

Cyclic Redundancy Check de 16 bits. No padrao PIX/EMV, usa-se CRC-16/CCITT-FALSE (poli 0x1021, init 0xFFFF) para validar a integridade do payload.

CRC16 (Cyclic Redundancy Check de 16 bits) e um algoritmo de verificacao de integridade de dados. Gera um valor de 16 bits (4 digitos hexadecimais) que funciona como “impressao digital” de uma sequencia de bytes — qualquer alteracao no dado gera um CRC diferente.

CRC-16/CCITT-FALSE no PIX

O padrao PIX BRCODE utiliza especificamente a variante CRC-16/CCITT-FALSE com os seguintes parametros:

ParametroValor
Polinomio0x1021
Valor inicial (init)0xFFFF
XOR final0x0000
Input refletidoNao
Output refletidoNao

Como funciona no payload PIX

O CRC e calculado sobre todo o payload PIX, incluindo a string 6304 (ID do campo CRC + tamanho 04), mas sem os 4 digitos do CRC em si:

payload_sem_crc = campo00 + campo01 + ... + campo62 + "6304"
crc = crc16_ccitt_false(payload_sem_crc)
payload_final = payload_sem_crc + crc_em_hex_uppercase

Algoritmo em pseudocodigo

crc = 0xFFFF
para cada byte do payload:
  crc = crc XOR (byte << 8)
  para j de 0 a 7:
    se MSB de crc == 1:
      crc = (crc << 1) XOR 0x1021
    senao:
      crc = crc << 1
    crc = crc AND 0xFFFF
retornar crc.toString(16).toUpperCase().padStart(4, '0')

Por que isso importa

Todos os apps bancarios validam o CRC do QR PIX antes de processar o pagamento. Um QR com CRC incorreto e rejeitado. Por isso, a implementacao correta do CRC-16/CCITT-FALSE e critica para o funcionamento do QR PIX.

DPI

Dots Per Inch — pontos por polegada. Medida de resolucao de impressao. Para imprimir QR Codes com qualidade, use minimo 300 DPI.

DPI (Dots Per Inch — pontos por polegada) e a medida de resolucao de dispositivos de impressao e exibicao. Indica quantos pontos individuais cabem em uma polegada linear.

DPI para diferentes usos

UsoDPI recomendadoObservacao
Tela de computador/celular72-150 DPISuficiente para visualizacao
Impressao laser/inkjet basica150-200 DPIAceitavel para uso interno
Impressao profissional (grafica)300 DPIPadrao da industria grafica
Impressao fotografica300-600 DPIPara fotos de alta qualidade
Impressao offset de alta qualidade600+ DPILivros, embalagens premium

Calculando o tamanho da imagem

Para imprimir um QR Code de 5cm × 5cm a 300 DPI:

5 cm = 1.97 polegadas
1.97 pol × 300 DPI = 591 pixels

Portanto, voce precisa de uma imagem de pelo menos 591×591 pixels para imprimir com qualidade a 300 DPI em 5cm.

DPI em QR Codes: por que isso importa

Um QR Code impresso com resolucao insuficiente tera modulos (quadradinhos) com bordas borradas ou pixeladas. Isso dificulta a leitura pelos scanners e cameras de celular, especialmente em codigos com muitos dados (versoes maiores de QR).

A solucao definitiva: SVG

Para evitar preocupacoes com DPI, gere o QR Code em formato SVG. Como e vetorial, o SVG e resoluçao-independente — sera impresso com qualidade perfeita em qualquer DPI, em qualquer tamanho.

EAN-13

Padrao europeu de codigo de barras com 13 digitos para identificacao de produtos no varejo. Os prefixos 789 e 790 identificam produtos brasileiros.

EAN-13 (European Article Number) e o padrao internacional de codigo de barras para identificacao de produtos no varejo, administrado pela GS1. O nome vem de sua origem europeia, mas hoje e adotado mundialmente — nos EUA, o equivalente e o UPC-A (que e basicamente um EAN-13 com o primeiro digito zero).

Estrutura dos 13 digitos

Os 13 digitos do EAN-13 se dividem em:

  • Digitos 1-3: Prefixo do pais/regiao (ex: 789 e 790 = Brasil, 690-699 = China, 400-440 = Alemanha)
  • Digitos 4-7: Codigo do fabricante (atribuido pela GS1)
  • Digitos 8-12: Codigo do produto (atribuido pelo fabricante)
  • Digito 13: Digito verificador (calculado por algoritmo)

Calculo do digito verificador

O digito verificador e calculado da seguinte forma:

  1. Some os digitos nas posicoes 1, 3, 5, 7, 9, 11 (impares)
  2. Multiplique por 1 a soma dos digitos nas posicoes 2, 4, 6, 8, 10, 12 (pares) por 3
  3. Some os dois resultados
  4. O digito verificador e (10 - (soma % 10)) % 10

Prefixos brasileiros

A GS1 Brasil administra os prefixos 789 e 790 para produtos brasileiros. Para obter um codigo EAN-13 oficial para seu produto, e necessario se registrar na GS1 Brasil.

EMV

Padrao internacional para pagamentos por cartao e QR Code. O PIX brasileiro usa EMV QRCPS-MPM (TLV encoding) como base para seu payload.

EMV e um padrao global de pagamentos criado e mantido pela EMVCo, consorcio fundado pela Europay, Mastercard e Visa (daí a sigla). Hoje inclui tambem American Express, Discover, JCB e UnionPay.

EMV para QR Code de pagamentos

Alem do chip nos cartoes, a EMVCo criou o QRCPS (QR Code Payment Specification), com dois modos:

  • CPM (Consumer-Presented Mode): O consumidor apresenta o QR no celular para o comerciante escanear.
  • MPM (Merchant-Presented Mode): O comerciante expoe o QR para o consumidor escanear. E o modo usado pelo PIX brasileiro.

Estrutura TLV (Tag-Length-Value)

O payload EMV/QRCPS e uma string TLV, onde cada campo tem:

  • Tag (ID): 2 caracteres numericos que identificam o campo
  • Length: 2 caracteres numericos com o tamanho do valor
  • Value: O conteudo do campo

Exemplo: 000201 = Tag 00, Length 02, Value 01 (Payload Format Indicator versao 01).

BRCODE — a adaptacao brasileira

O BACEN adaptou o EMV QRCPS-MPM para o PIX como BRCODE. As principais especificidades brasileiras incluem:

  • GUI do arranjo: br.gov.bcb.pix
  • Campos especificos para chave PIX, nome e cidade do recebedor (em UTF-8 sem acentos)
  • CRC-16/CCITT-FALSE como checksum obrigatorio

Verificacao de integridade (CRC-16)

O ultimo campo do payload PIX e sempre o CRC-16, calculado sobre todo o payload anterior + “6304”. Isso garante que qualquer alteracao no payload seja detectada pelo app do banco.

PIX

Sistema de pagamento instantaneo brasileiro do Banco Central, lancado em novembro de 2020. O QR Code PIX segue o padrao EMV/BRCODE.

PIX e o sistema de pagamentos instantaneos brasileiro criado e gerido pelo Banco Central do Brasil (BACEN), lancado oficialmente em 16 de novembro de 2020. Permite transferencias e pagamentos em ate 10 segundos, 24 horas por dia, 7 dias por semana, incluindo finais de semana e feriados.

Tipos de chave PIX

As chaves PIX identificam uma conta de forma simplificada:

  • CPF/CNPJ: Numero do documento do titular
  • Email: Endereco de email cadastrado
  • Telefone: Numero no formato +5511999998888
  • Chave aleatoria (EVP): Codigo UUID gerado aleatoriamente — nao expoe dados pessoais

QR Code PIX

O QR Code PIX segue o padrao EMV QRCPS-MPM (Merchant-Presented Mode), adaptado pelo BACEN como BRCODE. O payload e uma string TLV (Tag-Length-Value) que inclui:

  • Chave do recebedor
  • Nome e cidade do recebedor
  • Valor (opcional no PIX estatico)
  • Identificador da transacao
  • Checksum CRC-16/CCITT-FALSE

PIX estatico vs dinamico

PIX estatico: Os dados ficam codificados diretamente no QR. Pode ser pago multiplas vezes. Gerado gratuitamente por qualquer pessoa.

PIX dinamico: O QR aponta para uma URL do banco com dados variaveis. Cada QR e de uso unico. Usado em cobranças com prazo, multa e desconto. Requer integração com a API do banco.

Adocao no Brasil

O PIX e o meio de pagamento mais usado no Brasil, com mais de 170 milhoes de chaves registradas e bilhoes de transações mensais. A maioria dos bancos exige o PIX como modalidade de pagamento obrigatoria.

QR Code

Codigo bidimensional de resposta rapida inventado em 1994 pela Denso Wave. Armazena ate ~4000 caracteres e e lido pela camera do celular.

QR Code (Quick Response Code — “Codigo de Resposta Rapida”) e um tipo de codigo de barras bidimensional (2D) criado em 1994 pelo engenheiro Masahiro Hara, da empresa japonesa Denso Wave, para rastrear peas automotivas na linha de montagem da Toyota.

Estrutura

Um QR Code e composto por modulos (quadradinhos pretos e brancos) organizados em uma grade quadrada. Os tres quadrados nos cantos superior-esquerdo, superior-direito e inferior-esquerdo sao os padroes de localizacao (finder patterns), que permitem ao leitor identificar o QR independentemente do angulo de leitura.

Capacidade de armazenamento

A capacidade varia conforme a versao (tamanho da grade) e o nivel de correcao de erro:

  • Numeros: ate 7.089 caracteres
  • Alfanumerico: ate 4.296 caracteres
  • Binario/byte: ate 2.953 caracteres
  • Kanji: ate 1.817 caracteres

Niveis de correcao de erro

O QR Code tem quatro niveis de correcao de erro (Reed-Solomon), que permitem recuperar dados mesmo se parte do codigo estiver danificada:

  • L (Low): 7% dos dados podem ser recuperados
  • M (Medium): 15% — padrao recomendado
  • Q (Quartile): 25%
  • H (High): 30% — obrigatorio ao adicionar logo no centro

Leitura sem app

A partir do iOS 11 (2017) e Android 8.0 (2017), a camera nativa do celular consegue ler QR Codes diretamente, sem precisar de app dedicado. Basta apontar a camera para o QR.

Resolucao

No contexto de QR Codes, refere-se tanto a resolucao da imagem (pixels) quanto a resolucao de impressao (DPI). Afeta diretamente a legibilidade do codigo.

Resolucao no contexto de QR Codes e codigos de barras tem dois sentidos distintos mas relacionados: a resolucao da imagem digital (em pixels) e a resolucao de impressao (em DPI).

Resolucao de imagem (pixels)

A resolucao digital de um QR Code define quantos pixels ele tem. Um QR Code de 400×400 pixels e suficiente para uso em tela. Para impressao, a resolucao necessaria depende do tamanho fisico desejado e do DPI:

pixels_necessarios = tamanho_cm × (DPI ÷ 2.54)

Para um QR de 5cm × 5cm a 300 DPI: 5 × (300 ÷ 2.54) = 5 × 118 = 590 pixels

Resolucao minima por modulo

O modulo e o menor elemento de um QR Code (um quadradinho individual). Para impressao confiavel:

  • Minimo absoluto: 0.25mm por modulo
  • Recomendado: 0.5mm ou mais por modulo

Um QR Code Versao 1 tem 21 modulos de lado. Para 0.5mm por modulo: 21 × 0.5 = 10.5mm — tamanho minimo pratico.

Resolucao vs legibilidade

Quanto maior a versao do QR Code (mais dados armazenados), mais modulos ele tem e mais densa e a grade. Para manter a legibilidade:

  • Mais dados → mais modulos → grade mais densa → precisa de imagem maior ou impressao mais nitida
  • Use nivel de correcao L (7%) para maximizar a capacidade; H (30%) se houver logo ou impressao em superficie irregular

Recomendacao definitiva

Use SVG para impressao e PNG de pelo menos 400×400 pixels para uso digital. Para impressao profissional, gere o QR em tamanho fisico correto a 300 DPI usando a Calculadora de Tamanho Minimo.

SSID

Service Set Identifier — nome de identificacao de uma rede WiFi. Codificado em QR no formato WIFI:T:WPA;S:nome;P:senha;; para conexao automatica.

SSID (Service Set Identifier) e o nome de identificacao de uma rede wireless (WiFi). E o nome que aparece na lista de redes disponíveis quando voce procura WiFi no celular ou computador.

Formato WiFi QR Code

O formato padrao para codificar credenciais WiFi em QR Code e reconhecido nativamente por iOS (11+) e Android (10+):

WIFI:T:<tipo>;S:<ssid>;P:<senha>;H:<oculta>;;

Onde:

  • T: Tipo de seguranca — WPA, WEP, ou nopass (rede aberta)
  • S: SSID (nome da rede)
  • P: Senha (vazia para redes abertas)
  • H: true se rede oculta, false caso contrario

Caracteres especiais no SSID/senha

Caracteres que precisam ser “escapados” (precedidos por \) no formato WiFi QR:

  • \\\
  • ;\;
  • ,\,
  • "\"
  • :\:

Tipos de seguranca

  • WPA/WPA2/WPA3: Padrao atual, mais seguro. Usar tipo WPA.
  • WEP: Formato legado, vulneravel. Ainda suportado por compatibilidade.
  • Rede aberta: Sem senha. Usar tipo nopass.

Redes ocultas (Hidden SSID)

Redes com SSID oculto nao aparecem na lista de redes disponíveis. O QR Code WiFi com H:true instrui o dispositivo a se conectar mesmo sem o SSID estar visivel.

SVG

Scalable Vector Graphics — formato de imagem vetorial baseado em XML. QR codes em SVG podem ser redimensionados infinitamente sem perda de qualidade.

SVG (Scalable Vector Graphics) e um formato de imagem vetorial baseado em XML, padronizado pelo W3C. Diferente de formatos rasterizados como PNG ou JPEG, o SVG descreve formas geometricas matematicamente — por isso pode ser escalado para qualquer tamanho sem perda de qualidade.

Por que SVG e ideal para QR Codes e codigos de barras

Escalabilidade infinita: Um QR Code SVG gerado em 200×200 pode ser impresso em um outdoor de 3×3 metros com qualidade perfeita. O mesmo arquivo SVG funciona para tela e para impressao de alta qualidade.

Tamanho de arquivo menor: Para QR Codes (formas geometricas simples de quadradinhos), o SVG geralmente ocupa menos espaco que PNG, especialmente em resolucoes altas.

Editavel: Voce pode abrir o SVG em Illustrator, Inkscape ou similar e editar as cores, adicionar logo ou integrar em um layout de embalagem.

SVG vs PNG para impressao

CriterioSVGPNG
Qualidade em qualquer tamanhoPerfeitaPiora ao ampliar
Tamanho do arquivoPequenoCresce com resolucao
Compatibilidade com apps graficosAltaUniversal
Uso em webOtimoOtimo
Uso para impressao profissionalRecomendadoAceitavel se alta resolucao

Recomendacao pratica

Para qualquer uso em impressao — embalagens, etiquetas, banners, cardapios — sempre baixe o QR Code ou codigo de barras em formato SVG. Para uso apenas em telas ou em apps que nao suportam SVG, use PNG em alta resolucao (minimo 300 DPI equivalente).

UTM

Urchin Tracking Module — parametros adicionados a URLs para rastrear a origem do trafego no Google Analytics. Combinados com QR Code, medem ROI de materiais impressos.

UTM (Urchin Tracking Module) sao parametros de texto adicionados ao final de URLs para rastrear a origem do trafego em ferramentas de analytics. O nome vem do Urchin, software de analytics adquirido pelo Google em 2005 que deu origem ao Google Analytics.

Os 5 parametros UTM

ParametroObrigatorioDescricaoExemplo
utm_sourceSimDe onde vem o trafegogoogle, facebook, newsletter
utm_mediumSimTipo de midia ou canalcpc, email, social, qrcode
utm_campaignSimNome da campanhablack-friday, lancamento-2026
utm_termNaoPalavra-chave (busca paga)sapato-feminino
utm_contentNaoVariante do anunciobanner-topo, link-rodape

Exemplo de URL com UTM

https://exemplo.com.br/produto?utm_source=folder&utm_medium=qrcode&utm_campaign=lancamento&utm_content=loja-centro

UTM + QR Code: medindo ROI de impressos

A combinacao mais poderosa de UTM e para materiais impressos com QR Code. Voce cria URLs UTM exclusivas para cada material:

  • Folder: utm_source=folder&utm_content=folder-loja-centro
  • Banner: utm_source=banner&utm_content=banner-fachada
  • Cartao de visita: utm_source=cartao&utm_content=cartao-nome-evento

No Google Analytics, voce ve exatamente quantas visitas e conversoes vieram de cada material fisico.

Boas praticas

  • Use letras minusculas e hifens (evite espacos e underscores nos valores)
  • Seja consistente nos nomes de campanha entre diferentes canais
  • Nao use UTM em links internos do seu proprio site (polui os dados de analytics)
  • Configure o Google Search Console para ignorar parametros UTM nos relatorios de busca organica

vCard

Formato padrao (RFC 6350) para cartoes de visita eletronicos. Quando codificado em QR, permite adicionar contato automaticamente ao celular.

vCard e um formato de arquivo padrao para intercambio de informacoes de contato pessoal e comercial. A especificacao atual e a versao 3.0, definida pelo RFC 6350. Um arquivo vCard tem extensao .vcf e pode ser enviado por email, link ou codificado em QR Code.

Estrutura basica

BEGIN:VCARD
VERSION:3.0
N:Sobrenome;Nome;;;
FN:Nome Sobrenome
TEL;TYPE=CELL:+5511999998888
EMAIL:nome@exemplo.com.br
ORG:Nome da Empresa
TITLE:Cargo
URL:https://exemplo.com.br
ADR:;;Rua Exemplo, 100;Sao Paulo;SP;;Brasil
END:VCARD

Campos principais

CampoDescricaoExemplo
NNome estruturado (sobrenome;nome)N:Silva;Joao;;;
FNNome completo formatadoFN:Joao Silva
TELTelefone com tipoTEL;TYPE=CELL:+5511999998888
EMAILEmailEMAIL:joao@exemplo.com
ORGEmpresaORG:Empresa Ltda
TITLECargoTITLE:Diretor
URLWebsiteURL:https://exemplo.com
ADREnderecoADR:;;Rua...;;;;

Compatibilidade

iOS (Contatos), Android (Contatos Google), Outlook e todos os principais gerenciadores de contatos suportam vCard 3.0. Ao escanear um QR vCard, o sistema operacional oferece automaticamente adicionar o contato.