QR Code Minimum Size for Print: How Small a Code Can Go Before It Stops Scanning

by KoloQR TeamPrint

A round black-and-white QR code inside a dashed cut-line ring on a magenta background, with a lime circle holding a printer icon overlapping its lower right edge.

A printed QR code should be at least 2 × 2 cm (0.8 × 0.8 in) including its quiet zone, and larger whenever it is read from more than about 20 cm away. Allow roughly 1 cm of code width for every 10 cm of scanning distance: a menu read at 30 cm needs 3 cm, a poster read at 1 m needs 10 cm, and a banner read at 3 m needs 30 cm.

Key points

  • The working minimum for a printed QR code is 2 × 2 cm (0.8 × 0.8 in), measured across the black artwork plus the quiet zone around it.
  • Above arm's length, size follows distance: about 1 cm of code width for every 10 cm of scanning distance, or 1 inch for every 10 inches.
  • The real floor is the module, not the code. Keep printed modules at 0.4 mm or larger on coated stock, and 0.5 mm or larger on uncoated or absorbent stock.
  • A longer URL raises the minimum size. A 20-character URL fits a version 2 symbol; a 120-character URL needs version 7, which is about 60% wider at the same module size.
  • There is a maximum too. A QR code is comfortably readable from about its own width up to roughly ten times its width, because a phone camera cannot focus closer than 7–10 cm and has to fit the whole symbol in frame.

What is the minimum size for a printed QR code?

The minimum size for a printed QR code is 2 × 2 cm, measured across the black artwork plus its quiet zone. That figure is arithmetic rather than convention: a short URL at error correction M lands on a version 4 symbol, which is 41 modules wide including the quiet zone, and 41 modules at 0.5 mm each is 20.5 mm.

In inches, the same floor is 0.8 × 0.8 in, and the distance rule converts directly: allow 1 inch of code width for every 10 inches of scanning distance. A code read from 3 feet needs about 3.6 in.

Smaller codes do scan, under conditions a print run cannot rely on. A 1.5 cm code holding a 15-character URL, printed on coated stock, held 10 cm from a recent phone in good light, will decode. The same code on kraft cardboard, in a dim restaurant, at an angle, held by someone whose camera lens is scratched, will not. The 2 cm floor is the size at which the code stops depending on any of that.

Measure the footprint, not the design. If a layout says the QR code is 2 cm, check whether that measurement covers the whole symbol or only the dark modules: the quiet zone adds four modules on each side, which on a version 4 code is roughly 12% of the total width per side.

The distance rule: 1 cm of code for every 10 cm of reading distance

Size a QR code by dividing the scanning distance by ten, then never go below the 2 cm floor. A code read from 50 cm needs 5 cm, a code read from 2 m needs 20 cm, and a code read from 10 m needs a metre of width. The QR print size calculator runs the same arithmetic for a given distance, payload and material.

Scanning distanceMinimum code widthTypical case
15 cm2 cm (the floor)Business card held in the hand
30 cm3 cmMenu, leaflet, product carton
50 cm5 cmShelf label, counter sign
1 m10 cmA3 poster in a corridor
2 m20 cmWindow decal read from the pavement
3 m30 cmExhibition stand banner
5 m50 cmWall graphic in a lobby
10 m1 mBuilding sign, stage screen
20 m2 mBillboard

The 10:1 ratio assumes a typical phone camera and a symbol of around version 3 to 6 - a short or shortened URL. A denser code packs more modules into the same width, so each module shrinks and the usable distance falls short of the ratio. Where the payload is long and the read is far, size from the module table below instead of from the ratio. Size is the first of nine checks a file has to pass; the print checklist has the rest in order.

Size for the closest realistic reading position, not the furthest. People walk up to posters. A code sized for a 3 m read still works at 1 m, but a code sized for 1 m cannot be read from 3 m, so erring towards the larger figure is the safe direction of error.

Minimum QR code size by what you are printing on

