ComparativoNacho G.10 min de leitura

Melhores Geradores QR Open Source (2026)

Melhores bibliotecas open source para gerar QR codes: MIT vs AGPL, auto-hospedagem vs SaaS, e quando cada opção faz sentido real.

Melhores Geradores QR Open Source (2026)

Este artigo foi escrito pela equipe da QR Nova. Desenvolvemos software de codigos QR, o que pode influenciar nossa perspectiva.

A maioria dos artigos sobre "geradores QR open source" confunde duas coisas completamente diferentes: uma biblioteca de código que desenha uma imagem QR, e uma aplicação completa que você pode auto-hospedar. Essa confusão manda desenvolvedores pelo caminho errado e não-desenvolvedores para ferramentas que não conseguem executar. Isso é o que realmente importa.

Bibliotecas open source de QR (MIT/Apache) entregam a imagem — e nada mais. Sem URLs de redirecionamento, sem analytics, sem painel. Ferramentas com licença AGPL parecem gratuitas até você perceber que construir um SaaS sobre elas pode legalmente obrigá-lo a publicar todo o código-fonte da sua aplicação.

TL;DR

  • Bibliotecas open source geram imagens QR estáticas. QR codes dinâmicos (destino editável, rastreamento de escaneamentos) exigem infraestrutura de redirecionamento que nenhuma biblioteca gratuita fornece.
  • Licenças MIT e Apache 2.0 são seguras para uso comercial. AGPL não é — obriga a divulgar o código-fonte de qualquer serviço em rede construído sobre ela.
  • Auto-hospedar uma plataforma QR completa só vale a pena em escala (100 mil+ códigos/mês programaticamente) ou com requisitos rígidos de residência de dados.
  • A melhor biblioteca depende da sua stack: python-qrcode para Python, node-qrcode para Node.js, endroid/qr-code para PHP, ZXing para Java/Android, QRCoder para .NET.

Biblioteca vs plataforma: a distinção que muda tudo

Comece grátis — sem armadilha de assinatura

Comecar

Antes de comparar ferramentas, tenha clareza sobre o que você realmente precisa. Uma biblioteca open source é um pacote que você importa no seu código. Recebe uma string como entrada e devolve uma imagem QR — PNG, SVG ou binário. Isso é tudo. Não há encurtador de URL, não há servidor, não há redirecionamento. Se você imprimir esse código, ele aponta para qualquer URL que você codificou na criação, para sempre.

Uma plataforma open source é uma aplicação web auto-hospedada que gerencia geração de imagens, redirecionamentos de URL, banco de dados, autenticação de usuários e interface web. São muito mais complexas de instalar, manter e escalar.

A diferença importa porque 90% das pessoas que buscam "gerador QR open source" precisam de uma dessas duas coisas — e não são a mesma:

  • Um desenvolvedor que quer gerar QR codes programaticamente dentro de um app existente → biblioteca
  • Uma empresa que quer evitar uma assinatura mensal SaaS e tem equipe DevOps → plataforma
Diagrama comparando uma biblioteca QR (gera apenas a imagem) versus uma plataforma QR (biblioteca mais servidor de redirecionamento, banco de dados e painel)

As 6 melhores bibliotecas open source de geração QR

Estas bibliotecas são as melhores opções open source para gerar QR codes se você é desenvolvedor — testadas em produção, mantidas ativamente e seguras para uso comercial.

python-qrcode — Python (MIT)

A biblioteca QR Python mais baixada, com mais de 4.000 estrelas no GitHub. python-qrcode encapsula a lógica de geração QR em uma API Pythônica limpa. Três linhas de código geram um PNG. Suporta os quatro níveis de correção de erros (L, M, Q, H conforme ISO/IEC 18004), múltiplas fábricas de imagem (PIL/Pillow para PNG/JPEG, svgwrite para SVG) e personalização básica de cores. Suporte a logo requer composição manual com PIL.

  • Licença: MIT — uso livre em projetos comerciais
  • Formatos de saída: PNG, SVG, matriz bruta
  • Personalização: Cores, tamanho do módulo, borda (zona de silêncio), nível de correção de erros
  • Suporte a logo: Manual — sobrepor com PIL após a geração
  • Limitações: Apenas Python, sem camada de redirecionamento dinâmico, requer Pillow para saída PNG
  • Ideal para: Apps web Python (Django/Flask), pipelines de dados, scripts de automação, geração em lote

