Static URL QR Generator

Colors
Color contrast notice Light foreground on light background may reduce QR scannability. Use a dark foreground or ensure high contrast for reliable scanning.
Size & Margin

About This Tool

The Static URL QR Generator is a completely client-side, zero-backend web utility built for one purpose: to let you create high-quality, customizable QR codes instantly — without ever sending your data to any server.

Unlike every major online QR generator in 2025, this tool runs 100% in your browser. When you type a URL, upload a logo, or change a color, nothing is transmitted. The QR code is generated locally using the excellent open-source kjua library, then rendered directly on a canvas or as SVG. Your text, your images, and your final QR code never leave your device — not even for a millisecond.

This isn’t just a privacy feature — it’s the entire architecture. We deliberately chose SvelteKit with the @adapter-static adapter so the finished site is nothing more than static HTML, CSS, and JavaScript served instantly by GitHub Pages. The total size is under 500 KB (including the QR library), making it lightning-fast and capable of working offline after the first visit.

We built this because the alternatives all have the same problem: they log every URL you enter. Some sell the data, others keep it “just in case,” and a few have been caught scanning for cryptocurrency addresses. That’s unacceptable. Whether you’re generating a Wi-Fi password, an internal dashboard link, a payment address, or a simple website URL, your data should stay yours.

This tool implements every functional requirement from our original Software Requirements Specification (SRS) while exceeding the non-functional ones:

  • Real-time preview with ≤200 ms debounce (FR02, NFR01)
  • Full error correction control (L/M/Q/H) and logo overlay ≤20% (FR03, FR10)
  • PNG (1024×1024 default) and clean vector SVG export (FR06, FR07)
  • Copy-to-clipboard and offline-first design (FR08, NFR06)
  • WCAG 2.1 A contrast, keyboard navigation, and touch-friendly controls (NFR04, NFR03)

We’re proud to release this under the MIT license. Fork it, embed it, host it internally — it’s yours to use however you want. No accounts, no limits, no tracking, no nonsense.

Privacy by design · Speed by default · Open source forever


How to Use

Everything happens instantly and locally. Here’s the full workflow:

  1. Enter your content
    Paste any URL, Bitcoin address, Wi-Fi credentials, vCard, or plain text into the large input field. The QR code updates in real time as you type (debounced ≤200 ms).
  2. Choose error correction
    Select L, M, Q, or H. Use Q or H whenever you plan to add a logo or print in less-than-perfect conditions. Higher levels add redundancy so the code remains scannable even if damaged or partially covered.
  3. Pick colors
    Change foreground and background with the color pickers or hex inputs. The tool enforces a minimum 4.5:1 contrast ratio for accessibility and scannability.
  4. Set size & margin phosphorus
    Adjust module size (pixels per dot) and quiet zone (0–10 modules). Larger margins help scanners in the real world.
  5. Add a logo (optional)
    Upload a transparent PNG (recommended ≤20% of QR area). The logo is overlaid perfectly centered. Switch to error correction Q or H to keep it scannable.
  6. Preview instantly
    The canvas below updates live at ≥300×300 px. Zoom your browser to test different viewing distances.
  7. Export your QR code
    Download PNG – 1024×1024 px by default, perfect for print and digital use
    Download SVG – infinitely scalable vector, ideal for professional printing and design software
    Copy to Clipboard – pastes directly into PowerPoint, Canva, WhatsApp, etc.
    Clear – resets everything with one click

Works Offline & As a PWA

Visit once, then add to home screen (iOS/Android) or click “Install” (Chrome/Edge). After that, generate unlimited QR codes on planes, at festivals, or anywhere with no signal.

No internet required after first load · No data ever sent · No limits


Frequently Asked Questions

Is my data really private?

Yes — 100%. Nothing you type or upload ever leaves your browser. There is no backend, no analytics, no cookies, and no request logging. This is enforced by design using only static files and client-side JavaScript.

Why choose this over popular online generators?

Most online tools log every URL forever. This one doesn’t. You also get SVG export, real logo support, offline use, and no rate limits or CAPTCHAs.

Will a logo make my QR code unscannable?

Not if you follow the rules: keep the logo ≤20% of the area, use a transparent PNG, and switch to error correction Q or H. We automatically warn when contrast is too low.

When should I use PNG vs SVG?

• PNG: social media, documents, stickers (fixed size)
• SVG: professional printing, laser engraving, signage (scales perfectly)

Can I use this commercially?

Absolutely. The entire project is MIT-licensed. Use it for clients, events, products — no attribution required (though appreciated).

Does it work completely offline?

Yes. After the first visit, install it as a PWA or simply bookmark it. All assets are cached and the tool works forever without internet.

Why is the site so fast?

Total size ≤500 KB, built with SvelteKit + @adapter-static, served instantly from GitHub Pages CDN. No runtime framework overhead.

Can I host this myself or embed it?

Yes! Just clone the repo and deploy the /build or /docs folder anywhere. Many teams host it internally for secure link sharing.

Is there a limit to how many QR codes I can generate?

None. Generate thousands if you want — everything happens locally.

How do I support development?

Star us on GitHub, share the tool, or buy the developer a coffee via the link in the footer. Every bit helps keep it free and ad-free.

Still have questions? Open an issue on GitHub — we’re happy to help.