Skip to content

Repository files navigation

📱 QR Code Generator — Free, Private, Forever

Generate beautiful QR codes instantly in your browser. No ads, no tracking, no sign-ups. Just QR codes that work.

Tired of QR code websites that show advertisements, limit your usage, or sell your data? This is the antidote — a single HTML file you can use directly from deepakbharadwaj.github.io/qrcode or download and run offline. Free forever.

Status License PRs No Tracking Works Offline Size

QR Code Generator Screenshot


🚀 Use It Now — No Installation Needed

Just open the link and start generating QR codes. It's that simple. Bookmark it, share it, use it forever — no strings attached.


✨ Why This QR Code Generator?

Other QR Sites This Tool
🎯 Ads ❌ Full of ads ✅ Zero ads
🔒 Tracking ❌ Analytics & cookies ✅ No tracking whatsoever
💰 Paywalls ❌ "Upgrade to Pro!" ✅ Free forever
📤 Data Collection ❌ Saves your QR data ✅ Nothing leaves your browser
🌐 Offline Use ❌ Requires internet ✅ Works offline after first load
📦 Dependencies ❌ Heavy frameworks ✅ Single HTML file, <50KB

📸 Features

Feature Description
🔒 100% Client-Side All QR generation happens in your browser — nothing is ever sent to a server
📦 No Backend Single HTML file. Deploy on GitHub Pages, Netlify, or any static host
🕵️ Zero Tracking No analytics, no cookies, no data collection of any kind
📱 Fully Responsive Works seamlessly on desktop, tablet, and mobile
🎨 Customizable Choose colors, resolution (256–2048px), and error correction levels
📥 Multiple Formats Export as PNG, JPG, or SVG
🖼️ Background Images Overlay QR codes on your own images
🛡️ Error Correction L (7%), M (15%), Q (25%), H (30%) — make codes resilient to damage
Lightning Fast <100ms QR generation, <2s initial load
🔐 Secure Uploads File validation, SVG blocking, 5MB limit

🏃 Quick Start

# Clone the repo
git clone https://github.com/deepakbharadwaj/qrcode.git

# Open in your browser — that's it!
open qrcode/index.html

Or just visit deepakbharadwaj.github.io/qrcode — no download needed.


📖 Usage

Basic QR Generation

  1. Type or paste your text / URL in the input field
  2. Click Generate QR Code
  3. Preview appears instantly
  4. Click Download to save as PNG, JPG, or SVG

Customization Options

Option Choices
Foreground Color Any color (default: black)
Background Color Any color or transparent (default: white)
Resolution 256×256 / 512×512 / 1024×1024 / 2048×2048
Format PNG (lossless + transparency) / JPG (compressed) / SVG (vector, infinite scale)
Error Correction L (7%) / M (15%) / Q (25%) / H (30%)
Background Image Upload PNG, JPG, WebP, or GIF (max 5MB)

💡 Tip: Higher error correction (Q, H) lets QR codes scan even when partially damaged or obscured — great for logos or wear-and-tear.


🚢 Deployment

This is a single static HTML file — deploy it anywhere:

Platform Command / Steps
GitHub Pages (free) Push to main branch → Enable Pages in repo settings
Cloudflare Pages wrangler pages deploy .
Netlify netlify deploy --prod
Vercel vercel
Any Static Host Upload index.html to S3, DigitalOcean Spaces, etc.

🔒 Security & Privacy

Our Promise

  • No network requests — All QR generation is local
  • No storage — Nothing saved to disk or server
  • No tracking — No analytics, no cookies, no pixels
  • Works offline — Once loaded, works without internet
  • Exact encoding — No URL shortening, redirects, or modifications

File Upload Safety

Protection Detail
Size Limit 5MB max — prevents memory issues
SVG Blocked Prevents inline script injection
Format Whitelist PNG, JPG, WebP, GIF only
Local Processing Images stay in your browser's memory

🔐 Read our full Security Policy for more details.


🌐 Browser Support

Browser Support
Chrome / Chromium ✅ Latest
Firefox ✅ Latest
Safari ✅ Latest
Edge ✅ Latest
iOS Safari ✅ Latest
Chrome Mobile ✅ Latest

