design tool

QR code generator

Pick what the code should do and the form changes to suit it. The code redraws on every keystroke, the exact string it encodes is printed underneath, and a line beside it tells you the smallest width that will still scan from the distance you have in mind.

Runs on your device. Nothing is uploaded.

Loading the tool…

How to use it

  1. 1

    Pick what the code should do

    One list covers links, plain text, WiFi, contact cards, email, SMS, phone calls, calendar events, locations and a batch list. The form changes shape to match.

  2. 2

    Fill in the fields

    The code redraws on every keystroke, so there is no generate button. The exact string it encodes is printed underneath it, which is where format faults show up.

  3. 3

    Read the print size

    Below the code is the smallest width that still scans from the distance you choose in Advanced options, quiet zone included.

  4. 4

    Download it

    PNG suits screens and flyers. SVG, under Advanced options, is drawn from paths and stays crisp from a business card to a banner.

The payload is shown because the formats are fussy

A WiFi code is not a link. It is a string shaped like WIFI:T:WPA;S:name;P:pass;; where a semicolon or a colon inside the password has to be escaped with a backslash or the whole thing breaks. A contact card is a vCard record with its own escaping rules, and a location is a geo URI in decimal degrees. Printing the exact encoded string under the code lets you check it before you commit a thousand copies to paper.

Size is a scanning question, not a design one

Two things set the minimum. A camera needs roughly ten times the code width in distance, so a code read from a metre away wants about ten centimetres across. Below that, the printer sets a floor: modules smaller than about four tenths of a millimetre stop reproducing reliably on an office printer, and a code with more data has more modules to fit. The larger of those two numbers is the one shown, and the quiet zone counts towards it.

Error correction is a trade

The four levels restore roughly 7, 15, 25 and 30 percent of a damaged symbol. M is the default because it survives ordinary handling without inflating the code. Q and H are for surfaces that get scuffed, wet or partly covered, and H is what makes a logo in the middle survivable, since the logo is damage as far as the scanner is concerned. Every step up adds modules for the same content, which means a bigger print.

Limits

  • A QR code holds about 2,950 bytes at the very most, and far less at high error correction. Long text is refused.
  • A logo covers modules the scanner needs. Raise error correction to H and test with a real phone before printing.
  • A batch list makes at most sixty codes in one run.
  • iOS asks before joining a WiFi network from a code. Android can join straight away.

What it does not do

  • It does not make a dynamic code. The content is baked into the pattern and cannot be edited later.
  • It does not count scans, because there is no server in the middle to count them.
  • It does not read or decode an existing code.

Questions people ask

Does the code expire, or get tracked?

No. Your content is encoded directly into the pattern, so there is no short link and no redirect service in the middle. Nothing can expire, start counting scans, or vanish when somebody stops paying a subscription. The trade is that the content cannot be changed once the code is printed.

How big should I print it?

The line under the code answers that for the distance you pick in Advanced options. The usual guide is ten to one, so a code read from a metre away wants to be about ten centimetres across. The quiet zone, the empty margin four modules wide, counts as part of that width.

Which error correction level should I use?

M is the default and is right for most printing, restoring about fifteen percent of a damaged code. Use Q or H where the code will be scuffed, wet or partly covered, and H if you put a logo in the middle. Every step up adds modules, so the code has to be printed larger.

Will a WiFi code work on an iPhone?

Yes, with one extra tap. The camera app recognises the network and offers to join it, rather than joining silently the way Android can. The code carries the password as readable text, which is what any device needs in order to connect, so treat a printed one as carefully as the password itself.

Why is the encoded string shown under the code?

Because these formats are fussy and a fault in one is invisible until somebody scans it. A stray semicolon in a WiFi password, a missing country code on a phone number, or a link without https in front of it all look fine in the form. Seeing the exact text lets you catch it before printing.

Can I make a lot of codes at once?

Yes. Choose the batch list content type and paste one link or line of text per line, up to sixty. Add a caption after a comma and it is printed under that code. Download then saves the whole set as one sheet, laid out with captions so you can print it and cut it up.

PNG or SVG?

PNG for screens, slides and anything dropped into a layout at a known size. SVG for print, because it is drawn from paths rather than pixels and stays crisp at any size, from a business card to a banner. SVG sits under Advanced options, next to the colour and shape settings.

Put this code on a finished flyer

Take what you made here into flyers.

Create a flyer with OneCraft

Related tools

Built with qrcode (MIT).

Sources

Written and checked by the OneCraft team. Last checked .