O código desta página não rodou.

Abrir o index.html direto de uma pasta bloqueia os módulos de JavaScript, então não vai acontecer nada quando você escolher o que vai dentro dele. Sirva a pasta por http:

powershell -ExecutionPolicy Bypass -File serve.ps1

Depois abra http://localhost:8080/.

QR Code e barras — gerar um QR Code ou um código de barras, offline

Digite, e vira um código. Nada é enviado para fazer um.

Idioma: Português
Ver o código-fonte
Seus códigos e o texto dentro deles são processados no navegador. Sem envio para processamento.

Um QR Code é aritmética sobre uma cadeia de texto. Não há arquivo para mandar e não há serviço a quem pedir. Cada etapa acontece em cerca de mil linhas de JavaScript nesta página, que você pode ler: escolher o modo, escolher a versão, a correção de erros Reed-Solomon, a máscara, as barras de um código de barras e o dígito verificador embaixo. Esta ferramenta não tem função de rede de espécie alguma, o que importa mais aqui do que na maioria das páginas, porque o que está sendo codificado é muitas vezes uma senha de Wi-Fi.

Verificação ao vivo: verificando…

Offline: verificando…

Você não precisa confiar na nossa palavra. Abra as ferramentas do desenvolvedor, deixe a aba “Rede” à vista e digite uma senha no formulário de Wi-Fi. Nenhuma requisição leva um caractere dela. Ou então desligue a internet e gere o código assim mesmo.

1 Escolha o tipo de código

Um QR Code guarda qualquer coisa e é o que a câmera de um celular procura. Um código de barras guarda um número, e qual deles você precisa costuma já estar decidido por quem está pedindo: a loja, o depósito ou a transportadora.

2 Diga o que vai dentro

A cadeia de texto exata que este código vai guardar
 

3 Escolha a aparência

A margem faz parte do código, e não é espaço em volta dele. Quatro módulos é o que a especificação pede, e um código aparado até a borda é um que muitos leitores não vão enxergar.

Imprimir os caracteres embaixo O que uma pessoa lê quando o leitor não lê. Num código de varejo os dígitos ficam também nas margens, e isso é de propósito: eles marcam o espaço em branco que ninguém deveria aparar.

Acrescentar um caractere de verificação O Code 39 normalmente não carrega um. Alguns sistemas insistem nele; só acrescente se o seu insistir, porque um leitor que não estiver esperando um vai lê-lo como um caractere a mais no fim.

Sem fundo nenhum Transparente, para pôr sobre algo que já tem cor. O SVG e o PNG mantêm isso; seja lá o que acabar atrás dele tem que ser claro, ou um leitor não vai achar contraste.

O QR Code
Cor e tamanho

4 Leve

O SVG é o que vale guardar. Ele é o código como instruções em vez de pixels, então imprime em qualquer tamanho sem amolecer. Isso importa mais aqui do que na maioria das imagens, porque uma borda borrada é exatamente o que um leitor não consegue resolver.

Ver como Markdown

