Smallest QR code size: 21×21 modules and print sizing

The smallest standard QR code has a 21×21 grid of modules, the little squares in the pattern. That is a data size, not a minimum size in millimetres. Here is how a short editable link fits that grid, and how to choose a physical size for your print job.

How small can I print a QR code?

There is no single safe minimum for every phone, printer and scanning distance. Include the clear margin, use sharp high-contrast artwork, and scan a proof at its final size before ordering a batch. A 21×21 code needs a 29×29-module footprint when its four-module margin is included. Micro QR is a separate format; Qex makes standard QR codes.

Compare print sizes · Check your print proof
21×21HTTPS://QEX.ME/AB3XK
25×25https://qex.me/ab3xk
33×33https://www.example.com/menu/summer-2026?utm_source=poster
All three at error correction M, drawn at the same width. The first packs the same short link as the second into fewer, bigger modules.

QR codes come in 40 sizes

The QR standard (ISO/IEC 18004) defines versions 1 to 40. Version 1 is 21×21 modules and every version adds 4 modules per side, up to 177×177. An encoder picks the smallest version that fits your data at the error-correction level you chose. Less data means a smaller version. See QR code versions 1 to 40: grid size and what fits in each.

Look up one version: QR code version 1 (21×21), version 2 (25×25), version 3 (29×29), version 4 (33×33), version 5 (37×37), version 10 (57×57), version 25 (117×117), version 40 (177×177).

Why smaller is better

A printed QR code is a fixed size: a sticker, a table tent, a corner of a flyer. At that size, fewer modules means each module is bigger. At the same overall print width, including the clear margin, a 21×21 code has modules 14% wider than a 25×25 code and 41% wider than a 33×33 one. This gives you more room per module. It does not establish a safe print size or a tested scanning distance.

Keep a blank margin, called the quiet zone, at least four modules wide on every side. Leave text, borders and other artwork outside it. Qex downloads include this margin; do not crop it off. The overall width is the grid width plus eight modules. This follows DENSO WAVE's QR code area guidance.

Module width in millimetres at each overall print size, including the clear margin
Overall width21×21 grid25×25 grid33×33 grid
15 mm0.52 mm0.45 mm0.37 mm
20 mm0.69 mm0.61 mm0.49 mm
25 mm0.86 mm0.76 mm0.61 mm
30 mm1.03 mm0.91 mm0.73 mm

For example, a 20 mm-wide 21×21 code has modules 0.69 mm wide and a clear margin of 2.76 mm on each side. These are calculated dimensions, not physically tested minimums. Longer static payloads and logos can increase the grid size. Measure the actual artwork you will print.

Calculate your QR print dimensions

Paste the exact link or text you want to encode. This tool makes a static QR at error correction M, with no logo. Your payload stays in this browser.

Enter a link or text to calculate its grid and dimensions.

Print the PDF on the selected A4 or US Letter paper at 100% or actual size, with fit-to-page turned off. Its scale-check line must measure 50 mm. The PDF includes your static QR at the selected overall width, ready for a test print.

SVG dimensions are set in millimetres. Your layout or printer can still rescale them: measure a proof and test it with real phones. This calculation does not certify a minimum safe size. Static links cannot be edited after printing; make an editable code if the destination may change.

  1. Use your final destination and design. The codes above are encoding examples, not your finished QR artwork.
  2. Download SVG for a layout that stays sharp when resized, or a high-resolution PNG. Set the overall width in your layout in millimetres.
  3. Keep the full clear margin and use dark modules on a light background. Avoid stretching, blur and artwork behind the code.
  4. Print one proof on the intended material at the final size. Check the printed width with a ruler; printer scaling can change it.
  5. Scan with the phones your visitors use, at the expected distance and lighting. Check that the correct page opens and can be used.
  6. If it fails, increase the size, restore the margin, improve contrast or remove the logo. Reprint and test before ordering the batch.

If a phone reads the pattern but the page does not open, check the destination, network connection and code status. Enlarging the artwork will not repair a broken link. Work through the QR troubleshooting guide to isolate the failure. For an editable code, test again after changing its destination.

Trick 1: send people to a short link

A dynamic QR code doesn't hold your real link. It holds a short link on our domain, HTTPS://QEX.ME/AB3XK, and our server redirects each scan to wherever you point it today. That's what makes it editable, and it also keeps the data short, however long your real link is.

Trick 2: capital letters

QR codes have several ways to store text. Byte mode handles any character at 8 bits each. Alphanumeric mode only handles 45 characters (0–9, A–Z, space and $%*+-./:) but stores two of them in 11 bits, about 5.5 bits each. It has no lowercase letters.

A version 1 code at error correction M holds 14 characters in byte mode but 20 in alphanumeric mode. https://qex.me/ab3xk is 20 characters, so in lowercase it needs byte mode and version 2 (25×25). Written as HTTPS://QEX.ME/AB3XK it fits alphanumeric mode, and version 1.

Capitals are safe here because the URL standard (RFC 3986) makes the scheme and host case-insensitive, so browsers treat HTTPS:// like https://. The path is the only case-sensitive part. We only use A–Z and 0–9 in code IDs, and our redirect server uppercases the path before it looks one up.

The budget: 20 characters

PartExampleCharacters
SchemeHTTPS://8
Domain + slashQEX.ME/7
Code ID (A–Z, 0–9)AB3XK5
Total20 / 20

That's why we picked a short domain. Five characters from A–Z and 0–9 give 36⁵, about 60 million codes, and every one still fits in 21×21.

Printed jobs vs data jobs

For a menu, hosted PDF or business card, choose a dynamic link if you need to change its destination after printing. Dynamic redirects depend on Qex continuing to operate. Choose a static code if the payload can stay fixed; a direct static URL still depends on its destination website. A Wi-Fi QR code encodes the network itself, so changing the credentials means making and printing a new code. See every job on QR codes for….

What costs you the small size

A logo in the middle. A centre logo covers modules, so the code needs error correction H (about 30% recovery) instead of M (about 15%). At H the same link needs version 2, 25×25. Lowercase or a longer domain. Either pushes you past the 20-character budget. Tracking parameters in the QR itself. With a dynamic code, add them to the destination instead, and change them any time.

Make a 21×21 QR code for your linkFree, no sign-up to start. You can change the link after you print it.Start — it's free