Requires HTML5 Canvas, FileReader API, and ES6 support.


🛠️ Tech Stack

Component Technology
QR Library qrcode-generator
Language Vanilla JavaScript (no frameworks!)
Styling CSS Grid, Flexbox, responsive units
Build None — single HTML file

📁 File Structure

qrcode/
├── index.html              # The entire app — single file
├── README.md               # You're reading it!
├── LICENSE                 # MIT License
├── CODE_OF_CONDUCT.md      # Community standards
├── CONTRIBUTING.md         # How to contribute
├── SECURITY.md             # Security policy
├── .gitignore
└── .github/
    └── ISSUE_TEMPLATE/
        ├── bug_report.md
        └── feature_request.md

⚙️ How It Works

graph LR
    A[Enter Text/URL] --> B[Validate Input]
    B --> C[QR Library Encodes]
    C --> D[Canvas/SVG Renders]
    D --> E[Preview Displayed]
    E --> F[Download as PNG/JPG/SVG]

    style A fill:#667eea,color:#fff
    style F fill:#764ba2,color:#fff
Loading

All processing stays in your browser. No data leaves your device.


🩺 Troubleshooting

"QR library failed to load"
  • Check your internet connection (first load requires CDN)
  • Refresh the page
  • Try a different browser
  • Check browser console for network errors
Generated QR code won't scan
  • Increase error correction level (try Q or H)
  • Use a simpler/shorter input
  • Ensure sufficient contrast (dark QR on light background)
  • Use a dedicated QR scanner app (some camera apps are unreliable)
Background image looks distorted
  • Use a square or near-square image
  • Try a different image
  • File must be under 5MB
  • Supported formats: PNG, JPG, WebP, GIF
Large resolution export is slow
  • 2048×2048 rendering takes a few seconds
  • Try 1024×1024 for faster export
  • Complex backgrounds slow down rendering

📊 Performance

Metric Value
Load time <2s (single HTML + CDN library)
QR generation <100ms for typical input
Memory usage <20MB
Max input length 2,953 characters

⚠️ Limitations

  • No QR history — Each QR is generated fresh (by design, for privacy)
  • No batch generation — One QR at a time
  • Canvas size — Browsers typically cap at 4096×4096px

🤝 Contributing

We welcome contributions! Here's how:

  1. 🍴 Fork the repo
  2. 🌿 Create a branch (git checkout -b feature/amazing-feature)
  3. 💻 Make your changes
  4. ✅ Test in multiple browsers
  5. 📝 Commit (git commit -m "feat: add amazing feature")
  6. 📤 Push and open a Pull Request

Read CONTRIBUTING.md for detailed guidelines.


📋 License

This project is licensed under the MIT License — see the LICENSE file for details.

This means you can:

  • ✅ Use it for personal projects
  • ✅ Use it for commercial projects
  • ✅ Modify and customize it
  • ✅ Distribute it freely

❓ FAQ

Is this really free forever? Yes. No paywalls, no "pro" version, no hidden costs. MIT licensed — use it however you want.
Can I use this offline? Yes! After the first load, the QR library is cached by your browser. Subsequent uses work without internet. You can also download the HTML file and open it locally.
Is my data saved anywhere? No. Nothing is stored on any server. Everything happens in your browser's memory and is cleared when you close the page.
Can I embed this on my website? Absolutely. Download `index.html` and host it on your own server or embed it in an iframe.
Why another QR code generator? Most QR code websites show ads, track you, or limit how many codes you can create. This tool does none of that — it's free, private, and works forever.

🔗 Quick Links

Link Description
🌐 Live App Use the generator right now
🐛 Report a Bug Found an issue?
💡 Request a Feature Have an idea?
📖 Contributing How to contribute
🔒 Security Security policy

Made with ❤️ for a free and private web.
No ads. No tracking. No BS. Just QR codes.

About

A free, privacy-first QR code generator that runs entirely in your browser. No ads, no tracking, no sign-ups — just QR codes that work. Single HTML file, MIT licensed, free forever.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages