Find a tool

↑↓ navigate Enter open

Use a task word when you do not know the exact name.

QR Code Scanner from Image

Local only

Read a QR code saved in an image or screenshot without a second phone or camera permission. Choose a PNG, JPEG, WebP or AVIF file up to 50 MB, then select Scan QR code. KitLumi decodes locally and shows the payload as text; it does not automatically open decoded links.

Reviewed · Updated · Free to use · No account required

QR Scan Workspace
Image preview
The selected image stays in this browser tab.

How should you check the result?

The scanner processes a local image, not a live camera feed, and returns one decoded payload per scan. Crop multiple codes to one while keeping a blank border. Decoding does not automatically navigate to the destination.

Image scanning avoids camera permission

Use this page when the QR code already exists in a screenshot or file. A live camera scanner is faster for printed codes but requires camera permission and a separate privacy decision.

How do you use it?

  1. Choose a local image that contains one clear QR code.
  2. Select Scan QR code; the page checks normal and inverted pixels without requesting camera access.
  3. Read and copy the exact payload before deciding whether to open a decoded URL.

Worked example

Read a URL from a QR image

Input

PNG image containing a QR code for https://kitlumi.com/

Output

https://kitlumi.com/

The output is the encoded payload exactly as decoded; scanning does not visit the URL.

Common errors and fixes

SymptomLikely causeFix
No QR code was found.The image is blurred, too small, cropped through the quiet zone, low contrast, or heavily distorted.Use a sharper image with the full code and clear light margin visible.
The result is a suspicious or unexpected link.A QR code can encode any text and does not authenticate its creator.Inspect the complete hostname and scheme; do not open or sign in through an untrusted destination.

Which of these 12 QR test images decode?

Checked on 2026-10-15 with jsQR 1.4.0, using inversionAttempts: attemptBoth, the same setting as the scanner. 7 fixtures returned their exact payload and 5 returned no code in the direct-pixel test.

All 12 images were also selected through the actual scanner’s file picker and decoded in Chrome on a desktop. The browser results matched the direct-pixel results for every fixture.

The URL fixtures encode https://kitlumi.com/. The plain-text image encodes KitLumi local QR sample. The two-code image contains that URL and KitLumi sample B. These controlled PNG fixtures are examples, not a success-rate benchmark for real photos or every phone.

The tiny and margin-free fixtures happened to decode. That is not a recommendation to remove margins or use tiny images. Low contrast, heavy blur, finder-pattern cropping, multiple codes, and the blank control failed in this set. Use a separate, clear image for each code.

Image conditionSizeObserved resultTry the image
Clear URL, 8 pixels per module264 × 264 pxDecoded exact payloadDownload PNG
Small URL, 2 pixels per module66 × 66 pxDecoded exact payloadDownload PNG
Tiny URL, 1 pixel per module33 × 33 pxDecoded exact payloadDownload PNG
White modules on black264 × 264 pxDecoded exact payloadDownload PNG
Gray modules 90 on gray background 160264 × 264 pxNo QR code foundDownload PNG
Box blur, radius 1 pixel264 × 264 pxDecoded exact payloadDownload PNG
Box blur, radius 6 pixels264 × 264 pxNo QR code foundDownload PNG
Left quarter removed, including finder detail198 × 264 pxNo QR code foundDownload PNG
No quiet-zone margin200 × 200 pxDecoded exact payloadDownload PNG
Two separate QR codes in one image560 × 264 pxNo QR code foundDownload PNG
Plain-text payload264 × 264 pxDecoded exact payloadDownload PNG
Blank image, no QR code264 × 264 pxNo QR code foundDownload PNG

Important behavior of QR Scanner

Treat decoded links as untrusted until you inspect their destination.

Standards and implementation references

Frequently asked questions about QR Scanner

How do I scan a QR screenshot on the same phone?

Save the screenshot, open this page in your phone browser, choose the image, and select Scan QR code. No second device or live camera is required.

Why does a cropped or blurry QR image fail?

Cropping can remove finder patterns or the surrounding quiet zone, and blur can erase module edges. Try the original image, include the complete code and margin, and crop multiple codes into separate images.

Can the scanner read inverted QR codes or several codes at once?

It attempts normal and inverted pixels. It returns at most one result per scan, and an image containing several codes may return no result. The downloadable inverted and two-code fixtures show outcomes for specific samples.

Are my screenshot and the decoded URL uploaded or opened?

The selected image is decoded in the browser with jsQR. The payload is displayed as text rather than opened automatically. Normal page assets and page-level analytics still follow the privacy policy; tool input is not included in those analytics events.

What changed?

Published 12 reproducible image fixtures with exact decode outcomes, including low contrast, blur, cropping, inverted pixels, two codes, and a blank image. October 15, 2026: added result checks and specific capability boundaries.

Who maintains this tool?

KL
KitLumi EngineeringKitLumi Engineering maintains tool behavior, privacy disclosures, examples, and automated tests.

How to scan a QR code from an image or screenshot →