Última atualização: 18 de setembro de 2026
Gerador de QR Code
Gere QR Code a partir de qualquer texto ou link, sem enviar nada a servidores.
Níveis mais altos toleram mais dano/sujeira na imagem, mas exigem um QR Code mais denso para o mesmo texto.
Digite um texto ao lado para gerar o QR Code aqui.
Como usar o Gerador de QR Code
- 1Digite ou cole o conteúdo. Um link, texto, número de telefone ou qualquer outro dado que você queira codificar.
- 2Ajuste o nível de correção de erro, se quiser. Níveis mais altos toleram mais sujeira/dano na imagem, mas geram um QR Code mais denso.
- 3Baixe a imagem em PNG. O QR Code é gerado automaticamente enquanto você digita, pronto para baixar.
Como um QR Code guarda dado e se recupera de dano
Um QR Code (Quick Response Code) é uma grade de módulos pretos e brancos que codifica dado binário seguindo o padrão ISO/IEC 18004. Diferente de um código de barras tradicional, que só lê em uma direção, o QR Code é bidimensional: a informação está distribuída tanto na horizontal quanto na vertical, o que permite guardar muito mais dado no mesmo espaço físico. Três dos quatro cantos têm um quadrado maior — os "padrões de localização" — que servem para o leitor da câmera identificar a orientação do código antes mesmo de decodificar o conteúdo.
A parte mais interessante para quem testa é a correção de erro: um QR Code usa o mesmo princípio matemático dos códigos Reed-Solomon (usados também em CDs, DVDs e comunicação por satélite) para reconstruir dado perdido. Isso significa que uma logo colada no centro, um risco na impressão ou uma foto tirada com reflexo ainda podem ser lidos corretamente, dentro do percentual de dano tolerado pelo nível de correção escolhido — por isso a ferramenta deixa esse nível ajustável, em vez de fixo.
Exemplo de código: gerando o mesmo QR Code em JavaScript
// Biblioteca qrcode-generator (Kazuhiko Arase, MIT), hospedada localmente
// A lib não faz auto-detecção de versão: tentamos da menor até caber
function gerarQrCode(texto, nivelCorrecao) {
for (let typeNumber = 1; typeNumber <= 40; typeNumber++) {
try {
const qr = qrcode(typeNumber, nivelCorrecao); // 'L' | 'M' | 'Q' | 'H'
qr.addData(texto);
qr.make();
return qr; // primeira versão que coube no texto
} catch (e) {
// "code length overflow": tenta a próxima versão, maior
}
}
throw new Error('Texto longo demais mesmo na versão máxima (40)');
}
Depois de gerado, o QR Code desta ferramenta é desenhado em um <canvas>, com uma margem de 4 módulos de zona silenciosa ao redor — a borda branca mínima exigida pela especificação para o leitor conseguir focar corretamente no padrão. Remover ou reduzir demais essa margem é uma causa comum de QR Codes que não leem, mesmo com o conteúdo tecnicamente correto.
Onde QR Code aparece em teste de software
- Testar o fluxo de pagamento Pix, gerando um QR Code de exemplo (não um "copia e cola" real) para validar a interface de leitura do app.
- Gerar links de deep link para testar se o app abre a tela correta ao escanear (ex:
meuapp://produto/123). - Criar QR Codes de configuração de Wi-Fi ou vCard para validar a leitura por diferentes leitores de câmera (Android, iOS, apps dedicados).
- Confirmar visualmente se um texto muito longo realmente exige uma versão maior (mais densa) do QR Code, e como isso afeta a leitura em telas pequenas.
Vale lembrar que "QR Code" é marca registrada da DENSO WAVE INCORPORATED — o termo genérico correto para o padrão é "código de barras bidimensional matricial", mas "QR Code" é de uso livre para descrever códigos gerados nesse formato, só não pode ser usado como nome de produto de terceiros de forma a sugerir associação com a DENSO WAVE.
Perguntas Frequentes
O texto que eu digito é enviado para algum servidor?
Não. O QR Code é montado inteiramente no seu navegador, com uma biblioteca JavaScript hospedada no próprio site (sem chamada a nenhuma API externa). Nada do que você digita sai do seu dispositivo.
Qual o tamanho máximo de texto que cabe em um QR Code?
Depende do nível de correção de erro escolhido, mas o padrão QR Code (versão 40, a maior) suporta até cerca de 4.296 caracteres alfanuméricos ou 2.953 bytes no nível de correção mais baixo (L). Textos mais longos exigem um nível de correção menor para caber.
Qual nível de correção de erro devo escolher?
M (padrão, tolera ~15% de dano) é um bom equilíbrio para a maioria dos casos. Use H (~30%) se o QR Code for impresso em material que pode sujar ou receber uma logo no centro; use L (~7%) só se precisar economizar espaço com um texto grande.