QR code vs código de barras: como eles diferem e quando usar cada um

pela equipe KoloQRFundamentos

Um QR code e um código de barras listrado lado a lado em dois cartões brancos; o código de barras traz os dígitos 0 123456 789101 2.

Um código de barras linear armazena dados em uma direção e guarda cerca de 12 a 20 caracteres. Um QR code armazena dados em duas direções e guarda até 4.296 caracteres alfanuméricos no mesmo espaço. Um QR code também é tecnicamente um código de barras - só que bidimensional -, então a pergunta real é 1D versus 2D, e não “código de barras versus QR”.

Pontos principais

  • Um código de barras linear codifica dados ao longo de um eixo; um QR code codifica ao longo de dois, e é por isso que um QR code da mesma largura guarda centenas de vezes mais informação.
  • Um código de barras UPC-A guarda 12 dígitos. Um QR code guarda até 7.089 dígitos ou 4.296 caracteres alfanuméricos no maior tamanho de símbolo e no menor nível de correção de erros.
  • QR codes são gratuitos de gerar e não exigem registro; um código de barras UPC ou EAN exige um prefixo de empresa GS1 pago, porque o próprio número precisa ser único no mundo inteiro.
  • Um QR code continua legível com cerca de 30% da área danificada no nível de correção de erros H. Um código de barras linear não tem correção de erros, só um dígito verificador, então um arranhão nas barras costuma torná-lo ilegível.
  • As câmeras de celular detectam QR codes nativamente; ler um código de barras UPC normalmente exige um app de leitura dedicado ou um scanner de loja.

Qual é a diferença entre um QR code e um código de barras?

Um código de barras linear é um símbolo legível por máquina que codifica dados como barras e espaços paralelos de larguras variadas, lidos ao longo de um único eixo horizontal. Os formatos comuns são UPC-A e EAN-13 em embalagens de varejo, e Code 128 na logística.

Um QR code é um símbolo matricial bidimensional, definido pela ISO/IEC 18004, que codifica dados como quadrados claros e escuros chamados módulos, lidos nas duas direções ao mesmo tempo. QR é a sigla de Quick Response, resposta rápida.

Um módulo é uma célula quadrada de um QR code, e a menor unidade que um scanner precisa resolver. O tamanho do módulo, não o tamanho total, é o que decide se um QR code impresso escaneia.

Comparação lado a lado

CritérioCódigo de barras linear (UPC-A, EAN-13, Code 128)QR code
DimensõesUma - dados lidos ao longo da larguraDuas - dados lidos ao longo da largura e da altura
Capacidade típica12-13 dígitos (UPC-A, EAN-13); variável no Code 128Até 7.089 dígitos ou 4.296 caracteres alfanuméricos
Tipos de dadosDígitos, ou ASCII com o Code 128Dígitos, alfanuméricos, bytes brutos, Kanji
Correção de errosNenhuma - apenas um dígito verificadorQuatro níveis: L, M, Q, H, recuperando cerca de 7%, 15%, 25% e 30% do símbolo
OrientaçãoPrecisa estar alinhado com a linha de leitura, ou ser lido por um leitor de imagem omnidirecionalQualquer rotação - três padrões de localização encontram o símbolo
Hardware de leituraScanners a laser e leitores de imagemSó leitores de imagem, incluindo câmeras de celular
RegistroUPC e EAN exigem um prefixo de empresa GS1 pagoNenhum - qualquer um pode gerar
Editável depois de impressoNãoNão, se o código for estático; só códigos dinâmicos com um serviço de redirecionamento podem ser editados
Tamanho mínimo prático de impressãoUPC-A com 80% de ampliação, cerca de 30 × 21 mmCerca de 20 × 20 mm para leitura de perto
Zona de silêncio9 módulos de cada lado no UPC-A; 11 à esquerda e 7 à direita no EAN-134 módulos nos quatro lados
Melhor paraLeitura rápida e repetida de um identificador fixoCarregar uma URL, credenciais de Wi-Fi, dados de contato ou um registro de lote

Quantos dados um QR code guarda em comparação com um código de barras?

Um código de barras UPC-A guarda exatamente 12 dígitos e nada mais. Um QR code na maior versão de símbolo, com a correção de erros mais baixa, guarda até 7.089 caracteres numéricos, 4.296 caracteres alfanuméricos ou 2.953 bytes brutos. Na prática, a maioria dos QR codes em material impresso carrega uma URL de 30 a 80 caracteres.