These are the sizes that hold up in production for common print media. The minimum column is the smallest width that decodes reliably at that reading distance; the recommended column adds about 25%, which is the margin that absorbs bad light, a cheap phone, and a reader standing further back than planned.

What you are printingTypical read distanceMinimum widthRecommended width
Business card20–25 cm2 cm2.5 cm
Restaurant menu page30 cm2.5 cm3 cm
Table tent or table talker40 cm3 cm4 cm
A5 flyer or leaflet30 cm2.5 cm3 cm
Product packaging, flat carton25 cm2 cm2.5 cm
Bottle or jar label, curved25 cm2.5 cm3 cm
Thermal receipt25 cm2 cm2.5 cm
Event badge or lanyard30 cm2.5 cm3 cm
Shelf talker in an aisle50 cm5 cm6 cm
A3 or A2 poster1–1.5 m10 cm15 cm
Window decal read from outside2 m20 cm25 cm
Exhibition stand banner3 m30 cm35 cm
Vehicle livery4 m40 cm50 cm

Business cards are the tightest case on the list, because 2 cm of a 85 × 55 mm card is a quarter of its height and the design rarely has that space to give. The usual fix is not a smaller code but a shorter destination: a 20-character URL drops the symbol to version 2, which is 33 modules including the quiet zone and fits 2 cm with modules at 0.6 mm. See what else belongs on a business card before deciding the code has to shrink.

Every surface in that table brings constraints beyond size - a finish that reflects, a fold that cuts the pattern, a curve that skews the finder squares - which are covered per surface under QR codes by surface.

Billboards are the case where the arithmetic argues against the code entirely. A billboard read from 20 m needs 2 m of QR code, and the people reading it are usually moving, often driving, and rarely able to hold a phone steady on a symbol that far away. A memorable short URL does the job that a 2 m code cannot.

The real minimum is the module, measured in millimetres

A module is one of the small black and white squares that carry a QR code's data, and the smallest unit a scanner has to resolve. Every minimum size on this page is a module size in disguise: keep printed modules at 0.4 mm or larger on coated stock, and 0.5 mm or larger on uncoated or absorbent stock, where ink spread thickens the dark modules and closes the gaps between them.

Multiply the module floor by the module count to get the minimum width for a specific code. The count depends on the symbol version, and every version adds four modules per side to the one before it.

VersionModulesWith quiet zoneMinimum width at 0.4 mmMinimum width at 0.5 mm
121 × 212911.6 mm14.5 mm
225 × 253313.2 mm16.5 mm
329 × 293714.8 mm18.5 mm
433 × 334116.4 mm20.5 mm
537 × 374518.0 mm22.5 mm
641 × 414919.6 mm24.5 mm
849 × 495722.8 mm28.5 mm
1057 × 576526.0 mm32.5 mm

Work the arithmetic in the other direction to check a size you have been given. Divide the printed width by the module count including the quiet zone: a 25 mm code at version 6 is 25 ÷ 49, or 0.51 mm per module, which clears the floor. The same 25 mm at version 10 is 0.38 mm per module, which does not.

Module size is also where print resolution meets physical size. A module of 0.4 mm is about 5 pixels at 300 DPI, so the pixel count has to follow the physical decision rather than lead it - the arithmetic for that side of the job is in the guide to QR code resolution.

How the length of the URL changes the minimum size

Every extra character in the encoded data can push the code to a higher symbol version, and a higher version means more modules inside the same width. The symbol version is the QR standard's name for a code's module count, running from version 1 at 21 × 21 modules up to version 40 at 177 × 177.

URL lengthSymbol versionModules with quiet zoneMinimum width at 0.5 mm
Up to 14 characters12914.5 mm
15–26 characters23316.5 mm
27–42 characters33718.5 mm
43–62 characters44120.5 mm
63–84 characters54522.5 mm
85–106 characters64924.5 mm
107–122 characters75326.5 mm
123–152 characters85728.5 mm
Byte mode at error correction level M, the usual combination for a URL. Character counts include https:// and every tracking parameter.

