QR Studio Ultra is a privacy-first QR and barcode studio built with Svelte, Tauri, and a native Rust rendering engine.
It is designed for people who want more than a basic black-and-white QR utility. The app focuses on polished visual output, practical payload generation, offline use, and native-quality exports without sending data to outside services.
Android build artifacts are kept outside the repo. The source here is the canonical project state.
If you want to run the project locally right away:
npm install
npm run tauri dev
If you only want the web UI during development:
npm run dev
Current packaged Android builds in this workspace:
| Build | Best for |
|---|---|
| external Android package export | device testing and release sharing |
Desktop development runs through Tauri with:
npm run tauri dev
QR Studio Ultra currently supports:
| Area | Included |
|---|---|
| QR styling | solid fills, multi-stop gradients, custom module shapes, styled eyes |
| Logos | upload, crop, center placement, size control, opacity control |
| Scanner | QR plus broader barcode format support, square targeting UI, animated scan line |
| Payloads | URL, Wi-Fi, vCard, email, SMS, phone, geo, event, social, crypto and more |
| Crypto | wallet profiles, richer payment URI generation, optional amount/label/message |
| Platforms | Tauri desktop workflow, Android builds, native save/share integration |
| Rendering | Rust-backed QR generation and logo compositing |
Most QR apps are either too plain, too intrusive, or too careless about quality.
QR Studio Ultra takes a different route:
The app uses a Rust backend for the heavy rendering work and a Svelte frontend for fast interaction and UI flexibility.
The QR image itself is rendered in Rust instead of relying entirely on a browser-only drawing path.
That gives the project tighter control over:
Recent rendering work also moved toward cleaner direct-module sampling, which noticeably improved edge quality and reduced visual artifacts.
Center logos are handled with a crop-first workflow in the frontend and then composited natively in Rust.
Current logo features include:
The scanner is not limited to QR codes.
The app can request a wider set of barcode formats through the Tauri barcode scanner plugin, and the scanner UI includes:
The crypto flow has moved beyond a single address field.
It now supports:
The app is meant to cover two use cases that usually get split across multiple tools:
That is why the project mixes:
The result is intentionally a little more ambitious than a standard generator.
fast_qrimageKey areas of the repo:
src/routes/+page.svelte
Main app UI, state, QR options, overlays, scanner UX, wallet flow
src-tauri/src/lib.rs
Native commands, QR rendering, image composition, mobile/desktop save logic
src-tauri/tauri.conf.json
Tauri app configuration
src-tauri/gen/android
Generated Android project files and Android-specific patches
You will want:
Install dependencies:
npm install
npm run dev
npm run tauri dev
npm run check
npm run build
Best for:
Command:
npm run tauri dev
Best for:
Example:
npx tauri android build --target aarch64
Example Android build command:
npx tauri android build --target aarch64
This repo has also been used to produce:
armeabi-v7a build for older devicesIf you are working on Android packaging, also inspect the generated Android files in src-tauri/gen/android, because this project includes local fixes and compatibility tweaks there.
This project has needed a few practical Android-side adjustments for real builds, including:
Those changes are part of why the repo includes generated Android project files instead of treating them as completely disposable.
QR Studio Ultra is trying to sit in a useful middle ground:
That means flashy ideas are welcome, but they need to earn their place by staying usable.
The strongest future work for this project usually falls into one of these buckets:
That combination is where the app feels most distinctive.
Contributions are welcome.
Start here:
CONTRIBUTING.mdIf you are proposing rendering changes, scanner changes, or new styling systems, please read that guide first so the work lines up with the project’s priorities.
This project is released under the MIT License.