Image QR Code
Embed a URL into any image using binary halftoning. The QR code is scannable — looks like art.
Higher = better scan chance
Low = more image · High = scans better
No image uploaded
Upload an image to generate an illusion QR code
This QR code might not work. Download anyway?
An Image QR Code — also called an illusion QR code, visual QR code, or artistic QR code — is a standard QR code that has been fused with an actual picture. Instead of the usual checkerboard of black-and-white squares, the code is rendered as a subtle halftone overlay on top of a photograph or illustration. The result is a scannable QR tag that looks like a piece of art rather than a machine-readable barcode.
The Image QR Code Generator on this page uses a technique called binary halftoning. It takes your chosen image, converts it to a grid of tiny dots, and then adjusts those dots so that they simultaneously form the QR modules (the dark squares the scanner reads) while preserving the original picture. The QR code remains fully functional — any standard QR scanner app can decode the URL — but the visual result is far more engaging than a plain QR code.
Every QR code contains three types of structural elements that scanners rely on:
- Finder patterns — the three large squares in the corners that tell the scanner where the code is.
- Timing patterns — alternating lines that help the scanner determine the module grid.
- Alignment patterns — smaller squares that correct for perspective distortion.
When you upload an image and a URL, the tool first generates a standard QR code using the qrcode library. It then divides the QR grid into sub-pixels and applies a halftone threshold to the image. Each sub-pixel is either darkened (to form a QR module) or left light (to show the image), based on a strength setting that lets you trade off between image clarity and scan reliability. The tool also preserves the finder, timing, and alignment patterns by default so that scanners can always locate the code.
For colour modes, the tool maps the QR dark modules onto a tinted version of your image or a sampled colour palette, producing a full-colour illusion QR code. The B/W mode uses pure black-and-white halftoning and produces a downloadable SVG.
- Marketing materials — Brochures, posters, and flyers look more professional when the QR code blends with the design.
- Social media graphics — An image QR code can be embedded into a branded visual without an ugly white square.
- Business cards — Place a logo or photo inside the QR code to make the card memorable.
- Product packaging — Embed a URL into the product image itself for a clean, modern look.
- Digital art & NFTs — Create scannable art pieces that link to a website or token.
- Wedding invitations & events — Hide an RSVP link inside a decorative illustration.
Will the image QR code still scan with a normal phone camera?▶
Yes. The tool bakes the QR data into the image using binary halftoning, which most modern QR scanner apps (including the default iOS and Android camera apps) can decode. The built-in scan validator checks every generated code so you get instant feedback.
What is the "Strength" slider?▶
Strength controls how aggressively the QR code overrides the image. At low values, the image remains mostly intact but the QR code may be harder to scan. At high values, the QR modules are more pronounced, improving scan reliability at the cost of image fidelity. A value around 40-60 usually works well for most images.
What do the three colour modes do?▶
Color mode applies a single tint colour to the QR modules while keeping the original image visible. Sampled mode picks up actual colours from the image itself, creating a more natural blend. B/W mode produces a classic black-and-white halftone and lets you download the result as an SVG.
Can I change the error correction level?▶
Yes. Open the Advanced panel and choose L (7% recovery), M (15%), Q (25%), or H (30% — the default). Higher error correction makes the code more resilient to damage or obstruction but increases the QR version (size). For image QR codes, H is recommended because parts of the image may obscure some modules.
What image types are supported?▶
Any standard web image format: JPEG, PNG, GIF, WebP, and AVIF. You can upload by clicking the drop zone, dragging and dropping a file, or pasting an image from your clipboard.
What does "Preserve structure" mean?▶
When enabled (default), the finder patterns (the three large corner squares), timing patterns, and alignment patterns are rendered as solid QR blocks to ensure reliable scanning. Disabling this gives a more artistic look but may cause some scanners to fail.
Can I use a logo in the centre of the QR code?▶
Not directly, but you can upload an image that already has a centred logo or focal point. The tool will fuse the QR code around it. Combined with a high error correction level (H), the code should still scan even if the centre is partially obscured.
What is dithering?▶
Dithering applies Floyd-Steinberg error diffusion to the image before halftoning. This spreads quantization error across neighbouring pixels, producing a smoother visual gradient. It is marked as experimental because scan reliability can vary depending on the image.
Why does the download button sometimes show a warning?▶
Each generated code is automatically scanned in-browser using the jsQR library. If the scan fails, the download button warns you that the QR code might not work. You can still download it — the warning is advisory. Try increasing the Strength or switching to a higher error correction level to improve scan reliability.
Is there a URL length limit?▶
QR codes have a finite data capacity that depends on the version and error correction level. For a typical URL (30-200 characters) with H-level correction, the tool will select a version large enough to hold the data. Very long URLs (over ~400 characters) may require lower error correction or may not fit in a single QR code.
- Use high-contrast images with clear edges — photos with busy textures may produce noisy QR codes.
- Start with the default Strength of 50 and adjust up if the scan validator shows a failure.
- Keep the "Preserve structure" option enabled unless you are experimenting with artistic effects.
- If the image has a dominant colour, use Color mode and pick that colour for the most seamless blend.
- For printed materials, download the largest scale (16×) and test the code before printing in bulk.
- Dark images work better than very light images because the QR modules need to be darker than the background.