Content

Making a QR code for a link, wifi or a document

A QR code is not a link but a picture of a piece of text, so once it is printed it cannot be edited. Correction level, print size, centre logo and colour decide whether it still scans.

A QR code taped to a till, printed on a menu, tucked into the corner of a wedding invitation: they are so ordinary now that nobody bothers to ask what one actually is. Then you have to make one yourself, and it turns out you have no idea which options to pick, while the generator sites lay out a thicket of settings and explain none of them.

Almost all of those settings come down to a single question, which is where this code is going to be scanned. Answer that and the rest of the choices fall into place on their own.

This is the misunderstanding that costs the most money. The code points nowhere and asks no server anything; it is a string of characters drawn as black and white squares, and a phone that scans it simply reads that string back and then decides for itself what to do with it.

The consequence is blunt. Whatever you typed while making the code is now set into the picture, so a code that has been printed onto paper cannot be edited, and changing where it leads means printing the whole run again.

So for anything about to be printed in quantity, do not encode the final destination. Encode an address you still control, a page on your own site that forwards onward. People learn this sentence the afternoon they print five hundred invitations and then spot the wrong link.

The shorter the content, the easier the code is to scan

The number of squares in a code is not fixed; it grows with how much text you put in. On the same piece of paper, twice the text means every square is smaller, and smaller squares demand a camera that comes closer, holds steadier and has more light to work with.

So before encoding a link, cut what is not needed. The campaign-tracking tails stuck on after a question mark are often longer than the real address, and they serve a dashboard rather than the person standing there holding up a phone.

Three QR codes of the same outer size side by side, the left one a coarse grid of large modules, the middle finer, the right one very dense with tiny modules, an arrow running left to right beneath them
On the same piece of paper, the longer the text the narrower every module and the closer the camera has to come

The tool prints the byte count and the version of the code under the preview, so the cost of every spare character is visible while you type. Each step up that number is another shaving off the width of every square.

Four correction levels, and why print needs a high one

Every code carries spare data used to rebuild the parts that get damaged, and you choose how thick that spare layer is. The four levels are L, M, Q and H, meaning the code still reads after roughly seven, fifteen, twenty-five and thirty percent of its area has been lost.

A code living on a screen is never damaged, so M is plenty. A code printed and stuck to a wall, a glass door or a table top lives a different life entirely, one of scuffs and spilled water and a thumb across one corner, and that is where Q or H pays you back.

What it costs is room. For the same text, going from M to H pushes the code up a version or two, which narrows every square one more time, so these two settings have to be weighed together rather than chosen separately.

A logo in the middle survives because of the correction level

Dropping a logo into the centre of a code sounds like decoration; it is in fact deliberate damage. The logo covers real squares, and the code still reads only because the spare data is enough to rebuild precisely the patch that got covered.

Which is why those two settings travel together. A large logo on a low correction level is the recipe for a code that scans beautifully on your desk while you test it, then fails once it is printed and stuck on a wall with somebody standing a metre away.

Two QR codes side by side, the left with a small round logo plate and its modules intact, the right with a large plate swallowing the middle and broken crumbling modules around its edge
The larger the logo, the deeper it eats into the data that rebuilds what it covers

The tool holds the logo between a tenth and twenty-eight percent of the code's width, and paints a white plate underneath it so the boundary stays sharp instead of the logo's own detail blending into the squares. Pick a simple mark, because at that size every fine detail turns into a smudge.

Colour is decided by contrast, not by taste

A reader tells light squares from dark ones rather than telling colours apart, so the two colours you pick have to differ sharply in brightness. Mint on cream may sit beautifully with a brand, but to a machine those two are near enough the same shade.

There is a second rule people rarely mention: keep the dark squares on the light background and do not invert it. Plenty of reader software goes looking for a dark pattern on a light field by default, and a white code on black, handsome as it is, will be missed by some scanners.

The tool defaults to a very dark ink on white, which is the safest pairing there is. Change it to suit the artwork by all means, but once you have, test the result with the oldest phone in the house.

How large to print it

One ratio covers nearly every case: the code should be about a tenth as wide as the distance it will be scanned from. Stuck on a table for a seated guest about thirty centimetres away, three centimetres is enough; stuck on a wall to be read from two metres, it needs to be twenty.

The white margin around the code is not decorative space but part of the specification, since a reader needs that clear band to work out where the code ends. Do not trim to the edge, and do not lay the code over a patterned picture.

A side view: on the left a seated figure leaning close over a small QR card on a table with a short measuring line, on the right a standing figure well back from a large QR code on a wall with a long measuring line
The code should be about a tenth as wide as the distance it is scanned from

Download the SVG for anything going to print, since it is vector artwork and stays crisp at any size. PNG suits screens and anywhere that only accepts an image, while the DPI arithmetic for taking a file to a print shop applies to a code exactly as it does to a photograph.

A wifi code for a café or a living room

A wifi code holds no magic. It is a line of text listing the security type, the network name and then the password in a fixed order, which a phone reads as an invitation to join. The tool has fields for the name and the password so you never have to get that syntax right by hand.

One checkbox is worth noticing, the one for a hidden network. If your router is set not to broadcast its name, that box has to be ticked, or the phone will finish scanning and then go hunting for a name it never hears.

The price of the convenience is worth weighing before you stick it up. Anyone who photographs that card has your wifi password permanently, long after they have gone home, so if the router offers a guest network, put the guest network's code on the card rather than the main one.

Do not make your own bank transfer code

Here is the thing this tool does not do, and the thing you should not go elsewhere to do either. A payment code carries a bank identifier, an account number and sometimes an amount, written to its own specification, and a single wrong digit sends money to an account that is not yours.

The right place to get that code is your own banking app, where the account number is filled in by the system rather than typed by a person. It takes ten seconds and carries no risk at all.

This also touches a scam that has become routine, which is pasting one code over the real one at a counter. Before authorising a transfer to any code, reading what the code actually returns before you tap is a habit worth building.

A QR code for a document

This question comes up constantly and the answer disappoints people, because a code cannot hold a file. Its capacity is measured in a few thousand characters rather than megabytes, so the only thing you can put inside is an address pointing at wherever the file is kept.

The real procedure is therefore two separate steps. Upload the file somewhere that gives it a public link, usually Drive or OneDrive, open the sharing so that anyone with the link can view it, and only then take that link and turn it into a code.

Check the sharing setting in a browser that is not signed into your account. A beautifully printed code that greets every scanner with a request-access screen happens more often than you would think.

Where the code leads is the part worth thinking about

Taken together, every choice in this article is a way of protecting one string of text as it travels through paper, through light and through a stranger's camera without arriving broken. Correction level handles the scuffs, print size handles the distance, contrast handles the light, and length handles the camera.

The one thing no setting handles for you is where the code leads. A perfectly built code pointing at a broken page is still a broken code, so before printing a run, scan it with somebody else's phone rather than the one you just typed the link into.

As for sticking a code on a table at a party, there is a whole way of building a photo corner around a single card, and that is where all the choices above meet in a real situation.

Open the QR generator

Read next

Read next

Browse frames, read the guide, or open the booth to pick a frame and shoot.

All articles

Making a QR code for a link, wifi or a document