QR Code Generator

Type a link or some text and the code updates as you go. Download it as a PNG for screens or an SVG for anything that gets printed.

ContentA link, text, a phone number - anything.
Size: 512 pxApplies to the PNG. The SVG scales to any size.
Error correctionHigher levels survive damage and logos, at the cost of a denser pattern.
Quiet zoneBlank modules around the code. Two or more scan best.
ColoursKeep the contrast strong, and the code darker than its background.
Nothing to encode yet

Runs entirely in your browser. Your files are never uploaded.

How to use QR Code Generator

  1. 1Type or paste whatever the code should contain.
  2. 2Change the size, error correction or colours if you need to.
  3. 3Scan the preview with your phone to check it works.
  4. 4Download the PNG or the SVG.

The code points straight at your content

A lot of free generators encode a link to their own service, which then redirects to wherever you actually wanted to send people. That's how a code can be edited after printing. It's also how a code stops working when the service shuts down, starts charging, or quietly counts every scan.

The codes here contain exactly what you typed. Nothing gets registered anywhere, there's no expiry, and there's no middleman. The flip side is that you can't change the destination after printing, because there's nothing in between to change.

Error correction, and what it costs

A QR code carries redundant data so it still reads when part of it is scratched, creased or covered. Low recovers around 7% of the code, High around 30%. High is what makes it possible to drop a logo in the middle without breaking anything.

That redundancy takes room. The same content at High produces a denser pattern of smaller squares than at Medium, and on a small printed label that density makes scanning harder rather than easier. Medium is fine for most things. Raise it for codes going on packaging, or outdoors, or anywhere a bit of wear is likely.

PNG or SVG

PNG is a fixed grid of pixels, which suits a website, an email signature or a slide. The size setting decides how big it is, and blowing it up afterwards softens the edges.

SVG describes the squares as shapes, so it stays perfectly sharp at any size, from a business card to a shop window. Use it for print, and send that to your designer rather than a PNG, who will otherwise ask you for one.

Getting it to actually scan

Keep the quiet zone, which is the blank border around the code. Scanners use it to find the pattern, and a code butted straight up against other artwork fails surprisingly often. Two modules is the usual minimum and the default here.

Contrast matters more than colour does. Dark code on a light background works. Light code on a dark background fails on plenty of scanners, which expect dark-on-light and don't invert.

Then test the real thing at its real size. Scanning a preview on a monitor proves very little about a sticker someone will scan from two metres away in bad light.

Limits

  • Around 2,900 bytes at the lowest error correction, about 1,270 at the highest.
  • Static codes only. The content can't be changed once you've downloaded it.
  • No scan tracking, because the code doesn't pass through any service.
  • Logos aren't added for you. Put one over the centre of a High-correction code in your own editor.

Frequently asked questions

Does this QR code expire?
No. The code holds your content directly, with nothing in between that could expire or be withdrawn. It works as long as whatever it points at does.
Can I change the destination later?
Not on a code you've already printed, because the destination lives inside the code. If you need that, point the code at a URL you control, such as a short link on your own domain, and change where that redirects.
Which size should I download?
For print, take the SVG and use it at any size. For screens, 512 pixels covers a slide or a web page, and 1024 handles anything bigger.
Why won't my code scan?
Usually one of three things. Too much content, so the pattern is dense. Not enough blank border around it. Or weak contrast between the code and the background. Shorten the content, keep the border, and keep the code dark on light.