A capacidade de um QR code cai conforme a correção de erros sobe, porque a redundância ocupa os mesmos módulos que guardariam dados. Um QR code com a mesma URL no nível H é visivelmente mais denso que o mesmo código no nível L, e cada módulo fica menor no mesmo tamanho de impressão.

O limite prático de um QR code não é a especificação, é a impressão. Uma URL longa força uma versão de símbolo mais alta, com mais módulos e menores, e módulos pequenos são o que falha em papel não revestido, cartão texturizado e impressão de baixa resolução. Encurtar a URL costuma ser mais eficaz do que aumentar o código.

Qual dos dois você deve usar?

Use esta regra de decisão:

  • Se o código identifica um produto à venda em lojas, use um código de barras linear - um UPC ou EAN carregando seu GTIN, obtido junto à GS1. Nenhum outro formato é aceito na maioria dos caixas hoje.
  • Se o código leva uma pessoa a uma página web, use um QR code. Cardápios, pôsteres, cartões de visita, encartes de embalagem, crachás de evento e compartilhamento de Wi-Fi entram todos aqui.
  • Se o código é lido por funcionários com um scanner a laser de mão em um depósito, use um código de barras linear - Code 128 ou GS1-128. Scanners a laser não leem QR codes de jeito nenhum.
  • Se o código precisa sobreviver a danos - abrasão, dobras, cobertura parcial -, use um QR code no nível de correção de erros Q ou H.
  • Se o código precisa caber em uma peça ou componente muito pequeno, use Data Matrix, não um QR code. O Data Matrix carrega o mesmo tipo de dado em um espaço menor e é a escolha padrão em eletrônicos e saúde.
  • Se você precisa hoje tanto de engajamento do consumidor quanto de leitura no caixa, imprima os dois. A GS1 recomenda essa marcação dupla durante o período de transição atual.

Um celular consegue escanear um código de barras além de um QR code?

As câmeras de celular detectam QR codes nativamente - apontar o app de câmera para um QR code já mostra o link, sem nenhum software extra. Ler um código de barras UPC ou EAN é menos confiável: em geral exige um app dedicado, de compras, de biblioteca ou de estoque, e o resultado varia conforme o aparelho e a versão do sistema operacional.

Essa assimetria é a diferença mais prática para quem imprime um código para o público. Um código de barras linear em um pôster pede que o leitor instale algo antes. Um QR code no mesmo pôster funciona com a câmera que o leitor já tem aberta.

O contrário vale na operação do varejo. Um scanner a laser fixo no caixa de um supermercado lê um código de barras linear em uma fração de segundo, em qualquer ângulo sobre a esteira, e não lê um QR code de jeito nenhum, a menos que seja um leitor de imagem por câmera.

Você precisa registrar um QR code como registra um UPC?

Não. Um QR code não exige registro, licença nem autoridade central, porque um QR code é só um recipiente - ele codifica o texto que você colocar dentro. Um código de barras UPC ou EAN exige um prefixo de empresa GS1, que é uma assinatura paga, porque o número codificado precisa ser único entre todos os produtos do comércio global.

Isso é uma diferença no que os dois símbolos significam, não só no custo. Um UPC faz sentido porque o banco de dados de um varejista reconhece o número. Um QR code faz sentido porque aponta para um destino que você controla.

Criar um QR code é grátis no KoloQR, um gerador de QR code grátis com QR codes circulares e de formatos personalizados, que exporta PNG e SVG sem conta. Obter um GTIN para um código de barras linear de varejo é um processo à parte, tratado pela organização membro da GS1 do seu país.

Exigências de tamanho de impressão e zona de silêncio de cada um

Um QR code precisa de cerca de 1 cm de largura para cada 10 cm de distância de leitura, com um mínimo prático de 20 × 20 mm para leitura de perto. Um código de barras UPC-A tem tamanho nominal de aproximadamente 37 × 26 mm incluindo as zonas de silêncio, e a GS1 permite ampliação entre 80% e 200% disso.

