[{"data":1,"prerenderedAt":42},["ShallowReactive",2],{"blog-distorted-qr-code":3},{"meta":4,"html":21,"faq":22,"schema":41},{"slug":5,"title":6,"description":7,"excerpt":7,"category":8,"pubDate":9,"modified":9,"readTime":10,"readingTime":11,"displayDate":12,"heroImage":13,"tags":14,"featured":20},"distorted-qr-code","Distorted QR Code: Causes, Fixes, and Recovery","Fix a distorted QR code: check blur, stretching, curved surfaces and missing margins, then test the decoded destination or replace the original artwork.","How-To","2026-09-12",8,"8 min read","September 12, 2026","\u002Fblog\u002Fdistorted-qr-code.jpg",[15,16,17,18,19],"distorted QR code","low-resolution capture","image curvature","acquisition angle","finder pattern",false,"\u003Ch2>What is a distorted QR code?\u003C\u002Fh2>\n\u003Cp>A \u003Cstrong>distorted QR code\u003C\u002Fstrong> is a code whose square grid has been stretched, bent or captured at an angle. Blur and low resolution cause a different problem: the grid may still be square, but its small dark and light cells are no longer distinct. Start by identifying which problem you have.\u003C\u002Fp>\n\u003Cp>For most users, the useful first step is another photo or a clean original export. If you own the code, test the original artwork before trying to repair a compressed screenshot. If you are scanning someone else’s code, ask for its printed web address or a replacement when the image cannot be read.\u003C\u002Fp>\n\u003Ch2>Identify the failure before changing the design\u003C\u002Fh2>\n\u003Cp>Use this checklist as a troubleshooting sequence. It separates image problems from destination problems, so you do not redesign a code that already decodes correctly.\u003C\u002Fp>\n\u003Cdiv class=\"overflow-x-auto\">\u003Ctable>\u003Cthead>\n\u003Ctr>\n\u003Cth>What you see\u003C\u002Fth>\n\u003Cth>What to check next\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003C\u002Fthead>\n\u003Ctbody>\n\u003Ctr>\n\u003Ctd>A rectangle instead of a square\u003C\u002Ftd>\n\u003Ctd>Was the artwork resized with its proportions unlocked?\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>A trapezoid in a photograph\u003C\u002Ftd>\n\u003Ctd>Can you take another photo facing the surface more directly?\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>A code wrapping around a bottle\u003C\u002Ftd>\n\u003Ctd>Can the entire symbol be seen without the edges disappearing around the curve?\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Soft or merged cells\u003C\u002Ftd>\n\u003Ctd>Is the original, higher-resolution export available?\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Glare or a shadow across the grid\u003C\u002Ftd>\n\u003Ctd>Can you change lighting or viewing position and capture it again?\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Text or a border touching the code\u003C\u002Ftd>\n\u003Ctd>Has the clear margin around the symbol been removed?\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>A URL appears, then an error page\u003C\u002Ftd>\n\u003Ctd>The code decoded; check the destination or redirect separately.\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftbody>\n\u003C\u002Ftable>\u003C\u002Fdiv>\u003Cp>For the last case, see \u003Ca href=\"\u002Fblog\u002Fqr-code-not-working\">why a QR code is not working\u003C\u002Fa>. A successful decode and a working destination are separate checks.\u003C\u002Fp>\n\u003Ch2>Try a new capture before image reconstruction\u003C\u002Fh2>\n\u003Cp>\u003Cimg src=\"\u002Fblog\u002Fdistorted-qr-code-img-1.jpg\" alt=\"A phone being used to inspect a QR image — AI-generated illustration, not a working QR sample\">\u003C\u002Fp>\n\u003Col>\n\u003Cli>\u003Cstrong>Keep the complete symbol in view.\u003C\u002Fstrong> Include the surrounding clear margin and avoid cutting off corners.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Face the code more directly.\u003C\u002Fstrong> For a flat label, try a position that makes the image square instead of trapezoidal.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Check focus and reflections.\u003C\u002Fstrong> Hold the camera steady and change your angle or lighting if glare covers the cells.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Use the source file when possible.\u003C\u002Fstrong> Ask for the original PNG or vector artwork instead of enlarging a tiny thumbnail.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Compare the decoded result.\u003C\u002Fstrong> Record the text or URL the scanner returns, then check it against the intended destination.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>These are controlled troubleshooting attempts, not promises that every image can be recovered. Keep the original file and change one factor at a time, so you know which version worked. For a saved image, use our guide to \u003Ca href=\"\u002Fblog\u002Fscan-qr-code-from-picture\">scanning a QR code from a picture\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch2>Restore proportions and the clear margin\u003C\u002Fh2>\n\u003Cp>If a square export was stretched during layout, return to the original and resize it proportionally. Avoid repeatedly stretching the damaged copy until it happens to scan. Check the final exported document too: the image in the design editor may differ from the printed or compressed output.\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwww.qrcode.com\u002Fen\u002Fhowto\u002Fcode.html\">DENSO WAVE specifies a clear margin four modules wide on every side\u003C\u002Fa> for a standard QR Code. A module is one small cell of the grid. This margin, often called the quiet zone, is part of the usable artwork area. Do not fill it with captions, a decorative frame or background graphics.\u003C\u002Fp>\n\u003Cp>For example, if each module is rendered at four pixels, a four-module margin is 16 pixels on each side. That is margin arithmetic, not a universal printing-size recommendation. Required physical size depends on the symbol, printing and scanning conditions.\u003C\u002Fp>\n\u003Ch2>Check curved surfaces separately\u003C\u002Fh2>\n\u003Cp>A code on a cylindrical bottle can bend in the image even if the source artwork is square. An ordinary perspective adjustment for a flat page is not the same as correcting a curved surface. If you control placement, test a flatter area or another label position using the actual package.\u003C\u002Fp>\n\u003Cp>A useful print check includes the final label size, material, surface and intended scanning distance. Try more than one representative phone or scanner. Record the decoded destination and the conditions, rather than accepting a single successful scan on a monitor as proof that the printed label is ready.\u003C\u002Fp>\n\u003Ch2>When image processing can help\u003C\u002Fh2>\n\u003Cp>\u003Cimg src=\"\u002Fblog\u002Fdistorted-qr-code-img-2.jpg\" alt=\"A screen used to compare QR image quality — AI-generated illustration, not a recovery demonstration\">\u003C\u002Fp>\n\u003Cp>For a valuable image with no available replacement, a developer can compare detection approaches. \u003Ca href=\"https:\u002F\u002Fdocs.opencv.org\u002F4.x\u002Fde\u002Fdc3\u002Fclasscv_1_1QRCodeDetector.html\">OpenCV’s QRCodeDetector documentation\u003C\u002Fa> includes ordinary detection and decoding as well as \u003Ccode>detectAndDecodeCurved\u003C\u002Fcode> for curved surfaces. The API description tells you what the method attempts; it is not a recovery guarantee.\u003C\u002Fp>\n\u003Cp>Keep a copy of each input and record the decoded string, the method and whether it matches the expected content. A sharper-looking picture is not, by itself, evidence that the encoded data has been preserved. Do not manually paint missing cells or accept an AI-generated pattern simply because it resembles a QR code.\u003C\u002Fp>\n\u003Cp>If you know the exact intended URL or text and own the code, generating a fresh symbol is usually a more direct workflow than reconstructing missing artwork. If you do not know the payload, ask the owner for a replacement or an alternative way to reach the resource. An image cannot establish the original destination merely from its visual style.\u003C\u002Fp>\n\u003Ch2>What error correction does and does not mean\u003C\u002Fh2>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwww.qrcode.com\u002Fen\u002Fabout\u002Ferror_correction.html\">DENSO WAVE’s explanation of error correction\u003C\u002Fa> describes recovery of encoded data when a code is dirty or damaged. Higher correction levels add redundancy, which also affects the amount of data and symbol size.\u003C\u002Fp>\n\u003Cp>The percentages used to describe recovery refer to \u003Cstrong>codewords\u003C\u002Fstrong>, units in the encoded data area. They are not permission to cover the same percentage of the image with a logo. Damage to positioning patterns, missing margins and severe blur introduce different problems from errors in an otherwise located data grid.\u003C\u002Fp>\n\u003Cp>When designing a replacement, preserve the positioning patterns and keep the full margin clear. Treat logos and decorative styling as versions that need testing. Do not promise that a code will survive a particular amount of visual damage based only on its correction setting.\u003C\u002Fp>\n\u003Ch2>Replace the artwork and test the final output\u003C\u002Fh2>\n\u003Cp>If you control the destination, use this release checklist:\u003C\u002Fp>\n\u003Col>\n\u003Cli>\u003Cstrong>Confirm the payload.\u003C\u002Fstrong> Copy the intended URL or text from the source of truth, including the correct domain and path.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Export a clean symbol.\u003C\u002Fstrong> Keep square proportions, enough detail for the intended use and the complete quiet zone.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Place it in the real layout.\u003C\u002Fstrong> Test the document, package or sign at its final size, not only the standalone image.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Scan representative copies.\u003C\u002Fstrong> Include the intended lighting, surface and distance, with more than one relevant device.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Check the result.\u003C\u002Fstrong> Compare the decoded URL and open the expected page; repeat after any resizing or print change.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>For a dynamic code, distinguish the printed symbol’s redirect URL from its current destination. Changing a destination cannot repair unreadable printed cells. Conversely, if the symbol decodes but the destination is wrong, inspect the redirect configuration before replacing the artwork.\u003C\u002Fp>\n\u003Caside class=\"cta-box not-prose\">\n  \u003Cspan class=\"cta-icon\" aria-hidden=\"true\">→\u003C\u002Fspan>\n  \u003Cdiv class=\"cta-text\">\n    \u003Cp class=\"cta-eyebrow\">Create a replacement\u003C\u002Fp>\n    \u003Ch4 class=\"cta-title\">Build a fresh QR code for your destination\u003C\u002Fh4>\n    \u003Cp class=\"cta-body\">Create your code in Scanely, then test the exported artwork in its final layout before printing.\u003C\u002Fp>\n  \u003C\u002Fdiv>\n  \u003Ca href=\"\u002Fregister\" class=\"cta-button\">Create a QR code →\u003C\u002Fa>\n\u003C\u002Faside>\n\u003Ch2>Distorted QR code FAQ\u003C\u002Fh2>\n\u003Ch3>Can a stretched QR code be fixed?\u003C\u002Fh3>\n\u003Cp>If you have the original square artwork, place it again and resize with proportions locked. For a photographed flat code, another capture facing the surface more directly may help. Test the decoded content after any change.\u003C\u002Fp>\n\u003Ch3>Can AI restore every unreadable QR code?\u003C\u002Fh3>\n\u003Cp>No. A visually sharper or reconstructed pattern does not prove that the original payload is intact. Prefer the original export or an owner-supplied replacement and verify the decoded string.\u003C\u002Fp>\n\u003Ch3>How much white space should surround a standard QR Code?\u003C\u002Fh3>\n\u003Cp>DENSO WAVE specifies a quiet zone at least four modules wide on every side. A module is one grid cell. Keep captions, borders and other artwork outside that area.\u003C\u002Fp>\n\u003Ch3>Can a code on a bottle be read?\u003C\u002Fh3>\n\u003Cp>It depends on the actual code, curvature and capture conditions. Test the final label on the bottle. OpenCV provides a curved-surface decoding method for developers, but that does not establish success for every label or consumer scanner.\u003C\u002Fp>\n\u003Ch3>Does error correction mean a logo can cover part of the code?\u003C\u002Fh3>\n\u003Cp>A correction percentage describes encoded codewords, not a safe percentage of image area to cover. Preserve function patterns and the clear margin, then test each decorative version in its final use.\u003C\u002Fp>\n\u003Ch3>Why does a scanned code open a broken page?\u003C\u002Fh3>\n\u003Cp>If the scanner returns a URL, image decoding has succeeded. Check the destination, redirect and relevant account settings. Replacing a readable image will not by itself fix an unavailable web page.\u003C\u002Fp>\n\u003Ch2>Sources\u003C\u002Fh2>\n\u003Cp>Technical documentation checked September 12, 2026:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.qrcode.com\u002Fen\u002Fhowto\u002Fcode.html\">DENSO WAVE — QR Code area and quiet zone\u003C\u002Fa>.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.qrcode.com\u002Fen\u002Fabout\u002Ferror_correction.html\">DENSO WAVE — error correction and codewords\u003C\u002Fa>.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fdocs.opencv.org\u002F4.x\u002Fde\u002Fdc3\u002Fclasscv_1_1QRCodeDetector.html\">OpenCV — QRCodeDetector methods\u003C\u002Fa>.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>The photographs in this article are AI-generated illustrations. They are not scannable test fixtures or before-and-after evidence of recovery.\u003C\u002Fp>\n",[23,26,29,32,35,38],{"q":24,"a":25},"Can a stretched QR code be fixed?","If you have the original square artwork, place it again and resize with proportions locked. For a photographed flat code, another capture facing the surface more directly may help. Test the decoded content after any change.",{"q":27,"a":28},"Can AI restore every unreadable QR code?","No. A visually sharper or reconstructed pattern does not prove that the original payload is intact. Prefer the original export or an owner-supplied replacement and verify the decoded string.",{"q":30,"a":31},"How much white space should surround a standard QR Code?","DENSO WAVE specifies a quiet zone at least four modules wide on every side. A module is one grid cell. Keep captions, borders and other artwork outside that area.",{"q":33,"a":34},"Can a code on a bottle be read?","It depends on the actual code, curvature and capture conditions. Test the final label on the bottle. OpenCV provides a curved-surface decoding method for developers, but that does not establish success for every label or consumer scanner.",{"q":36,"a":37},"Does error correction mean a logo can cover part of the code?","A correction percentage describes encoded codewords, not a safe percentage of image area to cover. Preserve function patterns and the clear margin, then test each decorative version in its final use.",{"q":39,"a":40},"Why does a scanned code open a broken page?","If the scanner returns a URL, image decoding has succeeded. Check the destination, redirect and relevant account settings. Replacing a readable image will not by itself fix an unavailable web page.",[],1789245984376]