Skip to content
UseQR
ESC

Jump to

MOVEOPEN50 places

Comparison

The best open-source QR code generators

For libraries, the standouts are qrcode on npm (MIT), Python's qrcode and segno (BSD), ZXing (Apache 2.0, encode and decode), and Nayuki's QR Code generator, the respected multi-language reference implementation (MIT). Finished open-source generator websites are rarer than the search suggests: most are a static page wrapping one of those libraries. Judge every option by licence and maintenance activity.

View as MarkdownPaste this page into any AI assistant. It is plain, portable Markdown.

"Open-source QR generator" means either a library you embed in your own code, or a product (a generator with a UI and API), whose source you can read, fork and self-host. The lists are different and conflating them produces bad recommendations, so here they are separately.

The libraries

Library Language Licence Notes
qrcode (npm) JavaScript MIT The default in the JS ecosystem; detailed comparison
qr-code-styling JavaScript MIT Styled codes: dots, eyes, logos; comparison
qrcode (PyPI) Python BSD The default in Python; comparison
segno Python BSD Rigorous ISO/IEC 18004 coverage incl. Micro QR, zero dependencies
ZXing Java (+ ports) Apache 2.0 Encodes and decodes; the decoder is the industry workhorse, now in maintenance mode
Nayuki QR Code generator Java, TS, Python, Rust, C++, C MIT The respected reference implementation: small, correct, readable

Two of these deserve a sentence more. Nayuki's QR Code generator is what you read when you want to understand how encoding actually works: one careful codebase ported across six languages, widely treated as a reference. ZXing matters because it decodes: any serious pipeline should read its codes back after generating them, and ZXing (or a port) is usually the reader. It is what UseQR's own verify loop uses. The wider field, including Go, Rust and PHP options, is surveyed in QR libraries compared.

The products

Most generator websites are closed: free to use, but you cannot read, audit or redeploy them. Be sceptical of the ones that claim otherwise: "open source" is a common badge on generator sites whose repository is either absent, a years-stale mirror, or a marketing page rather than the code actually running. Click through before you believe it.

The genuinely open ones are almost always library-plus-page builds: a static page wrapping qrcode or qr-code-styling, published by one person. These are perfectly good; judge them individually by the criteria below.

UseQR, this site, is not on that list. It is free forever with no account and no paid tier, and static codes are generated entirely in your browser, but the source is not published today. If auditability is the requirement rather than the price, use a library from the table above and read it yourself.

If your interest in open source is really about running it yourself, that is its own decision with its own trade-offs, covered in the self-hosted roundup and the self-hosting guide.

How to judge any option

  1. Licence. MIT/BSD/Apache mean unrestricted commercial embedding. Copyleft licences (GPL family) are fine for self-hosting but constrain embedding in proprietary code: check before you build on anything.
  2. Maintenance. Look at the commit log, not the star count. A QR library can be legitimately "done" (the spec is from 2000 and stable), but a decoder or a product accumulating unfixed issues is a different signal.
  3. Correctness evidence. Tests against the spec, and ideally decode-verification of output. Encoding bugs are silent; they produce codes that mostly scan.
  4. Payload scope. Libraries encode strings; the WiFi/UPI/EPC payload formats on top are where most real-world failures happen. Check whether the project handles them or leaves them to you.

Honest bottom line

Inside your own codebase: use a library: qrcode, segno, or Nayuki depending on language and taste, with ZXing reading the output back. That combination is the whole recipe, and it is the same one every good generator uses under the hood.

If what you actually want is not to read the code but to trust the output, there is a better test than a licence file: generate a code, then decode it independently and check that what comes back is what you put in. That works on any generator, open or closed, ours included.

FAQ

What is the best open-source QR code library?

qrcode (npm) for JavaScript, qrcode or segno for Python, ZXing where you also need decoding, and Nayuki's QR Code generator as the reference implementation across six languages. All are permissively licensed.

Is there a fully open-source QR code generator website?

There are small ones, usually a static page wrapping an open library, published by an individual. Most large generator sites are closed products with free tiers, and some advertise "open source" while linking to an empty or stale repository, so check the commit log before trusting the badge.

Are open-source QR generators free for commercial use?

The permissively licensed ones (MIT, BSD, Apache 2.0) are, with obligations limited to attribution notices. Check the licence file on anything GPL-family before embedding it in proprietary software.

Why does open source matter for QR codes?

Mainly auditability: you can check what happens to the data you encode rather than trusting a claim. Permanence matters less than people assume, because a static code never depended on the generator in the first place: the data is in the pattern, and a printed code keeps working whoever disappears.

Try it: free, no signup

  • The best self-hosted QR code generators, What self-hosting actually protects (payload privacy and permanence) the credible options from libraries to full products, and the honest ops cost.
  • UseQR vs the qrcode npm package, A product and a library are different tools. Inside a Node codebase the qrcode package is often the right call: here is the honest decision matrix.
  • UseQR vs the Python qrcode library, In a Python codebase, qrcode or segno is usually the right answer: we say so. Where an API earns its place: no-dependency scripts, typed payloads, verification.
  • UseQR vs the qr-code-styling library, qr-code-styling is the JS library behind many styled-QR generators. If you are building a generator UI, use it. If you need verified codes now, use a product.