Como gerar um QR Code sem enviar nada

  1. Escolha o tipo de código. Um QR Code guarda qualquer coisa e é o que a câmera de um celular procura, então é a resposta a menos que alguém tenha mandado outra coisa. Um código de barras guarda um número, e qual deles você precisa é decidido por quem vai escanear: uma loja quer um EAN-13 ou um UPC-A, uma caixa de transporte quer um ITF-14, e qualquer coisa interna costuma ser Code 128.
  2. Diga o que vai dentro. Um link é o caso comum, e as caixas acima dele montam os outros formatos que os celulares conhecem: uma rede Wi-Fi que se oferece para conectar, um cartão de contato que se oferece para ser salvo, um e-mail, uma mensagem de texto, um telefone, um lugar no mapa. Seja qual for a sua escolha, a cadeia de texto final aparece na página, porque é só isso que um QR Code guarda.
  3. Escolha quanto dano ele pode aguentar. Os quatro níveis põem mais ou menos correção de erros, e mais correção significa um código maior e mais denso. O L basta para uma tela, o M para papel comum, e o H para algo que vai ser manuseado, impresso pequeno ou colado numa vitrine ao sol. Um código num cardápio que é limpado todo dia merece Q ou H.
  4. Defina o tamanho, a margem e as cores. A margem faz parte do código: quatro módulos de espaço em silêncio em volta é o que a especificação pede, e aparar isso é o motivo isolado mais comum de um código impresso não escanear. Escuro sobre claro, com contraste de verdade, porque um leitor lê a diferença entre os dois. Cinza pálido sobre branco não serve, e claro sobre escuro falha de cara num bom número de leitores.
  5. Confira com o celular que você tem. Antes de imprimir mil deles, escaneie o que está na sua tela. Isso leva dez segundos e pega a categoria inteira de erros que uma pré-visualização não pega: uma senha de Wi-Fi com um caractere que precisava ser escapado, um link sem o https://, um número de código de barras com um dígito a menos.
  6. Leve o SVG. Ele é o código como instruções em vez de pixels, então imprime em qualquer tamanho sem amolecer, e uma borda mole é exatamente o que um leitor não consegue resolver. Leve o PNG também se aquilo em que você vai colar não aceitar um SVG. Ele é desenhado num número inteiro de pixels por módulo, então também não tem bordas borradas.

A versão longa

Como gerar um QR Code que ainda escaneia no celular dos outros Qual nível de correção de erros escolher, por que a margem branca em volta do QR Code faz parte do código, de que tamanho imprimir, e quanto o código “dinâmico” de um gerador gratuito custa a você depois.

Perguntas

Alguma coisa que eu digito é mandada para algum lugar?

Não. Um QR Code é aritmética sobre uma cadeia de texto, e essa aritmética roda no seu próprio navegador, no seu próprio computador. Esta ferramenta não tem função de rede de espécie alguma: nunca busca nada e nunca manda nada. E a Content-Security-Policy da página lista todos os endereços que ela pode acessar, nenhum dos quais é deste site. Isso vale mais aqui do que na maioria das páginas, porque a coisa que as pessoas mais põem num QR Code é a senha do Wi-Fi delas.

Estes códigos expiram, ou param de funcionar depois?

Não, e não teriam como. O que você digita é o que o código guarda, então escaneá-lo devolve exatamente aquela cadeia de texto para sempre. Os códigos que expiram são os que têm o endereço de outra gente lá dentro: um QR Code “dinâmico” guarda um link para o servidor do gerador, que redireciona para o seu, o que significa que eles podem contar cada escaneamento, mudar para onde ele leva, ou desligá-lo quando um teste acabar. Nada aqui redireciona por lugar nenhum.

É grátis, e posso usar comercialmente?

É grátis, não tem conta, não tem marca d'água, não tem limite de quantos você gera, e você pode pôr o resultado num produto, num cartaz ou numa fachada. QR Code é marca registrada da Denso Wave, que declarou que não vai exercê-la contra quem usa os códigos. A especificação é publicada como ISO/IEC 18004 e é livre para implementar, que é o que esta página faz. O site exibe publicidade, e é ela que paga a conta.

Qual nível de correção de erros eu devo escolher?

M, a menos que você tenha um motivo. O L gera o código menor e serve numa tela, o M sobrevive ao manuseio comum, e o Q e o H são para um código que vai ser impresso pequeno, plastificado, colado numa vitrine ou parcialmente coberto por uma logomarca. Cada degrau a mais põe mais dados de verificação, o que exige um símbolo maior para a mesma quantidade de texto: ir de L para H mais ou menos dobra o número de módulos para a mesma cadeia.

Quanto cabe num QR Code?

No tamanho maior, com 177 módulos de lado, cabem até 7.089 dígitos, 4.296 letras maiúsculas e dígitos, ou 2.953 bytes de qualquer outra coisa. E isso na correção de erros mais fraca, porque na mais forte é cerca de um terço disso. Na prática, o limite não é o formato e sim o leitor: passando de algumas centenas de caracteres, os módulos ficam tão pequenos que a câmera de um celular comum não consegue resolvê-los a um braço de distância. Um código longo costuma ser sinal de que ali cabia um link curto.

