QR Code Generator

Make a free static QR code for any link or text.

Made in your browser. Your text is never uploaded, saved or put in the page link.

Start from

Higher levels survive more damage but make a denser code.

px

128 to 4,096. The SVG scales to any size.

Your QR code

Version 2: 25 × 25 modules, plus a 4-module quiet zone

Your QR code holds 19 bytes with error correction M.

Error correction
Level M: about 15% can be restored
Capacity used
19 of 2,331 bytes (byte (UTF-8) mode)

A static code: the text is inside the pattern, so it never expires and nothing tracks scans. Test it with your phone before printing.

Fix the highlighted field to update the result.

QR Code is a registered trademark of DENSO WAVE INCORPORATED. Codes are drawn with the open-source uqr library (MIT licence).

How to use

  1. Type or paste a link or text. The quick starts fill in an email, phone or Wi-Fi format for you.
  2. Pick an error-correction level. M suits most uses; choose H if the code may get scratched or covered by a logo.
  3. Press Download SVG for print, or Download PNG at the pixel size you need.
  4. Scan the code with your phone before you print or share it.

Everything happens in your browser, and your text never leaves it. The code is static: the data sits in the pattern itself, so it never expires and scans are not tracked.

How a QR code works

Your text is stored as bits in a grid of black and white squares, called modules. Extra error-correction codewords (Reed–Solomon) are added, so a scanner can still read a partly damaged code.

The generator picks the smallest version that fits. Version 1 is 21 × 21 modules, and each version adds 4 per side, up to version 40 at 177 × 177. Scanners also need a blank quiet zone 4 modules wide on every side.

Example

https://example.com is 19 bytes. At level M it fits version 2: 25 × 25 modules, or 33 × 33 with the quiet zone. Printed at 0.5 mm per module, that is 12.5 mm wide, or 16.5 mm with the margin.

How much fits at each level

Level Restores about Max digits Max bytes (text)
L 7% 7,089 2,953
M 15% 5,596 2,331
Q 25% 3,993 1,663
H 30% 3,057 1,273

These are version 40 limits. Accented letters and emoji take 2 to 4 bytes each.

Tips for codes that scan every time
  • Color: DENSO WAVE advises black on white. A red code can’t be read, because scanners use red light.
  • Size: bigger is safer for distant scanning. More text means smaller modules, so shorten long links.
  • Margin: never crop the white border; it is part of the code.
  • Safety: if you scan a code in an unexpected place, check the link before opening it.

Need to put special characters into a link first? The URL encoder makes any text safe for a URL.

Frequently asked questions

Do these QR codes expire?

No. They are static codes, so your link or text is stored in the pattern itself. No server or subscription can switch them off.

What is the difference between a static and a dynamic QR code?

A static code holds your data directly and can’t be edited. A dynamic code holds a short redirect link run by a paid service, so it can stop working if the plan lapses.

Which error correction level should I choose?

M suits most codes; it can restore about 15% of the data. Choose Q (25%) or H (30%) if the code may get dirty or damaged. Higher levels make the code denser.

How much can a QR code hold?

Up to 2,953 bytes of text at level L, or 2,331 at the default level M. A digits-only code holds up to 7,089 digits at L. More data makes a denser code.

Should I download SVG or PNG?

Choose SVG for print and design work, because it scales to any size without blurring. Choose PNG for documents, slides and web pages, at least as large as it will be shown.

Why won’t my QR code scan?

Usually it is printed too small, has too little contrast, or its white margin was cropped. Print it larger, keep dark modules on a light background, and leave a 4-module margin.

Embed this calculator

Add this calculator to your own website for free. Copy the code below and paste it into your page’s HTML. The attribution link is optional.