Category: Design and Printing

  • How to Optimize QR Code Design for Better Scans

    Summary: A design-focused walkthrough covering contrast ratios, safe logo sizes, error correction levels, quiet zones, color rules, and placement strategies that improve scan reliability.

    Q: What is the minimum size for a QR code?

    A: The practical minimum for most use cases is 2.5 cm (1 inch) square for a print item held in the hand. Codes smaller than this scan unreliably, particularly in variable lighting or on glossy stock. For outdoor or distance viewing, scale proportionally to scanning distance.

    Q: Can I use a white QR code on a coloured background?

    A: Yes, with caution. The modules need to stand out clearly from the background. A white code on a mid-dark background works if the contrast ratio is at least 3:1. Avoid white on light grey, yellow, or pastel backgrounds where contrast is marginal. Always test with a real scanner.

    Q: How much of a QR code can I cover with a logo?

    A: With error correction set to H (highest, 30% recovery capacity), you can safely cover up to 20–25% of the code area with a logo and maintain reliable scanning. Covering more than 30% will cause failures, especially on older scanner hardware.

    Q: Should I use PNG or SVG for a QR code?

    A: SVG is ideal for digital use — it scales without any loss of quality. For print, request a high-resolution PNG (minimum 300 DPI at the final print size) or use an SVG if your design software supports it. The 1024×1024 PNG that QRVelto downloads is suitable for most print sizes up to A5.

    Q: Does a more complex URL make a harder-to-scan QR code?

    A: Yes. Longer data inputs produce denser QR codes with more modules. A very long URL results in a smaller module size at a given physical dimension, which reduces scan speed and reliability. Keeping destination URLs short — or using a clean subdomain path — produces more scannable codes.

    Most QR code failures are not technical failures — they are design failures. A code that does not scan is almost always a code that lacks sufficient contrast, is too small for its scanning distance, has too large a logo overlay, or was printed on a surface that degraded the pattern. Every one of these problems is preventable at the design stage. This guide covers each design variable that influences scan reliability, the rules to follow, and the testing process that catches problems before your materials go to print.

    Why design affects scan reliability

    A QR code scanner — whether in a phone camera or a dedicated reader — works by finding the three finder squares in the corners, calculating the grid alignment from those reference points, and then reading each module (the individual black and white cells) as a binary value. Any design choice that interferes with that process reduces reliability: low contrast makes modules hard to distinguish, insufficient quiet zone confuses the edge detection, and a logo covering critical modules forces the error correction algorithm to work overtime.

    The stakes are higher than they might appear. A QR code that scans perfectly on a designer’s screen under studio lighting may fail completely in a restaurant’s dim interior or at an outdoor event in direct sunlight. Testing in realistic conditions — not just scanning a proof on your desk — is what separates codes that work from codes that generate complaints.

    Contrast: the most critical variable

    Contrast between the dark modules and the background is the single most influential design variable. The scanner reads the code by detecting the transition between dark and light. If that transition is unclear — because the dark colour is not dark enough, the background is not light enough, or a coloured background reduces perceived contrast — scan failures increase dramatically.

    The 3:1 minimum rule

    The QR code standard recommends a minimum luminance contrast ratio of 3:1 between the dark modules and the light background. In practice, aiming for higher is better. The safest combination — black modules on white — delivers the maximum possible contrast and the most reliable scanning across all devices and conditions.

    Using brand colours

    Brand colour QR codes are achievable, but the colour must still meet the contrast threshold. Dark navy, forest green, deep charcoal, and dark brown all work reliably as module colours on white or light cream backgrounds. Avoid medium-toned colours (mid-blue, medium grey, olive) because their contrast against a typical white background is borderline. Light brand colours (sky blue, blush, mint) are not viable as module colours.

    Quiet zone and clear space

    The quiet zone is the blank margin that must surround all four edges of a QR code. The QR standard specifies a minimum of four modules of clear space — four cells in the code’s grid. For a typical URL QR code, four modules represents roughly 8–10% of the total code dimension at the sides.

    In practice, four modules is the bare minimum. Most real-world applications benefit from a slightly larger quiet zone to accommodate printing registration tolerances, slight image distortion on curved surfaces, and the varying camera field-of-view of different scanner apps. Six modules of clear space is a safer target.

    Common quiet zone mistakes:

    • Placing text or decorative elements inside the quiet zone area
    • Cropping the code image and inadvertently removing the quiet zone
    • Placing the code at the very edge of a die-cut label with no bleed margin
    • Using a background pattern or image that bleeds into the quiet zone

    Size for different use cases

    Use caseScanning distanceMinimum code size
    Business card20–30 cm1.8–2.5 cm
    Flyer / brochure (held in hand)30–40 cm2.5–3 cm
    Product label20–30 cm2 cm minimum
    Table tent / counter card40–60 cm4–5 cm
    A2 poster50 cm – 1 m6–10 cm
    Window sticker / outdoor banner1–2 m10–20 cm

    These are minimums, not targets. Larger codes scan faster and more reliably. If space allows, err larger. A business card with a 2.5 cm code looks better than one with a 1.8 cm code, and it scans more reliably.

    Error correction levels

    QR codes are encoded with built-in error correction that allows a portion of the code’s modules to be obscured or damaged while still scanning correctly. There are four levels:

    • L (Low): 7% of modules can be damaged or covered. Produces the least complex code for a given amount of data.
    • M (Medium): 15% recovery. The standard choice for most use cases.
    • Q (Quartile): 25% recovery. Good for environments where the code may be partially obscured.
    • H (High): 30% recovery. Required when adding a logo overlay. Produces the most complex, densest code for a given data input.

    For standard URL codes with no logo, M (Medium) is the best balance of density and resilience. Use H only when you are adding a logo, because H is necessary to maintain reliable scanning with a logo covering the code centre.

    Adding logos safely

    A logo in the centre of a QR code is achievable and popular for branded materials, but it requires error correction level H and careful sizing to remain reliable.

    The 20% rule

    The logo should cover no more than 20% of the total code area. At 30% coverage — the theoretical maximum at error correction H — you are right at the edge of what the algorithm can recover, and any additional imperfection (printing registration, contrast, slight distortion) can cause failures. Staying at 20% provides a meaningful safety margin.

    Logo background

    Place the logo on a white or solid background that prevents it from bleeding visually into the surrounding modules. A circular or square white badge behind the logo creates a clear boundary between logo and code pattern.

    Always test with a logo

    Error correction recovery rates are averages across the code pattern. A logo that covers a particularly data-dense region of a specific code may fail even within the 20% area rule. Always scan the finished logo QR code before production — never assume a logo size that passed on a previous code will automatically pass on a new one.

    The QR code with logo generator produces codes at error correction H with the logo centred and sized at a safe percentage of the total code area.

    Colour rules for reliable scanning

    Beyond contrast, there are two additional colour rules worth knowing:

    Do not invert the code

    An inverted code — white modules on a black background — looks striking and is technically possible, but many older QR scanner implementations (particularly built into apps rather than native camera firmware) do not support inverted colours. If your target audience includes people on older devices or using QR scanner apps, avoid inverted codes or test extensively before committing.

    Keep the background clean

    The background around and behind the code should be a flat, uniform colour. Photographic backgrounds, gradients, or textures that vary in lightness across the code area create inconsistent contrast in different sections of the grid and cause partial scan failures. If you must place a code over a background image, add a white or solid-colour rectangular panel behind the code that covers the full code plus quiet zone.

    CTA: Create a Branded QR Code With Your Logo

    File formats and resolution

    For digital use — website, social media, presentation slides — PNG is the right format. It supports transparent backgrounds (useful when placing the code over coloured surfaces) and produces no compression artefacts that can corrupt module edges.

    For print, the key metric is DPI at the final print size. A 1024×1024 PNG printed at 2.5 cm (1 inch) delivers about 400 DPI — well above the 300 DPI minimum for sharp print. If you are printing at larger sizes, scale up: a 1024×1024 PNG at 10 cm (4 inches) is approximately 100 DPI, which is too low and will produce visible artefacts on the module edges. For large-format print, request SVG output from your design tool or use a vector trace of the PNG.

    Placement and surface considerations

    The surface a QR code is placed on affects scan performance as much as the code design itself:

    • Glossy finishes: High-gloss paper and laminate reflect light and can wash out the module contrast under certain lighting angles. Use a matte finish for the code area, or request a spot UV coating that leaves the code area unvarnished.
    • Textured or embossed stock: Heavy embossing distorts the flat grid of the code. Print codes on flat, smooth areas of a design.
    • Curved surfaces: Codes on cylindrical packaging (bottles, cans) are distorted when the camera angle is not perpendicular. Use error correction H on curved surface applications and keep the code as flat as possible on the label.
    • Digital screens: Codes displayed on screens scan well as long as the screen brightness is adequate and there is no glare. Ensure the screen is at full or near-full brightness when the code is being scanned.

    Testing before final production

    No QR code design process is complete without real-world testing. Before approving a print run or launching a campaign:

    • Print a proof at the exact final size on the intended stock.
    • Test with both an iPhone and an Android device — the native camera apps on each behave differently.
    • Test in the lighting conditions of the final placement environment (restaurant interior, outdoor daylight, office fluorescent).
    • Test from the expected scanning distance, not closer.
    • Confirm the destination URL loads correctly on mobile.
    • If the code is branded with a logo, test specifically on older devices where error correction recovery may be less robust.

    If the code fails any of these tests, diagnose the specific issue before printing. A code that fails on a proof will fail in production at a much higher cost.

  • What Size Should a QR Code Be? Print and Digital Size Guide

    Summary: Practical sizing guidance based on scanning distance, plus quiet zone, contrast, resolution, and a testing routine that catches problems before you print.

    Q: What is the smallest a QR code can be?

    A: As a rough starting point, keep a printed code at least about 2 x 2 cm (0.8 inch) for close scans, then confirm with a real test. Denser codes with more data or a logo need to be larger. Always verify at the actual print size rather than relying on a fixed number.

    Q: What is the 10-to-1 rule for QR codes?

    A: A widely used guideline: the minimum code width should be about one tenth of the scanning distance. To be read from 2 metres away, aim for a code around 20 cm wide. Treat it as a starting estimate and test in the real setting.

    Q: Does adding a logo require a bigger code?

    A: Usually yes. A logo covers modules, so you should raise the error-correction level and often increase the size to keep the scan reliable. Test any code with a logo on more than one phone.

    Q: What resolution should I export for print?

    A: Print at 300 DPI or higher, or use a vector export where available, so edges stay crisp at the final size. Never scale up a small raster image, since that produces blurry modules that fail to scan.

    Q: Does a longer URL produce a larger QR code?

    A: Yes. More data means more modules, which means a denser pattern. A very long URL can produce a code that needs to be printed larger to remain scannable. Shortening the URL (using a URL shortener or a cleaner page path) reduces density and improves reliability.

    Q: Can I print a QR code on a curved surface like a mug or bottle?

    A: Yes, but curves distort the pattern. Use a higher error-correction level (Q or H), keep the code smaller relative to the curve, and test scanning from multiple angles. Some curvatures are too severe for reliable scanning.

    The most common reason a QR code fails is simple: it was printed too small for the distance it needs to be scanned from, or the surrounding factors, like contrast and whitespace, were neglected. This guide gives you reliable sizing for both print and screens, including specific recommendations by industry, DPI and resolution guidance, and a real-world testing checklist, without making promises that ignore your specific setting.

    The scanning-distance rule

    The most useful rule of thumb is the 10-to-1 ratio: the code should be about one tenth as wide as the maximum distance it will be scanned from. So:

    • Scanned from 30 cm (a table or flyer): aim for around 3 cm wide.
    • Scanned from 1 m (a counter display or window): aim for around 10 cm wide.
    • Scanned from 2 m (a poster): aim for around 20 cm wide.
    • Scanned from 5 m (a wall or window display): aim for around 50 cm wide.
    • Scanned from 10 m (a large banner or billboard): aim for around 100 cm wide.

    This is a starting estimate, not a guarantee. Denser codes (those encoding more data or using higher error correction) and lower-end cameras need more size, so round up when in doubt. Lighting conditions, glare, and print quality all affect the practical threshold.

    The minimum recommended printed size is 2 cm × 2 cm even for the closest scans. Below that, small print variations and camera focus limitations start to cause consistent failures on budget smartphones.

    Practical print sizes

    PlacementTypical scanning distanceSuggested minimum size
    Business card15 to 30 cm2 to 2.5 cm
    Table tent / table sticker30 to 50 cm3 to 4 cm
    Flyer / brochure30 cm2.5 to 3 cm
    Product packaging (small)20 to 30 cm2 to 2.5 cm
    Product packaging (large)30 to 50 cm3 to 4 cm
    A5 / A4 poster30 to 60 cm3 to 5 cm
    A3 / A2 poster1 to 2 m10 to 20 cm
    A1 / A0 poster2 to 3 m20 to 30 cm
    Retail window display1 to 3 m15 to 30 cm
    Billboard / large banner5 m and above50 cm and above

    Sizing by industry

    Different industries have different typical scan distances and placement conditions. Here are targeted recommendations for the most common use cases.

    Restaurants and cafés

    Table codes are scanned from roughly 30 to 50 cm, so a code between 3 and 4 cm is a solid starting point. The real-world factor is restaurant lighting: dim atmospheric lighting can reduce camera performance significantly. If your venue is intentionally dark, print slightly larger (4 to 5 cm) and test in the actual space. Codes on menus at the front door should be sized for a standing scan distance of about 50 to 80 cm, so aim for 5 to 8 cm.

    For the full restaurant guide, see QR codes for restaurants and the step-by-step menu QR code guide.

    Real estate

    Codes on for-sale signs and window displays are typically scanned from 1 to 3 metres by passers-by. Use the 10-to-1 rule and aim for 15 to 30 cm wide. Outdoor signs also face direct sunlight and weather, which affect contrast and durability. Use high-contrast black on white and laminate the surface. See QR codes for real estate.

    Events

    Event codes appear in many contexts: on badges (scanned from 20 to 30 cm), on stage screens (scanned from 5 to 20 m), and on printed programmes (30 cm). Size each placement appropriately rather than using one code size for all. A code on a conference screen needs to be very large, often full-screen for a moment. Badge codes should be at least 2.5 cm. Read more at QR codes for events.

    Business cards

    Business card codes are scanned close up (15 to 25 cm) so a code of 2 to 2.5 cm fits well even on a standard 85 × 55 mm card. Keep the quiet zone clear and avoid placing text right up to the code edge. A vCard code with a full name, phone, email, and website will be denser than a plain URL code; if the pattern looks very dense in preview, trim the content or increase the size to 2.5 cm. See QR codes for business cards.

    Product packaging

    Packaging codes are scanned at arm’s length (20 to 40 cm) in store lighting conditions. A 2 to 3 cm code is usually sufficient, but curved or non-flat packaging (tins, bottles, tubes) distorts the pattern. Use error-correction level H for curved surfaces and test by scanning the physical product. Read the full guide to QR codes for product packaging.

    Quiet zone (whitespace)

    The quiet zone is the empty margin around the code. Scanners need it to tell where the pattern begins and ends. The QR standard specifies a clear border at least four modules wide (a module is one of the small squares in the grid). In physical terms, for a 3 cm code this means roughly 1 to 2 mm of clear space on each side.

    In practice, be generous. Leave a visible white frame and never let text, borders, brand graphics, or photo backgrounds crowd the edges. Even a partially obscured quiet zone causes failures on some scanners, because the decoder cannot reliably locate the finder patterns.

    Contrast and color

    Scanners read the difference between dark and light modules, so contrast is critical:

    • Use a dark foreground on a light background. Classic black on white is the most reliable.
    • Keep the foreground darker than the background, never the reverse.
    • Avoid low-contrast pairs such as light grey on white, navy on black, or dark green on dark blue.
    • If you tint the code to match a brand color, keep the dark modules genuinely dark (at least a 3:1 contrast ratio, ideally higher).
    • Do not place a QR code on a busy photographic background without a white container box behind it.

    Logos and complexity

    A centered logo looks professional but covers modules. To keep the scan reliable:

    • Use error-correction level H, which tolerates up to 30% module loss.
    • Keep the logo area under 20 to 25 percent of the total code area.
    • Use a simple logo mark rather than a complex full-color wordmark; the busier the logo, the more the underlying modules are obscured.
    • Increase the overall code size by 10 to 15 percent compared to the equivalent code without a logo.
    • Test the finished code on at least three phones, including an older Android device.

    CTA: Add a logo the safe way

    Resolution, DPI, and file format

    For print, resolution determines whether module edges are sharp or blurry. Blurry edges merge adjacent modules and destroy the read.

    DPI guidance

    • 300 DPI minimum for standard print (flyers, cards, brochures).
    • 600 DPI for high-quality or small-size print (business cards, product labels).
    • Vector (SVG or PDF) for large-format print (posters, banners, billboards). A vector image is resolution-independent and stays sharp at any size.

    File format advice

    • PNG is the best raster format. It is lossless, so no JPEG compression artifacts soften the module edges.
    • JPEG / JPG introduces compression artifacts even at high quality. Avoid for QR codes if at all possible.
    • SVG or PDF for large-format print. Infinitely scalable without quality loss.

    Never enlarge a small PNG to fill a large poster. Scaling up a raster image blurs the module boundaries. Always generate the code at, or above, the final printed size. If you need a poster-size code, use the largest export resolution available or request a vector format.

    Sizing for screens

    On screen, the concern shifts from DPI to pixels and viewing distance. A code shown on a slide or shop screen should be large enough that a phone a few metres away can capture it clearly, following the same 10-to-1 idea.

    • For a code displayed on a phone screen for someone to scan nearby: at least 240 × 240 pixels at screen resolution.
    • For a code on a laptop or desktop screen at about 1 to 2 m: at least 400 × 400 pixels.
    • For a code projected on a presentation screen at 3 to 5 m: at least half the slide width, which on a standard 1920 × 1080 presentation is around 400 to 500 pixels in the slide layout.
    • For a full-room screen or digital signage at 5 to 10 m: as large as feasible, often full-screen for the moment the code appears.

    Avoid displaying codes on reflective or dim screens where glare defeats the camera. Matte screens and good ambient lighting improve scan rates significantly.

    How to test before printing

    Skipping the test is the most expensive mistake in QR code deployment. A failed code on 5,000 printed menus means a reprint. Here is a reliable pre-print checklist:

    • Export or print the code at the exact final size, not a preview on screen.
    • Scan it with at least two different phones: ideally one current iPhone and one mid-range Android.
    • Test in the real lighting of the location, including any glare, shadows, or lamp flicker.
    • Scan from the closest and the farthest realistic distance.
    • Confirm the destination opens correctly, not just that the code is detected.
    • Check the destination is mobile-friendly: loads quickly, text is readable, no pinch-zoom required.
    • If the code is outdoors, check it also in direct sunlight and in overcast conditions.

    Only after a code passes every check should you commit to a large print run. For a deeper fault-finding list when something goes wrong, see why a QR code is not working.

    Common mistakes

    • Sizing for the design, not the distance. A tiny code on a big poster will not scan from across a room.
    • Removing the quiet zone to fit a layout. Keep the margin clear; shrink the design element instead.
    • Upscaling a low-resolution image. Generate at the final size, or use a vector format.
    • Saving as JPEG. Compression artifacts blur module edges. Use PNG or SVG.
    • Skipping the real-world test. A screen preview is not proof it will scan in print and real lighting.
    • Placing a code on a busy background without a white box. Contrast is as important as size.
    • Using a very long URL without shortening it first. More data means a denser pattern; shorter URLs produce simpler, more scannable codes.

    Frequently asked questions

    Related reading: what is a QR code, static vs dynamic codes, why a QR code is not working, and our URL QR code generator.