Shortening the destination is the cheapest way to shrink a QR code. A URL of 140 characters with UTM parameters sits at version 8; the same destination behind a 25-character short link sits at version 2, and the difference at 0.5 mm modules is 28.5 mm against 16.5 mm. Nothing about the printed design changed - only the string being encoded.

Three edits shrink most URLs by enough to drop a version or two: remove tracking parameters and use a redirect that adds them server-side, drop www and any trailing slash, and use uppercase for the domain if the code carries no path, since alphanumeric mode packs uppercase more tightly than byte mode. The first of those usually does the whole job on its own.

Payload type matters as much as length. A URL is compact; a vCard with a name, two phone numbers, an email address and a postal address routinely runs past 300 characters, which is version 13 or higher and needs about 45 mm at 0.5 mm modules. A contact code on a business card is the most common case of a symbol that will not fit the space it was designed into.

The quiet zone counts towards the size

The quiet zone is the empty margin around a QR code that lets a scanner detect where the symbol begins and ends, and the standard specifies four modules on every side. A 2 cm minimum means 2 cm including that margin, not 2 cm of dark modules with the margin trimmed away to save space.

Cropping the quiet zone is the most common way a correctly sized code fails. A designer fits the code into a tight panel, the margin is what gives, and the symbol lands flush against a border, an image edge, or a block of text. The modules are all present and the size is right, and the scanner still has nothing to lock onto.

White space that belongs to something else does not count. A quiet zone has to be flat and light: a photograph behind the code, a gradient, a texture, or a coloured panel all break the boundary the scanner is looking for, even where the background looks pale on screen.

Fold lines, die cuts and trim edges eat quiet zones after the file leaves the studio. Keep a QR code at least 5 mm from any trim edge on packaging and at least 10 mm from a fold, and check the code against the die line rather than against the flat artwork.

Detection is decided in that margin rather than in the data, which is why it has a page of its own. The quiet zone covers what counts as one, what four modules come to in millimetres at each printed size, and how to measure the margin a file actually carries.

When to size up beyond the minimum

Six conditions each justify making a printed QR code larger than the table says, and they stack. Two of them together is a good reason to add 50% rather than 25%.

  • Uncoated, kraft or corrugated stock: ink spreads into the fibres and thickens the dark modules, which narrows the light gaps. Work from the 0.5 mm module floor rather than 0.4 mm, which is a 25% larger code at the same version.
  • A curved surface: a code on a bottle, jar, cup or tube is foreshortened at the edges. Keep the code width under about a quarter of the circumference so the surface it sits on stays close to flat, and add 20% to the width.
  • Dim or coloured light: restaurants, bars, cinemas and evening events all reduce the contrast the camera actually captures. Add 25%, and never combine a small code with a dark background in a dim room.
  • A logo in the middle: a centre logo needs error correction H, which reserves about 30% of the symbol for recovery data and pushes the version up. The same URL that fits version 3 at level M lands on version 5 at level H, which is 22% wider at the same module size. The full trade-off is in the guide to error correction.
  • An audience with older phones: a five-year-old mid-range camera resolves fewer modules per frame than a current flagship. Public-sector, healthcare and community printing is where this matters most, and 25% extra width covers it.
  • Any read through glass, at an angle, or in motion: window decals, drive-through signage and shop-front graphics all lose effective resolution to reflection and perspective. Size these from the far end of the distance range, not the near end.

Sizing up costs nothing in scanning terms. There is no failure mode where a QR code is too large for its reading distance, provided the reader can still step back far enough to frame it - which is the subject of the next section.

Is there a maximum size for a QR code?

A QR code is comfortably readable from about its own width up to roughly ten times its width. The lower bound exists because a phone camera cannot focus closer than 7–10 cm and has to fit the whole symbol plus its quiet zone inside the frame, so a 50 cm code cannot be scanned by someone standing next to it.

That range is what makes very large codes awkward rather than impossible. A 2 m billboard code needs the reader to stand between 2 m and 20 m away, which is a reasonable ask on a plaza and an unreasonable one beside a motorway. Check that the near limit is somewhere a person can actually stand before committing to a size.

Large-format codes also change file format rather than size rules. Above roughly 30 cm, export vector: an SVG or PDF has no resolution ceiling, and print shops working at banner scale ask for vector artwork anyway. KoloQR, a free QR code generator with circular and custom-shaped QR codes, exports SVG and PNG, and the SVG carries no watermark or size cap.

Why a small QR code fails, and how to tell which fault it is

SymptomMost likely causeFix
Scans on screen, fails on paperModules below the print floor, or ink spread on absorbent stockEnlarge to reach 0.4 mm modules, 0.5 mm on uncoated stock
Scans held close, fails at arm's lengthCode sized below the 10:1 distance ruleDivide the real reading distance by ten and resize
Scans on one phone, not anotherCode sitting on the edge of the size marginAdd 25% width rather than debugging the camera
Camera never recognises a code is thereQuiet zone cropped, or a background that is not flat and lightRestore four modules of clear space on all four sides
Worked in the proof, fails in the print runDifferent stock, different ink, or the artwork scaled during impositionTest on the production substrate at final size
Fails only in the eveningContrast too low for the light, compounded by sizeIncrease size and use a genuinely dark code on a light background

The first two rows account for most real failures, and they fail in opposite directions. A code that is too dense for its size breaks at every distance; a code with healthy modules breaks only past the distance it was sized for. Testing at one distance hides the difference, which is why the pre-print test below uses three.

How to test the minimum size before the print run

  1. Fix the final destination first. Encode the exact URL that will ship, including any parameters. Changing the URL later changes the symbol version, which changes the minimum size.
  2. Calculate the module size. Divide the intended printed width by the module count including the quiet zone. The result must be 0.4 mm or more, and 0.5 mm or more on uncoated stock.
  3. Print a size ladder. Print the same code at the intended size, one step smaller and one step larger - for example 2 cm, 2.5 cm and 3 cm - on one sheet.
  4. Use the production substrate. Print the ladder on the stock the job will actually run on. A laser proof on office paper hides the ink spread that decides the outcome on kraft, newsprint or thermal paper.
  5. Scan at three distances. Scan each size from half the intended distance, the intended distance, and twice it. The smallest size that passes all three is the true minimum for that code.
  6. Repeat in the real light. Scan again in the light the code will live in - the restaurant at dinner service, the aisle under fluorescents, the pavement at dusk.
  7. Test two phones and one bad angle. Use one iPhone and one Android phone, at least one of them a few years old, and hold the camera at roughly 30 degrees off square.
  8. Take the next size up. Ship the size above the smallest that passed. The margin costs a few millimetres of layout and covers the conditions the test could not reproduce.

The size ladder is what turns a guess into a measurement, and it takes one sheet of paper. Most sizing arguments in a studio end the moment somebody prints three versions and scans them across the room.

Common mistakes when sizing a QR code for print

  • Scaling the code to fit the space left over. The layout is decided first and the code is squeezed into what remains. Size the code from its reading distance, then find the space - a code that does not scan occupies less useful area than one that does not exist.
  • Measuring the dark modules and forgetting the quiet zone. The stated size has to include four modules of clear margin on every side, which on a small code is a meaningful share of the width.
  • Testing at desk distance only. A code checked on the screen and again on a proof held 10 cm away tells you nothing about the 2 m read it was designed for.
  • Encoding a placeholder URL during design. A short test URL produces a low-version symbol, and swapping in the real URL late can add modules and break a size that was signed off.
  • Assuming a shape or a logo is the problem. Custom module shapes and centre logos have their own limits, but a code that fails at 1.5 cm fails because of its size. Check the millimetres before redesigning the artwork.
  • Printing dark on dark to match the brand. Size and contrast fail together: a code that is marginal at 2 cm becomes unreadable when the contrast between modules and background is also marginal.

