SCANNING · QR-CODE-READER ▕▎▏▕ REF-BA6C86

QR Code Reader

Upload a QR code image and decode its content in your browser.

scan-safe SVG · PNG no upload
▢ ABOUT

When Your Phone Won't Scan It — Use a Browser Instead

A QR code appears in a screenshot, a PDF, a scanned document, or an email attachment. Your phone camera cannot focus on a screen, and asking a colleague to point their phone at your monitor feels awkward. The correct tool is a browser-based QR decoder: upload the image file, get the decoded text immediately, without routing the image through any server.

The other primary use case is verification before distribution. You generated a QR code — or received one from a vendor for your event, product, or campaign — and need to confirm what it actually encodes before printing 10,000 copies. A QR code is opaque to the eye; the decoder makes the contents explicit.

Why QR Decoding Sometimes Fails — and What to Try

A browser-based decoder faces different constraints than a dedicated phone camera with hardware autofocus, optical image stabilization, and a purpose-built QR detection chip. Understanding the failure modes helps you prepare the image appropriately before uploading.

Low contrast is the most common cause of decode failure. The decoder distinguishes dark modules from light modules by analyzing pixel luminance. If the foreground and background colors are similar (dark gray on medium gray, light blue on white), the luminance difference may fall below the detection threshold. Remedy: increase contrast in any image editor — auto-contrast is usually sufficient — then re-upload.

Perspective distortion from photographing a QR at an angle creates a trapezoidal shape rather than a square. Decoders apply perspective correction up to a point; extreme angles (more than ~30° from perpendicular) exceed the correction capability. Remedy: crop and use an image editor's perspective correction tool to make the code square before uploading, or re-photograph straight-on.

Low resolution means individual modules cannot be resolved as distinct pixels. A QR code photographed from a distance, or a low-DPI scan, may have module boundaries that blend together. Remedy: if the original file exists, export at higher resolution; if only the photograph is available, try upscaling with a super-resolution filter before uploading.

Damaged or obscured modules: QR codes with error correction can survive partial damage, but only up to the capacity of the correction level (7–30% module loss). A heavily damaged code — physically cut, heavily water-stained, or covered by a large obstruction — may exceed that capacity. If you control the source, regenerate at error correction level H and reprint.

Partial crop: all three finder patterns (the square-in-square symbols in three corners) must be visible. Cropping off even one corner makes the code unscannable. Remedy: crop to include a margin of at least 4 modules (the quiet zone) on all sides.

Extracting QR Content from PDFs

To read a QR embedded in a PDF without a phone: open the PDF, take a screenshot of the page containing the QR, save as PNG, and upload here. For scanned PDFs at low resolution, the QR may be too blurry to decode at the original resolution — if your PDF viewer supports it, export the page as a PNG at 300 DPI or higher before cropping.

How to Use This Tool

  1. Drag an image file (PNG, JPG, WebP) into the upload area, or click to browse your files.
  2. The decoder finds and decodes any QR code in the image automatically.
  3. The decoded text appears; copy it with the copy button.
  4. If decoding fails, the tool shows the specific failure reason — use the guidance above to fix the image and re-upload.

All processing runs locally in your browser using jsQR. Your image file is never uploaded to any server.

FAQ

01 Why does my image fail to decode even though my phone reads it fine? +

Phone cameras apply hardware-accelerated perspective correction, real-time contrast enhancement, and multi-frame averaging that a browser decoder does not have access to. For photos that your phone reads but this tool cannot: try increasing contrast in an image editor, cropping closer to the QR (include the quiet zone but remove surrounding clutter), and ensure the image is at least 200×200 pixels for the QR portion.

02 Can this tool decode multiple QR codes in a single image? +

The underlying jsQR library detects the first QR code found in the image. If your image contains multiple QR codes, crop each one individually into a separate image and decode them one at a time.

03 Is my image uploaded to a server or stored anywhere? +

No. The image is read directly by JavaScript running in your browser tab using the FileReader API. The image data never leaves your device, and nothing is stored after you close the tab.

04 Can I decode a QR from a screenshot with text and graphics around it? +

Yes — jsQR searches the entire image for finder patterns and will locate a QR surrounded by other content. Decoding works best when the QR occupies a significant portion of the image. If it's very small relative to the overall image, crop closer to the QR before uploading.