Take the 2-minute tour ×
Graphic Design Stack Exchange is a question and answer site for Graphic Design professionals, students, and enthusiasts. It's 100% free, no registration required.

I'm in the process of producing QR-codes for use on product packaging. The codes are generated in batch and the resulting files are typically 25x25 px PNG files. Of course, such a small image would normally be way too low res to use in print, i.e. a 1x1 inch image would need to be 300x300 px in order to print in 300 DPI.

When it comes to simple images such as QR-codes (I guess this would also apply to bar codes without the digits) I realized that the actual resolution of the image is not really relevant, as I can easily resize the image to any size I prefer using nearest-neighbor resizing option in Photoshop. In a way, the resulting 250x250 px image won't contain any more information in terms of "QR pixels" than the 25x25 px version, apart from the obvious fact that the file will be larger in size. Also, when resizing to a width not evenly divisible by 25 (e.g. 70x70) the resulting QR pixels will not all be the exact same width.

This has got me thinking I can simply place the 25x25 px PNG in my InDesign layout, which will in turn be exported to PDF and sent to print. This seems to work out fine when I print the file on my printer, but on screen the image sometimes looks blurred (as you would expect with it being magnified). I have found that the blurring effect stems from the anti-aliasing setting in my PDF viewer, so there is obviously no information about resizing/anti-aliasing embedded in the PDF file, while the printer will resize the image without anti-aliasing (i.e. using nearest neighbor).

Finally, the question: Is there any obvious downside to using this method? Is it safe to assume that the 25x25 px image in my PDF document will be upscaled without anti-aliasing when I send it to the printing office? Would I be better of just manually upscaling it or converting it to a true vector format?

Bonus question: is there a better term for what I am referring to as vector-like in the title/question, that is the concept of a bitmap/raster image being upscaled without loss of quality?

share|improve this question

4 Answers 4

up vote 3 down vote accepted

Never rely on any print provider to do anything other than spit out your file as it currently exists. I would never trust that something will be output in a specific manner to ensure it is as I expect. If you have to provide instructions or notes on how to output, then it's a recipe for error. If you place a 25ppi image in Indesign it never gets "upsampled" when generating a PDF. It is output at 25ppi.

For codes, bar codes, QRT codes, etc their are only 2 acceptable solutions....

  1. Use a true vector code. There are dozens of barcode/QRcode generators which generate EPS, SVG, or EMF files. This is what you should use. If you're generator can not create these formats, find another code generator.

  2. If you must use a raster image, then it needs to be larger than what will be produced. So for a 70x70 pixel code, you need a 290x290 pixel native image. That is to say, an original image which is 290x290, not a resized image you created. Then you could place and reduce it to 70x70 pixels in Indesign. Which will essentially increase the DPI upon output. Although, I still feel like #1 is always the better option.

Codes need to be precise. There's no wiggle room to just get it "looking good". A scanner may not read it properly if it's even the slightest bit incorrect.

As for the better term.... vector-like is really non-sensical. Something is either vector or it's not. I'd refer to it as simply non-anti-aliased raster art.

share|improve this answer
Thanks for the answer! In this case I have full control over the code generating application, so I'll be able to adjust it to output an image according to my needs (higher res or vector). Regarding the term, my use of "vector" was simply referring to its property as losslessly upscaling - "non-anti-aliased raster art" is most definitely a clearer term. –  Simon Jan 28 '13 at 15:35

If you can find a way to get a QR code as a vector (SVG, EPS, PDF etc), that’s a good way to go. If you can’t, there is an easy way to enlarge the image without adding any blurring.

Scaling using Nearest Neighbour

If you'd like a sharp, large image for the QR code, you can simply resize the image in Photoshop to an exact integer multiple (200%, 300%, 400% etc) and use the Nearest Neighbour scaling.

Scaling using Nearest Neighbour

Scaling by 1000% using nearest neighbour will turn each pixel in the document into a perfect 10×10 pixel grid. It’ll make the file bigger in terms of pixels and space taken up on disk, but it will also ensure interpolation done by the RIP in the printer is unlikely to add any visible blurring to the edges (if it does, scale up again using nearest neighbour to an exact multiple of 100%).

This method is also good if you want to include screenshots from computers in printed material.

share|improve this answer

The case of QR codes is diferent than barcodes, becouse the barcodes have diferent widht and spaces within bars.

In the case of QR codes the reason to have a 25x25 pixels is that you should have either a perfect little square white or blak. No smoothing of any kind.

Of course there are diferent versions of QR codes, for example 73x73. Again this is verey specific.

In this cases i would use a monocromathic file. That is 1 bit image. Not a grayscale one.

You can print for example a 2400ppi monocromathic image and you will control each laser dot in the film or plate printer.

I would NEVER use a 300 ppi grayscale image becouse this will be converted into patterns.

Here is a comparation betwen a typography on a grayscale 300ppi file and a vector one but the result is exactly* the same as using a 2400ppi monochromatic image. (My output was a 2400 resolution film)

pattern on a grayscale 300 dpi image

I am 99% sure that you can use your 25x25 pixel file in a monocromathic file and you will not have any pattern. I'm not 100% sure becouse probably people have some strange settings somewhere. So I would make a film test that is verey cheap, and confirm it.

share|improve this answer
The result will depend on how the printer’s RIP interprets mono, greyscale and RGB files. –  Marc Edwards Feb 12 at 10:13

You're simply resizing a raster image without any interpolation. Another way to put it is that you are 'stretching the pixels'.

Not sure what the better term is, but 'vector' doesn't make much sense in this context.

As for your workflow, it makes sense. In theory, you should be able to stretch the image to any size you want in your page layout software and it will remain crisp and sharp, just larger.

The anti-aliasing does seem like an issue, though and one I'd bring up with your printer. Typically, printers will want you to create the PDF using a particular set of settings, so this is a question you should run by them.

share|improve this answer
Thanks for the answer! I agree using the term 'vector' is a bit odd in this context. Rather the typical vector-like properties of losslessly upscaling is what I was getting at. Your comment about anti-aliasing is great! I will look into either verifying with my print provider that it will in deed not be an issue or simply resort to using a higher res/vector image. –  Simon Jan 28 '13 at 15:40

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.