QR Code Blurred? Causes and How to Fix It
A QR code that scans as a soft, fuzzy blob usually isn't a phone problem. Most of the time a QR code blurred like this has one root cause baked into the file itself, and the rest come from how it got printed, screenshotted, or exported. Below are the causes we see most often, roughly in order of frequency, with the fix for each.
Pick your QR image and say how wide it will be printed. The file is read in your browser and never uploaded.
At that size your file prints at 254 DPI, giving each module about 7.3 pixels.
For a clean 300 DPI print at this size, export at 355 px or wider. A 203 DPI thermal label needs 240 px.
An SVG skips all of this: it stays sharp at any size.
1. Low-resolution source image
A QR code is a grid of square modules, and every module has to render as a sharp, distinct block for a scanner to read it. If the source file is a raster image saved at something like 150x150 pixels for a 25-module (Version 2) code, each module works out to about 6 pixels wide. Cameras and print processes both soften edges, so anything under roughly 10 pixels per module starts to blur at the boundaries. Export the code at a higher pixel count from the start rather than trying to sharpen it after the fact.
2. Over-compression breaks the module grid
Saving a QR code as a JPEG at a low quality setting introduces compression artifacts that blur the hard edges between black and white modules. JPEG is built for photos with gradients, not high-contrast binary grids, so it smudges pixel boundaries to save file size. Use PNG instead, which is lossless and keeps every module edge crisp regardless of how many times the file is resaved.
3. Print DPI too low
A code that looks perfectly sharp on screen can turn to mush on paper if the print resolution doesn't match the module size. Standard inkjet and laser output needs at least 300 DPI for a code printed at 1 inch square; drop to 150 DPI and the printer is trying to represent fine modules with visibly larger dots, which reads as blur. Thermal label printers (common on shipping labels and receipts) often run at 203 DPI, so codes meant for those need a larger physical size to compensate, not a higher-res image.
4. Scaling a small raster image up
Taking a 200x200 pixel PNG and stretching it to fill a poster or banner is the single most common cause of visibly blurred QR codes in print. Raster images have a fixed pixel count, so scaling up just makes each existing pixel bigger and softer instead of adding real detail. A vector file (SVG or EPS) has no fixed resolution and stays perfectly sharp at any size, from a business card to a billboard.
5. Motion blur during the scan, not the code itself
Sometimes the file is fine and the blur is happening in the camera at scan time. If the phone or the printed material is moving even slightly while the camera is exposing the shot in low light, the captured image smears. This shows up as inconsistent scan failures where the same code works fine in bright light but fails under dim lighting or when held at an angle instead of flat and steady.
6. Out-of-focus camera lens
Most phone cameras need a few inches of distance to autofocus on a small printed code; get too close and the lens can't lock focus, producing a soft image no matter how sharp the printed code is. This is a scanning-side issue rather than a file or print problem, and it's worth ruling out before reprinting anything: back the phone away a few inches and let the camera focus before triggering the scan.
7. Screenshotting and re-screenshotting the code
Every time a QR code image is screenshotted, cropped, pasted into a document, and screenshotted again, it loses a little sharpness, especially if any step involves a JPEG save or a resize. After two or three generations of this, edges that were originally crisp black-and-white squares turn into gray, feathered boundaries. Always go back to the original generated file rather than a screenshot of a screenshot.
8. PDF export flattening at low resolution
Design tools and word processors often flatten embedded images when exporting to PDF, and the default export preset (commonly "web" or "screen" quality) can downsample images to around 72 DPI regardless of the original resolution. A QR code that was sharp in the source document comes out visibly blurred in the printed PDF. Check the export settings for a "print" or "high quality" preset, or embed the code as a vector object so flattening can't degrade it.
9. Wrong file format for the intended use
Using a JPEG thumbnail meant for a website on a large-format print, or embedding a low-res PNG into a vector design file, mismatches the format to the job. Screens and small digital placements can tolerate a PNG in the 300-500 pixel range; anything going to print, especially at variable or large sizes, should start as SVG so the module edges stay mathematically sharp instead of pixel-based.
10. Fix: regenerate the code as a vector
If a code is already blurred, don't try to sharpen the existing image; regenerate it from the original data (URL, text, or contact info) as an SVG. That resets every module to a clean vector square with no compression history and no accumulated resizing loss, and it exports cleanly to PNG at whatever resolution the final use case needs.
Blurred barcodes fail differently
A 1D barcode blurs for the same reasons, but it breaks sooner. A QR code has error correction that can rebuild damaged modules; a barcode has none, so a scanner reads the bar widths directly. Once ink spread or a soft print widens the bars by more than a fraction of the narrowest bar, the reader either refuses the code or returns the wrong number. Print barcodes from vector files, keep the narrow bar at 0.33 mm or wider, and never stretch one horizontally to fill a space, because that changes the ratio the scanner measures. Regenerate rather than rescale with our barcode generator.
Can you fix a blurry QR code image?
Not by sharpening it. The blur destroyed the module edges, and no filter can invent them back; sharpening only adds halos that make scanning worse. The fix is to rebuild the code from its data, which stays sharp at any size.
If the blurry code still scans at all, you already have what you need: read it with our QR code decoder to pull out the link or text, then generate a fresh code from that text and export it as SVG. If nothing will read it, you need the original data from whoever made it.
Common questions
Why does my QR code look blurry only when printed?
Because screens and printers work at different resolutions. A 300 pixel image looks fine on a phone and prints at 100 DPI on a 3 inch label, where each module is smeared across too few printer dots. Check the file against the print size with the tool above.
What resolution should a QR code be?
Aim for at least 10 pixels per module, and at least 300 DPI at the printed size. For an ordinary link printed 3 cm wide, that means roughly 400 pixels or more. Vector files sidestep the question completely.
Does a blurry QR code still scan?
Often yes, up to a point. Error correction and a good camera cope with soft edges until the modules start bleeding into each other, then it fails suddenly rather than gradually. Codes that only scan sometimes are usually sitting right on that line.
Should I use PNG or SVG for a QR code?
SVG for anything printed, because it has no fixed resolution. PNG is fine for screens and for print when you export it at the right pixel size. Avoid JPEG entirely: it blurs the hard edges between modules to save space.
Standards and references
ISO/IEC 18004 is the base specification for QR code symbols: it defines the module grid, the four-module-wide quiet zone required around every code, and the 40 available symbol versions from 21x21 to 177x177 modules. ISO/IEC 15415 is the companion print-quality standard for 2D symbols; it grades printed codes on parameters including symbol contrast, modulation, and axial and grid nonuniformity, all of which degrade when a code is printed at low DPI, over-compressed, or scaled from a low-resolution raster source. A code can be structurally valid under 18004 and still fail a scan because it grades poorly under 15415, which is exactly what a blurred print or screenshot produces.
Related: regenerate it as a vector barcode or QR code · code not scanning at all, not just blurry · QR code error correction levels · why logo QR codes fail to scan · all QR code tools
If the code looks sharp and still will not work, the message you are seeing matters. See "No valid QR code detected" for WhatsApp Web, or "Poor network connection, please refresh the QR code" for app logins that fail after a successful scan.