Uma zona de silêncio é a margem vazia ao redor de um código de barras que permite ao scanner detectar onde o símbolo começa e termina. Um QR code exige 4 módulos de espaço livre nos quatro lados. Um código de barras UPC-A exige 9 módulos de espaço livre à esquerda e à direita; o EAN-13 exige 11 módulos à esquerda e 7 à direita.

A altura das barras importa nos códigos de barras lineares e nem existe como conceito nos QR codes. Reduzir um UPC abaixo da altura nominal de 25,9 mm - algo comum para poupar espaço na embalagem - diminui os ângulos em que um scanner a laser consegue cruzar todas as barras, e é a causa mais comum de leituras que falham repetidamente no caixa.

Para impressão, exporte vetor em vez de raster sempre que o fluxo de trabalho permitir. Um SVG escala para qualquer tamanho sem suavizar as bordas dos módulos; um PNG ampliado em um programa de diagramação produz bordas borradas que custam confiabilidade de leitura em módulos pequenos. Isso vale igualmente para os dois tipos de símbolo.

O que acontece quando o código é danificado

Um QR code sobrevive a danos parciais; um código de barras linear, não. QR codes carregam correção de erros Reed-Solomon em quatro níveis - L, M, Q e H -, recuperando cerca de 7%, 15%, 25% e 30% do símbolo, respectivamente. Códigos de barras lineares carregam apenas um dígito verificador, que detecta um erro mas não consegue reconstruir o dado perdido.

É por isso que logos podem ficar sobre QR codes e não sobre códigos de barras. Um logo cobrindo o centro de um QR code no nível H remove módulos que a correção de erros consegue reconstruir. Qualquer coisa que cubra as barras de um UPC remove dados sem jeito de recuperá-los, e é por isso que códigos de barras de varejo são sempre impressos limpos.

O valor de 30% é um teto, não um orçamento para gastar inteiro. Mantenha o logo abaixo de cerca de 25% da área do QR code e nunca sobre um padrão de localização - os três quadrados grandes nos cantos -, porque é por eles que o scanner encontra o símbolo antes de mais nada, e eles não são protegidos pela correção de erros.

Os QR codes vão substituir os códigos de barras nas embalagens?

Não totalmente, e não de imediato. A GS1 definiu uma meta para o setor, conhecida como Sunrise 2027 nos Estados Unidos e migração 2D em outros lugares, para que os sistemas de ponto de venda do varejo consigam ler códigos de barras 2D com padrões GS1 até o fim de 2027. A expectativa é que os códigos de barras UPC e EAN continuem sendo aceitos depois dessa data.

O mecanismo é o GS1 Digital Link, uma sintaxe de URI que permite a um QR code carregar um GTIN e um endereço web ao mesmo tempo. Um único símbolo passa a servir tanto ao caixa quanto ao celular do consumidor. Até que scanners de ponto de venda suficientes sejam atualizados, a orientação da GS1 é imprimir na embalagem um código de barras linear e um código 2D.

Para um pequeno negócio hoje, a leitura prática é direta: um QR code que você mesmo gera não vai escanear no caixa de um supermercado. Ele é um portador de marketing e informação, não um identificador de produto, a menos que seja construído na sintaxe do GS1 Digital Link com um GTIN seu.

Outros códigos 2D que vale conhecer

O Data Matrix é um código matricial 2D que compacta o mesmo tipo de dado em uma área menor que a de um QR code, e é o padrão para marcar componentes pequenos, eletrônicos e embalagens farmacêuticas. Escolha-o quando o espaço é a restrição decisiva e o leitor é um scanner dedicado, não um celular.

O PDF417 é um código linear empilhado, usado em carteiras de motorista, cartões de embarque e etiquetas de transporte. Guarda mais que um código de barras linear, mas é lido com a mesma lógica de linha de leitura, e é mais largo do que alto.

O Aztec é um código 2D muito usado em bilhetagem de transporte, e não precisa de zona de silêncio - útil quando um bilhete é impresso de borda a borda ou mostrado na tela de um celular.

Para qualquer coisa voltada ao público geral, o QR continua sendo o padrão certo entre os códigos 2D, porque é o único que as câmeras de celular detectam sem app.