Sizing is a decision worth making before the design starts. The minimum width follows from the destination URL, the substrate and the reading distance, and all three are usually known on day one - so the code's footprint can be blocked into the layout as a fixed constraint rather than negotiated at artwork stage. If the code needs to be built to a specific size, the generator takes the URL and exports vector, which resizes without loss.

Make Your QR Code

Free, with no account and no watermark. Choose a shape, add a logo, check the contrast, and export SVG, PDF, EPS or PNG - a static code with no subscription behind it.

Generate QR Code

Questions? Answered

About 1 cm in laboratory conditions, and 2 cm in practice. The absolute limit is the module: a version 1 symbol at 0.4 mm modules is 11.6 mm wide including the quiet zone. Anything that small requires a very short URL, coated stock, good light and a close, steady hold, so 2 × 2 cm is the size a print run can depend on.

0.8 × 0.8 inches, including the quiet zone. Scale from there with 1 inch of code width for every 10 inches of scanning distance: 1.2 in for a read at 1 foot, 3.6 in for 3 feet, and 12 in for a code read from 10 feet away. US letter flyers and 3.5 × 2 in business cards both work at 1 inch.

For a print run, yes. A 1 cm code only holds modules above the 0.4 mm floor if the symbol is version 1 or 2, meaning a URL under about 26 characters, and it leaves no margin for ink spread, dim light or an older camera. Use 1 cm only where the code is decorative and a text URL is printed alongside it.

2 cm minimum, 2.5 cm if the layout allows. The constraint on a card is rarely the space but the payload: a full vCard runs past 300 characters and needs about 4.5 cm, while a short link to a contact page fits 2 cm comfortably. Link to a page rather than embedding every contact field in the symbol.

Yes. Every size on this page includes the quiet zone, which is four modules of clear space on each side. On a version 4 code, the quiet zone is roughly 12% of the total width per side, so a symbol measured across the dark modules alone is about a quarter narrower than the size actually required.

Sharpness and size are different problems, and size is the usual culprit. A crisply printed code fails when the modules are below 0.4 mm, when the reading distance is more than ten times the code width, when the quiet zone was cropped, or when contrast is too low for the light. Resolution only decides how hard the printed edges are.

Sometimes, by one or two versions, and it is a trade. Level L reserves about 7% of the symbol for recovery instead of level M's 15%, so the same URL may fit a smaller symbol. That buys millimetres and spends damage tolerance, which is the wrong direction on packaging, receipts or anything handled repeatedly.

Usually yes. A centre logo requires error correction H, which reserves about 30% of the symbol for recovery data and typically pushes the code up two versions. At the same module size that is roughly 20% more width, so a branded code that fits 2 cm without a logo should be planned at 2.5 cm with one.

Divide the closest realistic reading distance by ten. An A3 poster in a corridor read from 1 m needs 10 cm; a large poster read from 3 m needs 30 cm. Size for where people stop walking rather than where they first see the poster, because a code sized for the far distance still scans up close.

Yes, if the reader cannot stand far enough back. A phone has to fit the whole symbol and its quiet zone in frame and cannot focus closer than 7–10 cm, so a code is readable from about its own width outwards. A 1 m code on a corridor wall fails for anyone standing beside it and works from three paces away.

Add about 20% to the flat-surface size, and keep the code narrower than a quarter of the circumference. On a 65 mm bottle that means a code up to about 50 mm wide, so a 3 cm code sits on a near-flat arc. Place it on the flattest part of the label and keep it clear of the seam.

2 cm, with a short URL and a printed text fallback. Thermal paper is absorbent, low in contrast and fades over weeks, so the modules need the full 0.5 mm floor. A 203 DPI receipt printer has a 0.125 mm dot, which makes a 4-dot module exactly 0.5 mm and lands every module on a whole number of dots.

Why KoloQR?

  • Create QR codes for websites, menus, Wi-Fi, PDFs, and business cards
  • Customize colors, logos, and unique shapes
  • Download high-quality PNG and SVG files
  • Built for both print and digital
Generate QR Code
A plain black QR code beside the same code restyled as a circle with brand colors