QR Code Generator & Scanner
Custom QR codes with your logo and colors — and a safe scanner. Free, private, in your browser.
Content
Design
Ready-made designs
Colors
Shapes
Frame & label
Logo
Error correction switches to H (30%) while a logo is set, so the code stays readable.
Size & quality
Advanced
Fix the version to keep several codes the same size, or try another mask if a scanner struggles. Auto is best for most uses.
Generated in your browser — nothing is uploaded. Static codes never expire.
Drop an image here, paste with Ctrl + V, or
Screenshots, photos and saved QR images all work. Nothing is uploaded.
About the QR Code Generator
The iHACKER QR Code Generator makes high-quality, static QR codes that never expire — the content lives inside the code, not on a server, so there are no scan limits, redirects or tracking. Style it with your brand colors, gradients, rounded dots and your logo, then download a print-ready SVG or a PNG/JPG up to 2048 px. The built-in scanner decodes QR codes from images, the clipboard or your camera and checks links for phishing signs before you open them.
Features
- 11 content types: URL, text, WiFi login, UPI payment, vCard contact, WhatsApp chat, email, SMS, phone call, map location and calendar event.
- 16 ready-made designs with live previews — one click to apply.
- Design: foreground, background, eye-frame and eye-ball colors, linear (any angle) or radial gradients, gradient or transparent background, 8 module styles (square, rounded, classy, dots, small, diamond, vertical and horizontal bars) and 5 eye styles each for frame and ball.
- Frames & labels: add "SCAN ME", "SCAN TO PAY" or your own call to action above, below or as a badge, with rounded corners.
- Advanced: choose the mask pattern, fix the QR version so several codes match in size, boost error correction for free, and save or load your design as a file.
- Logo: upload a PNG, JPG or SVG — the modules behind it are cleared and error correction is raised to H automatically.
- Scan test: every design is decoded automatically — sharp and at simulated phone-camera resolutions — with warnings for low contrast, inverted colors, a small quiet zone or a very dense code.
- Export: PNG (with transparency), JPG, WebP, vector SVG, copy to the clipboard or print.
- Safe scanner: flags HTTP links, IP addresses, punycode look-alikes, URL shorteners, hidden
@redirects and risky domains, warns about UPI payee details and 2FA secrets, and never opens a link by itself.
How to use
- Pick a content type and fill in the fields — the QR code updates live.
- Open Design to choose a preset or set colors, shapes and a logo.
- When the badge says Scan test passed, download PNG, SVG or JPG.
- To read a code, switch to Scan / Decode and drop an image, paste a screenshot or use your camera.
Frequently Asked Questions
Do the QR codes expire?
No. These are static QR codes: the content is stored inside the code itself, so they work forever and don't depend on any server — including ours.
Can I add a logo to my QR code?
Yes. Upload a PNG, JPG or SVG logo. Error correction is raised to level H automatically so the code still scans, and the scan-test badge confirms it. Keep the logo at 25% or less for the most reliable result.
How do I make a UPI payment QR code?
Choose UPI, enter your UPI ID (VPA) and payee name, and optionally a fixed amount and note. Any UPI app such as Google Pay, PhonePe, Paytm or BHIM can scan it. Customers never need to enter a UPI PIN to pay you — only to send money.
Is it safe to scan QR codes here?
Yes. Images and camera frames are decoded in your browser and never uploaded. Links are never opened automatically and are checked for common phishing signs first, and you can run a WHOIS lookup on the domain with one click.
Which format should I download?
Use SVG for print, flyers and large signs because it scales without blurring, PNG for websites and documents (it supports a transparent background), and JPG where only JPG is accepted. Print the code at least 2 cm (0.8 in) wide — larger for long links.
Why won't my styled QR code scan?
The usual causes are low contrast, a light code on a dark background, a logo that's too big or a missing quiet zone. Follow the warnings under the preview, or pick the Classic preset to compare.