QR Code Generator & Scanner
Make a QR code with your app icon in the middle, export PNG or SVG, and get an automatic test scan; or decode a QR code from an image, screenshot or camera. Runs locally in your browser, nothing uploaded.
The QR code and icon are generated in your browser and never uploaded.
What this tool does
A download QR code is standard kit when you promote an app: landing pages, posters, packaging and event banners all need one, and many teams want the app icon in the middle so people recognize it at a glance. The catch is that a large icon or the wrong colors can make the code unreadable, and you often find out only after printing. So we built the test into the workflow: after every change, this tool decodes the exact image it will export, at 512 px and again at 256 px, and shows a scannable check or a warning. The generator handles URLs, App Store and Google Play links (type a numeric ID or package name and the store link is built for you), Wi-Fi logins and any text, encoded as UTF-8. Set error correction, margin, foreground and background colors (low contrast or inverted colors trigger a warning), and module and finder styles. Upload an app icon and it gets rounded corners and a white backing, error correction moves up to H, and the icon is capped at 35% so enough modules stay visible. Export PNG at 512, 1024 or 2048 px, or vector SVG for print. The scanner reads a QR code from an uploaded, dropped or pasted image, or from your camera after you click to start it. Decoded links never open automatically: you see the destination domain first, which helps avoid phishing. Wi-Fi codes show the network name and password. Images and camera frames are processed in your browser and never uploaded.
How to use
- In Create QR code, pick the content type (URL, app store link, Wi-Fi or text) and fill it in; the code updates on the right.
- Optionally upload your app icon and adjust its size, the colors, module style and margin. Export once the test scan says it's scannable.
- Download PNG (512 / 1024 / 2048) or SVG. To read a code, switch to Scan QR code and upload, drop or paste an image, or use the camera.
FAQ
Will a QR code with a logo in the middle still scan?
QR codes have built-in error correction; level H tolerates about 30% damage. When you add an icon the tool switches to H, sizes the icon at 28% by default (35% max), hides the modules behind it and adds a white backing for clean edges. It test-scans after every change. If it says scannable, mainstream scanner apps will normally read it; if not, shrink the icon or switch back to square modules.
How does the test scan work, and how reliable is it?
The tool renders the image it will export at 512 px and 256 px, decodes both in your browser with the open-source jsQR library, and checks that the result matches your content exactly. You only see scannable if both pass. It catches common problems like an oversized icon or weak contrast, but it doesn't replace a real-world test, so scan a printed proof with a phone before a print run.
Should I export PNG or SVG, and at what size?
PNG at 1024 px is usually enough for web pages and social posts. For posters, banners and packaging, use SVG so it stays sharp at any size. In print, keep the code at least 2 cm (about 0.8 in) wide and leave a clear margin (quiet zone) around it, especially on dark backgrounds.
Can I change the colors? Why do I get a contrast warning?
Yes. Scanners read the difference between dark and light, so the foreground must be clearly darker than the background. The tool warns when contrast drops below 4:1, and when the foreground is lighter than the background (an inverted code), because many scanners can't read inverted QR codes.
Are my images or camera frames uploaded when scanning?
No. Images are read and decoded in your browser. The camera is requested only when you click Scan with camera; frames are decoded on your device, never recorded or uploaded, and the camera stops once a code is found or you leave the tab. Decoded links don't open automatically; you see the domain first.
Which open-source projects are used, and under what license?
Generation uses qr-code-styling (MIT), which includes Kazuhiko Arase's qrcode-generator (MIT). Decoding uses jsQR (Apache-2.0), with the browser's built-in BarcodeDetector as a fallback where available. All allow commercial use; full texts at /vendor/qr/LICENSES.txt.
Related guides & tools
More tools in thedeveloper toolbox. For store preview shots, try theApp Store screenshot maker.