Free

Free coded apps to suit all. No sign up, no email, usable offline, updates when I can, feedback welcome. Send feedback

How-to

How to make a QR code or barcode in Paint by Zaweba

Paint by Zaweba can render a QR code or an EAN-13 or Code 128 barcode straight into your design from Filter > Render, with no website needed.

How to make a QR code or barcode in Paint by Zaweba

Flyers, menus, posters and product labels often need a QR code or a barcode. The usual route is a website that makes the code and then a download and an import. Paint by Zaweba skips that. Under Filter > Render there is a QR Code generator and a Barcode generator, so the code is drawn right into the document you are designing, offline.

The QR code generator was written in-house as part of the app.

Making a QR code

Add a new layer, choose the QR Code generator and type the content, usually a web address. The code supports byte mode, which covers addresses and ordinary text, and versions 1 to 10. A version is the size of the grid: version 1 is the smallest, and higher versions hold more data with more, smaller squares. Short content fits a low version and gives bigger, easier-to-scan squares, which is one good reason to use a short web address.

You also choose the error correction level: L, M, Q or H. Higher levels add more redundancy, so the code can still be read when part of it is damaged, dirty or covered. The trade-off is a denser grid. L suits clean screens, M is a sensible default for print, and Q or H are worth it on things that will be handled or scuffed, or when you plan to put a small logo over the middle of the code.

Making a barcode

The Barcode generator makes EAN-13 and Code 128 barcodes. EAN-13 is the standard retail product barcode with thirteen digits. You need a real assigned number if the product will be sold through shops, and the generator simply draws the number you give it. Code 128 encodes letters and numbers and is common for stock labels, asset tags and shipping.

Pixels, not shapes

The generators produce pixels on the layer, not a shape layer. That has practical consequences. Generate the code at the size you will use it, or larger, rather than making it small and scaling it up, since enlarging pixels softens the edges and can make a code harder to scan. If you need to shrink it, use a resampling method that keeps edges crisp.

For print, a good approach is to generate a large code on its own layer and place it at the final size, checking that each square is still clean.

Getting codes that scan

Contrast matters most. Dark on light works best, and black on white is the safest. Inverted codes, light on dark, do not scan reliably with every reader.

Leave a quiet zone. Scanners need an empty margin around the code; do not let text or patterns crowd it.

Do not stretch or skew it. Keep QR codes square and barcodes at their natural proportions.

Test before you print. Scan the code on screen with a phone, then scan a test print. It costs a few minutes and saves a whole print run.

Mistakes to avoid with codes

Making the code too small is the commonest. A QR code needs to be large enough for a phone to focus on from a sensible distance, so be generous on posters that are read from across a room. Another is a long, tracking-heavy web address that pushes the code to a high version; a shorter address gives a cleaner code. And remember a printed code cannot be changed, so point it at a page you control.

For people who make codes often, Zaweba also makes QR by Zaweba and Barcode by Zaweba as separate apps, but for a code inside a design, the generators in Paint by Zaweba are right where you need them.