Can a QR code hold an image? We measured it
This is the question behind the search, so here is a straight answer with the numbers behind it.
Technically you can encode an image, as a data URI. Practically you cannot, and the reason is not subtle. We encoded square JPEG thumbnails at the lowest error correction level, which gives the most room, and measured what came out:
| Thumbnail | Encoded length | Grid | Printed size needed |
|---|---|---|---|
| 8 by 8 pixels | 883 characters | 101 x 101 | 44 mm |
| 16 by 16 pixels | 887 characters | 101 x 101 | 44 mm |
| 32 by 32 pixels | 939 characters | 105 x 105 | 45 mm |
An 8 by 8 pixel image is smaller than a full stop on this page, and carrying it already needs a 101 by 101 grid printed at 44 mm. A real photo is not close. A small 800 pixel JPEG is about 90 KB, which comes to 122,000 characters, roughly 42 times more than the largest QR code that exists can hold.
So an image QR code is a link to an image. Every tool that offers one works this way, including the ones that ask you to upload. The only question is whose server the picture sits on, and whether that server will still be there when someone scans your poster next year.
Direct link or page link
This is where most image codes go wrong, and it is worth a moment.
A direct link ends in the file itself, something like yoursite.com/poster.jpg. Scanning it fills the phone screen with the picture and nothing else. That is almost always what you want.
A page link is the address of a web page that happens to show the image, which is what you get from most photo sharing sites if you copy from the address bar. Scanning that gives the visitor a page with navigation, adverts, related images and a comment box, with your picture somewhere in the middle.
On most sharing sites you get the direct link by right clicking the image and choosing copy image address. The test is simple: paste it into a fresh browser tab, and if you see the picture on its own, it is a direct link.
Where to host the image
- Your own site. Short address, you control it, and you can swap the picture later without reprinting anything.
- Google Drive. Free, but the default link opens the Drive viewer rather than the image, and only if sharing is set to Anyone with the link. Our Drive generator handles the rewriting.
- An image host. Fine for something temporary. Read their terms on how long files stay, since many delete anything that has not been viewed for a while, which is exactly what happens to an image behind a printed code.
What these are actually good for
- Artwork and exhibitions. A small card next to a piece, linking to a high resolution image people can actually zoom into.
- Before and after photos on a trade van or a shop window.
- A floor plan or site map on a notice board, where the printed version is too small to read.
- Product photos on packaging, showing the item assembled or in use.
In each of those the picture is doing something the printed version cannot: being bigger, being zoomable, or being in colour. If the printed version already does the job, the code is decoration.
Common questions
Can I upload my image here?
No. We do not host files, because a printed code that depends on our servers is a code we could break. Put the image somewhere you control and paste the address.
Does the image file size change the code?
No. The code carries the address, so only its length matters. A 12 MB photo and a 30 KB thumbnail give identical codes if their links are the same length.
Why does mine open a website instead of the picture?
You have a page link rather than a direct one. Right click the image, choose copy image address, and use that instead.
Can the code show the image without internet?
No. It is a link, so the phone has to fetch it. Nothing that holds a real picture inside the code exists, for the reasons measured above.
Related tools
For a PDF use the PDF generator, for video, audio or Office files the file and media generator, and for anything hosted on Drive the Drive generator. If you want a picture on the code rather than behind it, that is a logo, and our customiser does that with a measured size limit.