node-qrcode — Node.js / Navegador (MIT)

A biblioteca JavaScript dominante com mais de 1 milhão de downloads semanais no npm em maio de 2026. node-qrcode roda em Node.js para geração no servidor e no navegador via bundlers (Webpack, Vite, Browserify). É JavaScript puro — sem binários nativos, sem etapa de compilação.

  • Licença: MIT
  • Formatos de saída: PNG (canvas), SVG, terminal UTF-8, data URL
  • Personalização: Cor (RGBA claro/escuro), escala, largura, zona de silêncio, nível de correção, versão (1-40)
  • Limitações: Estilo básico — sem suporte a logo, sem módulos arredondados, sem gradientes. Para estilo avançado, combinar com qr-code-styling (também MIT)
  • Ideal para: APIs Node.js, apps React/Vue/Next.js, funções serverless, geração no navegador

ZXing — Java / Android (Apache 2.0)

ZXing ("Zebra Crossing") é a biblioteca de código de barras mais usada no mundo. Lida tanto com codificação (geração de imagens QR) quanto com decodificação (leitura de QR de frames de câmera), cobrindo mais de 15 formatos de código de barras: QR, Data Matrix, PDF417, EAN e UPC.

  • Licença: Apache 2.0 — seguro para uso comercial e proprietário
  • Formatos de saída: BufferedImage (Java AWT), matriz de bits bruta
  • Personalização: Tamanho, correção de erros, codificação de caracteres, margem
  • Limitações: Apenas Java/JVM, dependência pesada para projetos que só precisam de geração
  • Ideal para: Apps Android, serviços backend Java, aplicações que precisam de codificação e decodificação em uma única biblioteca

endroid/qr-code — PHP / Symfony (MIT)

A biblioteca PHP definitiva para QR, com integrações dedicadas para Symfony e Laravel. endroid/qr-code gera PNG, WebP, SVG, EPS e saída binária. Suporta incorporação de logo de forma nativa, texto de etiqueta abaixo do código, cores personalizadas e controle de margem.

  • Licença: MIT
  • Formatos de saída: PNG, WebP, SVG, EPS, binário
  • Personalização: Logo, texto de etiqueta, cores, tamanho, margem, correção de erros
  • Limitações: Apenas PHP, requer extensão GD ou Imagick para saída raster
  • Ideal para: Aplicações Laravel e Symfony, CMS PHP, plataformas e-commerce (Magento/WooCommerce via PHP)

QRCoder — .NET / C# (MIT)

A biblioteca QR padrão para o ecossistema .NET. Com mais de 5 milhões de downloads no NuGet, não tem dependências externas. Seus renderers cobrem PNG, SVG, XAML, PDF, arte ASCII e PayloadGenerators para WiFi, vCard e eventos de calendário.

  • Licença: MIT
  • Formatos de saída: PNG, SVG, XAML, PDF, ASCII, BMP, PostScript
  • Personalização: Cores, tamanho de pixel, zona de silêncio, correção de erros, sobreposição de ícone
  • Limitações: Apenas C#/.NET, colocação de logo requer manipulação adicional de imagem
  • Ideal para: APIs ASP.NET Core, apps de desktop WPF/WinForms, Azure Functions, Blazor

nayuki/QR-Code-generator — Multilinguagem (MIT)

Uma biblioteca tecnicamente excelente disponível em Java, TypeScript/JavaScript, Python, Rust, C++ e C. O foco é correção e minimalismo — prioriza conformidade exata com ISO/IEC 18004 com uma API limpa. Retorna uma matriz booleana bruta que você renderiza. Ideal para sistemas embarcados, serviços Rust ou qualquer contexto que exija controle total sobre o formato de saída.

  • Licença: MIT
  • Formatos de saída: Matriz de bits bruta (você gerencia o renderizador)
  • Limitações: Sem saída de imagem — escolha de design intencional
  • Ideal para: Serviços Rust, sistemas embarcados, conformidade exata com especificações, projetos multilinguagem
