Open source QR code generator

QRdx is built in public on GitHub. The web app that runs qrdx.dev, with its editor, dynamic codes, hosted pages and scan analytics, is licensed under the AGPL-3.0. The React library, the CLI and the plugins are MIT.

You can use it free on qrdx.dev, run your own copy, or build QR codes into your app with the library.

  • AGPL-3.0 app
  • MIT library and CLI
  • Self-host with Docker or Node.js
  • Static codes need no account

What's in the repository

Three licenses in one repository

LICENSING.md sets the license of each folder. Everything not listed under MIT or the commercial license is AGPL-3.0-or-later.

PartLicense
Web appThe editor, accounts, dynamic codes, hosted pages, scan analytics, the APIs, the MCP server and the docsapps/appAGPL-3.0-or-later
qrdx libraryReact components that render, export and score QR codes, on npm as qrdxpackages/qrdxMIT
@qrdx/cliStyled QR codes from a terminal or a CI jobpackages/cliMIT
PluginsThe Chrome extension, the Figma, Raycast and Canva plugins and the rest of the plugins folderplugins/*MIT
Business featuresWorkspace single sign-on and the workspace audit logapps/app/ee, packages/auth/eeQRdx Commercial License

You can read, test and contribute to the code in the ee folders, but using it in production needs a written agreement with QRdx. On a self-hosted instance those two features stay off unless QRDX_EE_LICENSE is set, and everything else works without them.

Ways to use it

Pick how you run it

Use qrdx.dev

Static QR codes are free and need no account: design them in the playground and download them. A free account adds 10 dynamic codes and 3 hosted pages, and paid plans add team and marketing features.

Run your own copy

Docker Compose starts the app with its own Postgres database, or you can run it with Node.js against a Neon database. It needs three environment variables and one way to sign in. AI, payments, file storage, custom domains and the integrations are optional.

Build it into your app

The qrdx library renders QR codes in React with the same engine as the playground, and @qrdx/cli makes them from a terminal or a CI job. Both are MIT, so closed-source projects can use them too.

Get started

Run the code

Set a secret and a sign-in method in .env, then start the stack. The first Docker build takes several minutes and needs at least 8 GB of memory.

Self-host with Docker Compose
git clone https://github.com/qrdxinc/qrdx.git && cd qrdx
cp .env.example .env   # set BETTER_AUTH_SECRET and a sign-in method
docker compose up -d --build
Library and CLI
# React components
npm install qrdx

# A QR code from a terminal or CI
npx @qrdx/cli generate "https://example.com" -o qr.svg
  • People sign in with a GitHub or Google OAuth app, or with email codes sent through Resend.
  • Neon works directly. Plain Postgres needs the Neon-compatible HTTP proxy that docker-compose.yml already runs.
  • Without payments set up, every account uses the Free limits. They're defined in one file, apps/app/lib/plans.ts, which you can change for your instance.
Read the full self-hosting guide

Licenses

What the licenses ask of you

The app (AGPL-3.0)

You can run it, change it and host it. If you run a modified version as a network service, you have to offer its source code to its users under the same license.

The library, CLI and plugins (MIT)

Use them in any project, closed source included, as long as the copyright and license notice stay with the code. Releases before qrdx 0.0.47 and @qrdx/cli 0.0.5 were AGPL-3.0-or-later.

The name and logo

The QRdx name and logo are trademarks. A fork or a public service built from the code needs its own name and logo; the trademark policy has the details.

This is a summary. The license files in the repository are what apply.

Contribute

Help build it

Bug reports, ideas and pull requests are welcome. The contributing guide covers local setup and the checks to run, and issues labeled good first issue are small and self-contained. Ask questions in GitHub Discussions, and report security problems privately as the security policy describes.

The stack

A Bun and Turborepo monorepo: a Next.js app with React, TypeScript, Tailwind CSS, Drizzle on Postgres, Better Auth and the Vercel AI SDK. The app, its tests and its builds run on Node.js 22.

More from QRdx

Open source questions

Is QRdx really open source?

Yes. The source is on GitHub, the web app is licensed under the AGPL-3.0-or-later, and the qrdx library, @qrdx/cli and the plugins are MIT. Two business features, workspace single sign-on and the audit log, are in ee folders under the QRdx Commercial License: you can read that code, but production use needs an agreement with QRdx.

Where is the QRdx source code on GitHub?

At github.com/qrdxinc/qrdx. It's one monorepo with the web app, the qrdx library, the CLI, the plugins and the docs.

Is QRdx free to self-host?

Yes. There's no license fee; you pay only for your own server and database. A self-hosted instance runs dynamic codes, hosted pages and scan analytics. Single sign-on and the audit log stay off unless you have a QRdx license key.

What do I need to self-host QRdx?

You need Docker with Compose v2, or Node.js 22 and Bun 1.4 for the manual setup, and a Postgres database: the one docker-compose.yml starts, or Neon. Set NEXT_PUBLIC_APP_URL, DATABASE_URL and BETTER_AUTH_SECRET, and give people a way to sign in with a GitHub or Google OAuth app, or with email codes through Resend.

Can I use the QR code library in a closed-source app?

Yes. The qrdx library and @qrdx/cli are MIT, so commercial and closed-source projects can use them as long as the license notice stays with the code. Releases before qrdx 0.0.47 and @qrdx/cli 0.0.5 were AGPL-3.0-or-later.

Do I have to publish my changes to the app?

Only when you run a modified version as a network service: then you have to offer its source code to its users under the same license. If you plan to build on the app, check that the AGPL fits your project first.

Can I call my fork QRdx?

No. A fork or a public service built from the code needs its own name and logo, and the license notices stay. Running QRdx for yourself or your organization under its own name is fine. The trademark policy has the details.

What happens to my qrdx.dev codes if QRdx shuts down?

The Never-Hostage Guarantee promises at least 12 months' notice, time to export everything, and a documented path to run the open-source app on your own server.

Make your next QR code in seconds.

Free forever. No signup, no watermark.

Start Creating QR Codes for Free