Free QR code generator

Links, Wi-Fi, contact cards and more. Style it, test that it scans, download SVG or PNG. No sign-up, and the code never expires because nothing sits between it and your link.

What should the code open?
Colours, style & logo
#1a1a1a
#ffffff
Module shape
Error correction, margin & size
Error correction

How much of the code can be damaged or covered and still read. Higher means a denser pattern.

v2 · 25×25 · ECC M

Static code: the link is stored in the pattern itself, with no redirect through us, so it never expires and nobody tracks scans. Smallest safe print size is roughly 2.0 cm wide; go bigger for posters read from a distance (about 1/10 of the scanning distance).

Static means it keeps working

Every code made here is static: the address or text is stored in the black and white modules themselves. Scanning it goes straight to your link, not through a redirect service. So there's no subscription to keep up, no scan counting and no "your QR code has been deactivated" page a year from now.

The trade-off: you can't change a static code after printing. If a destination might move, point the code at a page on your own domain and change what that page shows instead.

Before you print a thousand of them

  1. Press Test scan. The tool decodes its own output with ZXing and confirms the content matches.
  2. Print one proof at final size and scan it with an iPhone and an Android phone, in the light where it will hang.
  3. Keep the quiet zone: four modules of blank margin. Tick Show quiet-zone guide to see it.
  4. Dark on light, strong contrast. Pastel on white and white-on-black codes fail on older scanners.
  5. Short links make better codes. Fewer characters mean fewer, bigger modules that scan from further away.

What the cells actually do

Tap a part to light it up. Most of the grid is your content; the rest is scaffolding that lets a shaky phone camera lock on.

https://qrbarcodegen.com/guidesversion 3 · 29×29

Finder patterns

Three big squares in the corners. Their 1:1:3:1:1 dark-light ratio looks the same from any angle, so a camera can find the code, work out its rotation and correct for tilt in one pass.

192 of 841 modules in this code.

Same link, different error correction:

Watch the grid grow: more recovery bytes need more modules, so the code steps up a version.

Read the full guide, with a live damage test →

Questions

Is this QR code generator really free?

Yes. No account, no trial, no watermark, no scan limits. The codes are generated by your browser, so there is no server cost to pass on to you.

Do the QR codes expire?

Never. They are static QR codes: your link or text is encoded directly in the pattern. Many "free" generators create dynamic codes that route through their servers and stop working when a trial ends. Ours never touch a server.

Can I track scans?

Not with a static code, and that is deliberate: there is no redirect in the middle to count visits. If you need analytics, point the code at a link on your own site that carries UTM parameters, and read the numbers in your own analytics.

SVG or PNG: which should I download?

SVG for anything printed or designed (it scales to any size without blur and opens in Illustrator, Figma, Canva and Word). PNG at 1024 px for web, email and documents; 2048 px or more for large print if your software does not take SVG.

How small can I print a QR code?

For a short link, about 2 cm (0.8 in) wide is the practical minimum for scanning up close. A good rule is that the code should be at least one tenth of the scanning distance, so a poster read from 3 m needs a code about 30 cm wide.

Which error-correction level should I pick?

M (15%) is the default and suits most uses. Choose H (30%) when you add a logo or the code may get scuffed, and L (7%) to keep a long payload as coarse as possible.