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.
Just open the link and start generating QR codes. It's that simple. Bookmark it, share it, use it forever — no strings attached.
| 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 |
| 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 |
# Clone the repo
git clone https://github.com/deepakbharadwaj/qrcode.git
# Open in your browser — that's it!
open qrcode/index.htmlOr just visit deepakbharadwaj.github.io/qrcode — no download needed.
- Type or paste your text / URL in the input field
- Click Generate QR Code
- Preview appears instantly
- Click Download to save as PNG, JPG, or SVG
| 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.
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. |
- ✅ 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
| 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 |
|---|---|
| Chrome / Chromium | ✅ Latest |
| Firefox | ✅ Latest |
| Safari | ✅ Latest |
| Edge | ✅ Latest |
| iOS Safari | ✅ Latest |
| Chrome Mobile | ✅ Latest |
Requires HTML5 Canvas, FileReader API, and ES6 support.
| Component | Technology |
|---|---|
| QR Library | qrcode-generator |
| Language | Vanilla JavaScript (no frameworks!) |
| Styling | CSS Grid, Flexbox, responsive units |
| Build | None — single HTML file |
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
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
All processing stays in your browser. No data leaves your device.
"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
| Metric | Value |
|---|---|
| Load time | <2s (single HTML + CDN library) |
| QR generation | <100ms for typical input |
| Memory usage | <20MB |
| Max input length | 2,953 characters |
- 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
We welcome contributions! Here's how:
- 🍴 Fork the repo
- 🌿 Create a branch (
git checkout -b feature/amazing-feature) - 💻 Make your changes
- ✅ Test in multiple browsers
- 📝 Commit (
git commit -m "feat: add amazing feature") - 📤 Push and open a Pull Request
Read CONTRIBUTING.md for detailed guidelines.
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
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.| 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.