Erros comuns na hora de escolher entre os dois

  • Imprimir um QR code esperando que ele escaneie no caixa. Um QR code gerado por você não contém GTIN e não está registrado em nenhum varejista. Use um UPC ou EAN no ponto de venda.
  • Tirar a zona de silêncio. Colocar qualquer um dos símbolos colado a uma borda, a uma dobra ou a um bloco de cor é a causa mais frequente de um código que escaneia na tela e falha no impresso.
  • Inverter as cores. Módulos claros sobre fundo escuro quebram muitos scanners, que esperam dados escuros sobre fundo claro. Mantenha os elementos escuros escuros e o contraste alto.
  • Encurtar a altura das barras de um código de barras linear para caber na diagramação, o que reduz os ângulos de leitura disponíveis para um scanner a laser.
  • Ampliar um PNG pequeno para impressão. Exporte SVG para qualquer coisa que vá para a gráfica; um arquivo raster ampliado suaviza as bordas dos módulos e reduz a taxa de sucesso de leitura.
  • Aumentar a correção de erros do QR em vez de encurtar a URL. Uma correção de erros mais alta acrescenta módulos, deixando cada um menor no mesmo tamanho de impressão - o que pode piorar um código já no limite em vez de melhorá-lo.
  • Pular o teste físico. Imprima o código no tamanho final, no material final, e escaneie com um celular comum sob a iluminação em que ele vai realmente ser usado.

Questions? Answered

Sim. Um QR code é um código de barras bidimensional. A palavra “código de barras”, no uso cotidiano, costuma significar o tipo linear, unidimensional, das embalagens de varejo, mas os dois são símbolos legíveis por máquina definidos por normas ISO. A distinção precisa é 1D versus 2D.

Nenhum é melhor no geral - eles resolvem problemas diferentes. Use um código de barras linear quando um scanner precisa ler um número de produto fixo de forma rápida e repetida. Use um QR code quando uma pessoa precisa chegar a uma página web, a uma rede Wi-Fi ou a dados de contato pela câmera do celular.

Sim, pelo GS1 Digital Link, que codifica um GTIN dentro de um URI web para que um único QR code sirva ao scanner do caixa e ao celular do consumidor. Um QR code que você mesmo gera com uma URL comum não contém GTIN e não vai funcionar no ponto de venda.

Hoje, normalmente não. A maioria dos scanners de ponto de venda ainda lê só códigos de barras lineares, e os que leem códigos 2D esperam a sintaxe GS1. A meta declarada da GS1 é que os sistemas de ponto de venda aceitem códigos de barras 2D até o fim de 2027, com os códigos lineares ainda aceitos depois disso.

Não. Um código de barras linear não tem correção de erros, então cobrir qualquer parte das barras destrói dados que não podem ser reconstruídos. Logos funcionam em QR codes porque os níveis de correção de erros Q e H reconstroem os módulos cobertos - até um limite de cerca de 25% da área do código.

A causa habitual é o tamanho do módulo. Uma URL longa força mais módulos, e menores, no mesmo quadrado físico, e módulos pequenos borram em papéis absorventes ou texturizados. Encurte a URL, aumente o código ou imprima a partir de um SVG em vez de um PNG ampliado.

Os QR codes estáticos não expiram - o dado está dentro do símbolo e funciona para sempre. Os QR codes dinâmicos apontam para um redirecionamento de um provedor de serviço e param de funcionar se essa assinatura vencer. O KoloQR gera QR codes estáticos, então o destino não pode ser alterado depois da impressão.

Às vezes, mas nem sempre. Um QR code que carrega só uma URL curta cabe em cerca de 20 × 20 mm. Um conteúdo mais longo precisa de uma versão de símbolo mais alta, com módulos menores, o que eleva o tamanho mínimo imprimível. O Data Matrix é a escolha melhor onde o espaço é realmente apertado.

Para um scanner a laser fixo lendo um número milhares de vezes por dia, um código de barras linear é mais rápido e mais barato de manter. Leitores de imagem por câmera leem os dois, mas trocar uma frota inteira de scanners a laser custa mais do que o dado extra costuma justificar.

Por que a KoloQR?

  • Crie QR codes para sites, cardápios, Wi-Fi, PDFs e cartões de visita
  • Personalize cores, logos e formas únicas
  • Baixe arquivos PNG e SVG de alta qualidade
  • Feito tanto para impressão quanto para o digital
Gerar QR code
Um QR code preto simples ao lado do mesmo código redesenhado como um círculo com as cores da marca