Gerador profissional de códigos QR

Gere códigos QR localmente no navegador, com suporte a estilos (formas/pontos de localização), gradientes, logotipos, molduras e compartilhamento. Os dados não são enviados para o servidor, é gratuito para sempre e sem marcas d'água.

Gratuito para sempre Sem marcas d'água Geração puramente local PNG / SVG

Gerador de códigos QR

Presets rápidos de estilo Aplique com um clique e ajuste posteriormente nas configurações de estilo.
Configurações de estilo
Borda
Configurações avançadas
Gradiente
Logo
Apenas suportado no modo PNG. As imagens são processadas localmente e não serão enviadas.
logo preview
Dica: Os estilos só se aplicam ao canvas PNG. A renderização personalizada do SVG estará disponível em breve.
Pré-visualização
A pré-visualização será atualizada automaticamente após a inserção ou modificação do conteúdo e do estilo.

As imagens baixadas não têm nenhuma marca d'água e a ferramenta pode ser usada gratuitamente para sempre.

Como usar

  • Escolha o tipo (URL, texto, WiFi, vCard, SMS, e-mail), insira ou cole o conteúdo
  • Ajuste o tamanho, a margem, as cores, o nível de correção de erros, bem como os estilos (formas/pontos de localização), gradientes, logotipos, molduras, etc.
  • Escolha o formato PNG ou SVG
  • O código QR será gerado automaticamente; quando estiver pronto, você pode 'Baixar' ou 'Copiar'
  • Ao usar logotipos ou estilos complexos, recomendamos aumentar o nível de correção de erros para H e reservar uma área de repouso (margem em branco) suficiente
  • Para impressão/exibição, garanta um alto contraste entre o primeiro plano e o fundo, evite tamanhos muito pequenos e distorções excessivas

Recursos

  • Geração puramente no front-end (sem envio para o servidor)
  • Suporte para saída em PNG e SVG
  • Estilos personalizáveis: formas, pontos de localização, cantos arredondados, espaçamentos
  • Gradientes (várias cores, várias direções)
  • Sobrepondo logotipos (opcionalmente, aumento automático do nível de correção de erros)
  • Molduras e contornos (estilo de cartão com cantos arredondados)
  • Compartilhamento e área de transferência (links/imagens)
  • Suporte a vários idiomas e temas

O que são os padrões de alinhamento (Finder)?

Três dos grandes quadrados nos cantos do código QR são chamados de padrões de alinhamento (Finder), que ajudam a câmera a encontrar rapidamente a posição e o ângulo do código QR, permitindo a correção de distorções e a decodificação. Eles geralmente têm uma estrutura de módulos 7×7 em tons de preto e branco (preto externo, branco interno e preto no centro).

  • Função: Localização rápida, resistência à rotação e à perspectiva.
  • Estilos: Esta ferramenta suporta a renderização de padrões de alinhamento quadrados, arredondados e no “estilo de pontos” (selecione em Estilo → Finder).

Quem inventou o código QR?

O código QR (Quick Response Code) foi inventado em 1994 pelo engenheiro Masahiro Hara da empresa japonesa Denso Wave. QR é a abreviação de “Quick Response” (resposta rápida).

  • Motivação da invenção: Melhorar a eficiência de identificação nas linhas de produção de peças automotivas, superando os limites de capacidade e velocidade de leitura dos códigos de barras unidimensionais.
  • Inspiração no design: As peças de go, brancas e pretas, e os padrões matriciais inspiraram o design altamente robusto de “modularização + gráficos de localização”.
  • Por que não pagar royalties?: A Denso Wave detém a marca e algumas patentes, mas abriu o uso gratuitamente para promover a disseminação da tecnologia (suporta uso comercial sem taxas de licenciamento).

Normas e recomendações de uso

  • Norma internacional: ISO/IEC 18004 (Especificação do símbolo 2D QR Code), que define versões, máscaras, correção de erros, estrutura gráfica, etc.
  • Nível de tolerância a erros: Quatro níveis (L/M/Q/H, aproximadamente 7%/15%/25%/30% recuperáveis). Recomenda - se o uso de níveis mais altos ao sobrepor um logotipo.
  • Conteúdo codificado: Texto, URL, vCard, Wi - Fi, etc. Recomenda - se seguir as respectivas normas de URI/formato de dados (por exemplo, WIFI:T:WPA;S:SSID;P:PASS;;).
  • Impressão e exibição: Garanta o contraste entre o primeiro plano e o plano de fundo e o tamanho da área de quietude; evite distorções excessivas, tamanhos muito pequenos e texturas muito densas que possam interferir.
  • Acessibilidade: Em ocasiões críticas, recomenda - se fornecer texto/links alternativos, evitando que o código QR seja a única entrada.

Gerando códigos QR com linguagens de programação

A seguir, são apresentados exemplos mínimos em linguagens comuns, adequados para aprendizado e criação de esqueletos:

JavaScript(Node/Browser)
// Node: npm i qrcode
const QRCode = require('qrcode');
QRCode.toFile('qrcode.png', 'https://example.com', { errorCorrectionLevel: 'M' });

// Browser (Canvas):
// <script src="https://cdn.jsdelivr.net/npm/[email protected]/lib/browser.min.js"></script>
QRCode.toCanvas(document.getElementById('canvas'), 'Hello QR', { width: 256 });
Python
# pip install qrcode[pil]
import qrcode
img = qrcode.make('https://example.com')
img.save('qrcode.png')
PHP
// composer require endroid/qr-code
use Endroid\QrCode\QrCode;
use Endroid\QrCode\Writer\PngWriter;

$qr = QrCode::create('https://example.com');
$writer = new PngWriter();
$result = $writer->write($qr);
$result->saveToFile(__DIR__.'/qrcode.png');
Go
// go get -u github.com/skip2/go-qrcode
package main

import "github.com/skip2/go-qrcode"

func main() {
    qrcode.WriteFile("https://example.com", qrcode.Medium, 256, "qrcode.png")
}
Java
// Maven: com.google.zxing:core, com.google.zxing:javase
// Minimal ZXing example
import com.google.zxing.BarcodeFormat;
import com.google.zxing.common.BitMatrix;
import com.google.zxing.qrcode.QRCodeWriter;
import com.google.zxing.client.j2se.MatrixToImageWriter;
import java.awt.image.BufferedImage;
import java.io.File;
import javax.imageio.ImageIO;

public class Main {
  public static void main(String[] args) throws Exception {
    QRCodeWriter writer = new QRCodeWriter();
    BitMatrix matrix = writer.encode("https://example.com", BarcodeFormat.QR_CODE, 256, 256);
    BufferedImage image = MatrixToImageWriter.toBufferedImage(matrix);
    ImageIO.write(image, "png", new File("qrcode.png"));
  }
}
Rust
// Cargo.toml
// qrcode = "0.13" 
// image = "0.24"

use qrcode::QrCode;
use image::Luma;

fn main() {
    let code = QrCode::new("https://example.com").unwrap();
    let image = code.render<Luma<u8>>().min_dimensions(256, 256).build();
    image.save("qrcode.png").unwrap();
}

Dica: As capacidades de estilo suportadas por diferentes bibliotecas variam muito. Se você precisar de estilos avançados (pontos, gradientes, estilos de padrões de alinhamento, molduras, etc.), pode gerar PNG/SVG nesta ferramenta e usá - los diretamente.