Por que o meu código fica maior quando escrevo o link em minúsculas?

Porque um QR Code tem um modo para maiúsculas e dígitos que empacota dois caracteres em onze bits, e não tem modo equivalente para minúsculas, que custam oito bits cada. Uma URL escrita HTTPS://EXAMPLE.COM/PAGE pode ficar um terço menor que a mesma URL em minúsculas. O esquema e o host não diferenciam maiúsculas, então gritá-los não muda nada além do tamanho. Já o caminho depois do host diferencia, então deixe esse em paz.

Ele também lê um QR Code, além de gerar?

Esta página não, mas a do lado sim: o leitor pega uma foto, um print ou a sua câmera e devolve o texto. É um trabalho bem maior do que desenhar um — achar o símbolo dentro de uma imagem, corrigir o ângulo em que ela foi tirada e reparar o dano são três problemas que esta página não tem —, e por isso virou ferramenta própria e não um botão aqui. Funciona nos mesmos termos que todo o resto: nada sobe, e nenhum quadro da câmera fica guardado.

Para que serve a margem, e posso deixá-la menor?

O espaço branco em volta de um QR Code faz parte do código. Um leitor usa esse espaço para achar onde o símbolo termina, e a especificação pede quatro módulos de cada lado; um código de barras quer uns dez. Dá para zerar isso aqui, e a imagem vai ficar mais arrumada, mas aí um bom número de leitores vai deixar de enxergá-la, especialmente sobre um fundo carregado. Se o problema é espaço, deixe o código menor em vez de aparar a margem dele.

De qual código de barras eu preciso?

Do que a pessoa que vai escanear pedir. EAN-13 é o código de barras do varejo fora da América do Norte e UPC-A é o norte-americano, e os dois precisam de um número emitido para você pela GS1, porque o número identifica a sua empresa e não só o produto. EAN-8 é a versão curta para embalagens pequenas. ITF-14 vai na caixa de transporte. Code 128 e Code 39 guardam texto além de dígitos e não precisam de registro nenhum, o que faz deles a resposta certa para qualquer coisa interna: patrimônio, prateleiras, ordens de serviço.

O que é um dígito verificador, e por que a ferramenta acrescentou um?

É o último dígito de um código de barras de varejo, calculado a partir dos anteriores, para que um leitor consiga distinguir uma leitura errada de uma certa. O EAN-13 quer doze dígitos e calcula o décimo terceiro, e o UPC-A quer onze e calcula o décimo segundo. Digite o número curto e esta página acrescenta o dígito. Digite o número completo e ela confere o que você deu, e recusa em vez de corrigir em silêncio, porque um dígito errado consertado caladinho é uma etiqueta que escaneia como produto de outra pessoa.

Posso pôr uma logomarca no meio de um QR Code?

Um logo pequeno pode funcionar, mas nenhum percentual da área é garantido. A DENSO define a recuperação de cerca de 30% no nível H pelo total de palavras de código, não por quadrados arbitrários. Preserve os padrões de localização e alinhamento, use H e teste a impressão final em vários celulares. A DENSO explica a correção de erros.

Por que o SVG é melhor que o PNG?

Porque um código é feito de bordas, e um PNG tem um número fixo de pixels com que formá-las. Amplie um e toda borda amolece, e uma borda mole é precisamente o que dá trabalho a um leitor. Uma impressora a 1200 dpi recebendo um PNG de 512 pixels está sendo convidada a inventar a diferença. Um SVG são os quadradinhos como instruções, então imprime nítido num cartão de visita ou num outdoor. O PNG daqui é desenhado num número inteiro de pixels por módulo, que é o melhor que um PNG consegue fazer.

Funciona offline?

Funciona. Carregue a página uma vez, depois desligue a internet e ela continua funcionando. Esse é também o jeito mais simples de provar que nada está sendo enviado: uma ferramenta que mandasse o seu texto embora para ter um código desenhado pararia no instante em que você tirasse da tomada.