Image QR Code Generator

Turn a logo, illustration or photo into the QR code itself. Your picture fills the entire code and each dot picks up the color of the pixels beneath it, so the result looks like artwork instead of a black-and-white square — and every code is decoded again before you download it, so you know it scans.

Use the free generator below to create your code instantly.

Bold shapes and flat colors work best. Busy photos still scan, but lose detail.

0%

Leave at 0% to keep your image at full strength. Fading helps a busy photo read more calmly behind the dots.

33%

Smaller dots reveal more of your image; larger dots scan from further away.

Used where your image has no color of its own, and to tint the corner markers.

How to make an image QR code

  1. Enter the URL or text you want the code to open.
  2. Upload your image — bold shapes and flat colors read best.
  3. Adjust Dot Size: smaller dots reveal more of your image, larger ones scan from further away.
  4. Only add Image Fade if a busy photo needs to sit more quietly behind the dots.
  5. Wait for the green "Verified" note, then download a 1024px PNG.

How it works

A QR reader does not measure how dark a module is on average — it samples a single point at the centre of each one. That leaves most of every module free, and this generator spends it on your picture. The artwork is drawn at full resolution and then one small dot is placed at each module centre, dark or light as the code requires, so roughly nine tenths of the code area stays your image rather than being flattened to the module grid.

This follows the halftone QR technique published by Chu, Chang, Chen and Lee (ACM Transactions on Graphics, 2013), which splits each module into a three by three grid and binds only the centre cell to the encoded bit.

The three corner markers, their separators, the alignment patterns and the timing rows are drawn as solid modules and never broken into dots. A reader builds its perspective grid from those; break them up and every other module gets sampled from the wrong pixel.

Each dot takes its color from the pixels beneath it, darkened or lightened only as far as contrast demands, so the code keeps your palette instead of turning grey.

Why every code is verified

An artistic QR code spends part of its built-in error correction on looking good, so it is much easier to push one past the point where phones can read it. After every change this tool decodes its own output at roughly the resolution a phone camera sees, and tells you the result.

If a code fails the check, raise Dot Size, add some Image Fade, or pick artwork with more contrast. Always test the printed version with a couple of real phones before a large print run.

Which images work best

  • Logos, icons and flat illustrations with large areas of solid color.
  • Images with strong contrast between the subject and the background.
  • Square or nearly square pictures — anything else is cropped to fit the code.
  • Avoid fine text inside the image: the module grid will break it up.

Private by design

Your image is read, measured and drawn entirely inside your browser. It is never uploaded, never stored, and no server ever sees it — the page works the same with your connection cut after it loads.

Frequently Asked Questions

Will an image QR code still scan?

Yes, and this tool proves it rather than assuming it: after every change it decodes the code it just drew and shows you whether it worked. Codes use the highest error correction level, and colors are automatically pushed to safe contrast.

What resolution do I get?

Downloads are 1024x1024 PNG files, large enough for business cards, packaging and posters.

Is my image uploaded anywhere?

No. Everything runs in your browser using the canvas API. Your picture never leaves your device.

My photo is busy and the code failed the check — what now?

Raise Dot Size, add 20–40% Image Fade, or choose artwork with larger flat areas. Dark, detailed photographs are the hardest case; flat logos and illustrations are the easiest.

Can I use my own brand color instead of the image colors?

Yes. Turn off "Match image" and pick any color, or click one of the swatches taken from your image to use just that one.

Related QR Code Tools