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.
| Part | Folder | License |
|---|---|---|
| Web appThe editor, accounts, dynamic codes, hosted pages, scan analytics, the APIs, the MCP server and the docsapps/app | apps/app | AGPL-3.0-or-later |
| qrdx libraryReact components that render, export and score QR codes, on npm as qrdxpackages/qrdx | packages/qrdx | MIT |
| @qrdx/cliStyled QR codes from a terminal or a CI jobpackages/cli | packages/cli | MIT |
| PluginsThe Chrome extension, the Figma, Raycast and Canva plugins and the rest of the plugins folderplugins/* | plugins/* | MIT |
| Business featuresWorkspace single sign-on and the workspace audit logapps/app/ee, packages/auth/ee | apps/app/ee, packages/auth/ee | QRdx 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.
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# 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.
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.