Tabela comparativa de bibliotecas open source de QR mostrando linguagem, tipo de licença, formatos de saída e nível de personalização

A armadilha AGPL: por que o tipo de licença importa mais do que você pensa

A maioria das bibliotecas QR open source usa licenças permissivas (MIT, Apache 2.0) — você pode usá-las em projetos comerciais, modificá-las e manter sua aplicação como código proprietário. Sem condições além da atribuição.

A AGPL (GNU Affero General Public License v3) é fundamentalmente diferente. O GPL padrão exige compartilhar o código quando você distribui software. A AGPL fecha o "loophole de SaaS": exige divulgação do código-fonte quando os usuários acessam o software pela rede, mesmo que você nunca distribua um binário.

Para um serviço de geração de QR codes, essa distinção é crítica. Se você construir um app web que gera QR codes usando uma biblioteca com licença AGPL, pode ser legalmente obrigado a publicar todo o código-fonte da sua aplicação sob AGPL. A política open source do Google proíbe explicitamente o uso interno de AGPL por esse motivo.

Regra prática: Para qualquer produto comercial ou SaaS, use apenas bibliotecas MIT ou Apache 2.0. Se uma ferramenta que você quer usar for AGPL, busque uma opção de licença comercial (muitos projetos AGPL oferecem licença dual) ou encontre uma alternativa MIT.

Exemplos concretos em três níveis de complexidade

Baixa complexidade: desenvolvedor individual, ferramenta interna

Você está construindo um painel de admin em Django e precisa imprimir QR codes para etiquetas de prateleiras de armazém. Códigos estáticos, sem rastreamento necessário. Duas linhas de python-qrcode geram um PNG e salvam no S3. Tempo total de configuração: 20 minutos. Sem infraestrutura, sem DevOps, sem assinatura. Vitória clara para bibliotecas open source.

Média complexidade: equipe de marketing, campanha regional

Você está rodando uma campanha impressa em 500 pontos de venda. Precisa rastrear escaneamentos por localização e atualizar a URL de destino sem reimprimir. Uma biblioteca QR estática não resolve — você precisa de redirecionamentos dinâmicos. Opções: (a) auto-hospedar Shlink com node-qrcode para geração de imagens (requer servidor, banco de dados, manutenção), ou (b) usar uma plataforma como QR Nova. Nessa escala, (b) geralmente custa menos em horas de engenharia do que manter (a).

Alta complexidade: empresa, 500 mil+ códigos/mês programaticamente

Você é uma empresa de logística que gera QR codes únicos para cada etiqueta de pacote em 50 centros de distribuição. Precisa de geração em menos de 100ms, 99,99% de disponibilidade e integração nos seus microsserviços Java existentes. Aqui, ZXing embarcado nos seus serviços Java com infraestrutura de redirecionamento própria faz sentido. O volume e os requisitos de latência justificam o investimento em engenharia.

Quando auto-hospedar uma plataforma QR NÃO é a resposta

Auto-hospedagem é superestimada. Estas são as situações em que vai custar mais do que economiza:

  • Você precisa de URLs de destino editáveis mas não tem equipe backend. Um serviço de redirecionamento dinâmico requer banco de dados, servidor web e alguém para mantê-los.
  • Você quer analytics (contagem de escaneamentos, dados de localização, tipo de dispositivo). Bibliotecas geram uma imagem. Rastreamento requer infraestrutura de servidor que registre cada escaneamento.
  • Você é uma pequena empresa ou profissional de marketing sem engenheiros internos. Ferramentas open source assumem que você consegue ler código e gerenciar dependências.
  • Você tem baixo volume (menos de 10.000 códigos/mês). O custo de infraestrutura da auto-hospedagem supera o custo de assinatura de qualquer plataforma comercial.
  • Você precisa de garantias de confiabilidade (SLA de uptime, suporte). Auto-hospedagem significa auto-suporte.

Como QR Nova se compara à auto-hospedagem

QR Nova não é open source, mas vale entender como se compara — especialmente para equipes avaliando se auto-hospedar ou usar um serviço gerenciado.

