araç köşesi

How to create a QR code for free

Static versus dynamic codes, the right print size, and testing before you print

Technically, the answer to "how do I create a QR code" is very short: you type an address, a pattern of squares comes back, you download it and print it. The confusing part starts afterwards. Some sites hand you the code for nothing, others want a monthly subscription; one warns that your code expires in fourteen days, another insists codes never expire at all.

Both are telling the truth — because two different products go by the same name. Below: what separates them, which one fits which job, and the size and testing rules that decide whether a printed code actually scans out in the world.

A QR code is the text you put into it

A QR code is not an account, a file or a service. It is writing, drawn as squares. Put "yoursite.com/menu" into it and the phone that scans it reads exactly that text, recognises it as an address and opens the browser. In other words, there is no record kept between the code and the address, no server queried and no account held — the address is inside the code itself.

Two things follow. First, generating a code is free, and that is entirely normal: nobody has to hold anything on your behalf afterwards. On the QR Code Generator page the pattern is drawn the moment you type the address, and you download it as a PNG; no sign-up, because there is nothing to sign up for. Second, the text inside cannot be edited: the squares are laid out to match that text, so changing the address means drawing a new code.

Addresses are not all a code can carry; plain text, a phone number or wireless network details work too. But capacity is limited: a short address fits comfortably, a page of prose does not. Rather than burying a long text in the code, put it on a page and encode the address of that page — the result is a smaller, more reliable code.

So whose code is it that "expires"?

Two kinds of QR code circulate. A static code is the one described above: the destination is embedded in the pattern. It needs no subscription, depends on nobody, and does not expire — it keeps working as long as the address inside it is live. A static code printed ten years ago still opens the same address today.

A dynamic code puts a redirect address in the pattern instead of the destination. Whoever scans it lands on that service first, and the service forwards them to the real target. This buys you something real: you can change the destination without touching the print run, and you can see how many people scanned it. The price is dependence — the redirect address belongs to that service. If the subscription lapses or the company shuts down, the redirect dies and every printed code becomes a square that leads nowhere.

"Your QR code is about to expire" belongs to that second product. What expires is not the code but the subscription renting the redirect. Most services offering a free trial hand you a dynamic code, and the code stops working when the trial ends. Telling them apart is easy: scan the code with a phone and read the address that appears. If it is your own address, the code is static; if it is an unfamiliar short service address, it is dynamic.

Diagram comparing the address stored in a static QR code with the redirect in a dynamic one
A static code carries the destination itself; a dynamic one carries a redirect and depends on it.

Which one belongs on which job?

The decision comes down to one question: could the destination change after this is printed? The code on a wedding invitation has one place to go, and nobody scans it after the day itself; a static code is both free and trouble-free. A business card is the same — if your details change you are reprinting the cards anyway.

A restaurant menu is the interesting case. If the code is stuck to the table and the menu page lives on your own site, a static code is enough: prices change, you update the page, the address stays put. Dynamic codes earn their keep when the address of the destination itself will change — a poster that switches between campaign pages, a window display that points somewhere new each season.

If you can set up a redirect on your own site, there is a third path: encode a fixed address on your own domain and decide separately where that address forwards to. You get the benefit of a dynamic code — repointing without reprinting — without renting anything from anyone.

  • Weddings, invitations, greeting cards → static; the destination will not change
  • Business cards and brochures → static; details change, you reprint anyway
  • A menu stuck to the table → static, pointing at a fixed page on your own site
  • A poster campaign that moves each season → dynamic, or your own redirect
  • Product packaging and shelf labels → you need an identifier, not a link: the Barcode Generator

Printing it so it scans: size, margin, contrast

Printed codes fail for almost exactly three reasons. The first is size: the further away a code will be scanned from, the bigger it has to be printed. The working rule of thumb in the trade is one to ten — a code scanned from two metres (about six feet) needs to be roughly twenty centimetres, or eight inches, across. On something held in the hand, a menu or a card, the scanning distance is twenty or thirty centimetres, so two to three centimetres is plenty. Because it is a ratio it never goes out of date: divide the distance by ten and print at that size.

The second is the margin around the code. All four sides need a clear border as wide as four of the code's own squares; that empty band is how a scanner works out where the code ends. Boxing the code inside a frame, running text up against it, or letting a coloured background bleed over it eats that band and the code stops scanning. The file you download already includes the margin, so as long as you do not crop it, the rule takes care of itself.

The third is contrast. The code must be dark on a light background. Inverting it — light squares on dark — fails on plenty of scanners. If you print in colour, keep the dark side genuinely dark; the difference between pale grey and white disappears in a phone camera. Avoid transparent and patterned backgrounds.

  • Side length = scanning distance ÷ 10 (2 m or 6 ft → about 20 cm or 8 in)
  • At least 2 cm (¾ in) on anything held in the hand: cards, menus, invitations
  • Leave a clear margin four of the code's squares wide on all sides
  • Dark code, light background — never inverted
  • Glossy stock reflects light and hinders scanning; prefer a matte finish

Always test before the print run

Discovering after a thousand brochures that the code does not scan is the expensive mistake here, and five minutes prevents it. Do not settle for the preview on screen: print the code at final size on a single sheet, sitting inside the finished design.

Test in real conditions: if it goes on a wall, put it on the wall and step back; if it goes on a table, sit down and try it from a chair. Scan with two or three different phones, because focus and low-light performance vary noticeably between cameras.

Read the address that appears, too. Before opening the browser, the phone shows you where it is about to go. A single mistyped letter makes a technically perfect code useless. If the code will be laminated or stuck behind glass, repeat the test in that state — reflections cause more trouble than the printing itself.

Logos and colour: how far can you go?

You can place a small logo inside a QR code, because codes carry a deliberate margin for repair: even with part of the pattern covered, a scanner can recover the text from what remains. That margin is not unlimited, though. Keep the logo small and dead centre, and leave the three large squares in the corners and the outer edges alone — those are the markers a scanner looks for to find the code at all.

Once you add a logo or colour, testing stops being optional: there is no way to eyeball how much of the repair margin you have spent.

Frequently asked questions

Is creating a QR code really free?

Yes. The destination is embedded in the code itself, so nothing has to be stored on your behalf once it is generated; services that charge are selling redirection and scan statistics, not the code. On the QR Code Generator page you type the address and download the PNG — no account required.

Does a QR code expire?

A static code does not. It carries the address directly and keeps working for as long as that address is online. Expiry warnings belong to dynamic services that put a redirect address in the code: what runs out there is the subscription renting the redirect, not the code.

Can I change where a printed QR code points?

Not with a static code — the address is baked into the arrangement of squares. There is a practical way around it, though: encode a fixed address on your own site and change what that address redirects to later. The printed code stays the same while its destination moves.

How big should I print a QR code?

Divide the scanning distance by ten: a code read from two metres needs about twenty centimetres, while two to three centimetres is enough for a menu or a card held in the hand. Below about two centimetres many phones start to struggle.

Should my products carry a QR code or a barcode?

They do different jobs. A QR code takes a customer to a page; a barcode carries an identifier to be read at a till or in a warehouse. For packaging, shelves and stock labels the Barcode Generator is the right tool; for sending people to a product page, generate a QR code. Putting both on one label is common practice.

Last updated: August 27, 2026

Tools in this guide