QR codes estáticos no QR Nova são gratuitos, nunca expiram, não exigem cadastro e não têm limites de escaneamento. Isso cobre a maioria dos casos de baixa complexidade que desenvolvedores resolvem com python-qrcode ou node-qrcode — a diferença é que QR Nova não requer código, dependências ou deploy.

Para QR codes dinâmicos (destino editável, analytics de escaneamento, domínios curtos personalizados), QR Nova oferece planos pagos com um diferencial: sem armadilha de autorenovação de assinatura. Diferente do QR Tiger (que em maio de 2026 limita QR codes dinâmicos gratuitos a 500 escaneamentos), QR Nova mostra custos planos sem limites ocultos. Veja a comparação completa na página de preços.

Para desenvolvedores que precisam de geração programática em escala, a resposta correta ainda é uma biblioteca como node-qrcode ou python-qrcode. Para todo o resto — equipes de marketing, pequenas empresas, qualquer pessoa que precise de códigos editáveis sem manter um servidor — o nível gratuito do QR Nova cobre a maioria dos casos de uso.

Se você está comparando plataformas, a página de comparação cobre QR Tiger, QR Code Monkey, Bitly e Flowcode versus QR Nova em permanência, preços e limites de recursos.

Perguntas frequentes

Qual é a melhor biblioteca open source para gerar QR codes?

Para Python, python-qrcode (MIT) é a mais popular. Para Node.js, node-qrcode (MIT) ultrapassa 1 milhão de downloads semanais no npm. Para PHP/Symfony, endroid/qr-code (MIT) é o padrão. Para Java e Android, ZXing (Apache 2.0) lida com geração e leitura. A 'melhor' depende da sua stack.

Usar uma biblioteca open source de QR em projetos comerciais é realmente gratuito?

Licenças MIT e Apache 2.0 permitem uso comercial sem restrições. Ferramentas com licença AGPL são outra história: se você construir um produto SaaS sobre código AGPL, pode ser legalmente obrigado a publicar todo o código-fonte da sua aplicação.

O que é a armadilha AGPL e por que ela importa para SaaS de QR?

O GPL tradicional exige compartilhar o código quando você distribui software. O AGPL fecha o 'loophole de SaaS': exige divulgação do código mesmo quando os usuários acessam o software pela rede. Para um serviço de geração de QR codes, isso pode obrigar você a publicar todo o produto.

Quando faz sentido auto-hospedar um gerador QR em vez de usar um SaaS?

Auto-hospedagem faz sentido quando há requisitos rígidos de residência de dados, geração programática de milhões de códigos, necessidade de integração em app existente, ou equipe DevOps dedicada. Não faz sentido para pequenas empresas, equipes de marketing, ou quem precisa de rastreamento, analytics ou URLs editáveis.

node-qrcode e python-qrcode criam QR codes dinâmicos?

Não. Bibliotecas de geração open source criam QR codes estáticos — a URL fica gravada na imagem. QR codes dinâmicos exigem infraestrutura de redirecionamento: um serviço de URL curta, banco de dados e servidor web. As bibliotecas geram a imagem, não a camada de redirecionamento.

Qual a diferença entre uma biblioteca e uma plataforma geradora de QR?

Uma biblioteca (python-qrcode, node-qrcode) é código que você executa: gera o arquivo de imagem e nada mais. Uma plataforma (QR Nova, QR Tiger) fornece a stack completa: geração de imagem, URL de redirecionamento hospedada, painel, analytics e possibilidade de mudar o destino sem reimprimir.

ZXing gera QR codes ou só os lê?

ZXing faz as duas coisas. É principalmente conhecido como biblioteca de leitura de código de barras (usada em centenas de milhões de dispositivos Android), mas inclui também um codificador QR. Para casos de uso de geração pura, bibliotecas mais leves como node-qrcode ou python-qrcode são mais simples de usar.

QR Nova é open source?

QR Nova não é open source, mas diferentemente da maioria das plataformas pagas, oferece QR codes estáticos genuinamente gratuitos: sem expiração, sem cadastro e sem limites de escaneamento. QR codes dinâmicos com edição de redirecionamento estão disponíveis em planos pagos com preços transparentes.

Comece grátis — sem armadilha de assinatura

Comecar