Scan QR Code

QR & Barcode ToolsNew

Decode a QR code from an image file. Chromium browsers only.

Nothing Is UploadedRuns In This Browser TabNo Account Needed

How It Works

1

Upload / Input

Select your files or paste your content to get started.

2

Process

The work happens in this browser tab. Your file never leaves your device, so nothing is queued, stored or transmitted.

3

Download / Result

Get your results instantly. Download files or copy output in one click.

Features

Upload an image to scan a QR code — no camera capture
Every code in the image is decoded, not just the first
Copy decoded text to clipboard
One-click open for URL results
Supports JPG, PNG, and WEBP images
Needs a Chromium browser: uses the native BarcodeDetector API

How to use Scan QR Code

  1. Upload the image

    There is no camera view here — give it a picture of the code. A screenshot, a saved photo or a page exported to an image all work.

  2. Let it decode

    The code is read locally in your browser and the contents are displayed.

  3. Read the result before acting

    Check the full URL, especially the domain, before opening anything.

  4. Act on it

    Open the link, copy the text, or save the contact details.

When to use Scan QR Code

  • Scanning a QR code from a screenshot, which a phone camera cannot do
  • Reading a code on your screen without needing a second device
  • Checking where a code leads before opening it on your phone
  • Decoding a code from a saved image or a PDF

FAQ

Chromium ones: Chrome, Edge, Opera and Brave, on desktop and on Android. The tool has no polyfill bundled, so in Safari and Firefox it does not work at all — it detects the missing API and tells you to switch browsers rather than pretending to scan.
No. There is no live camera view here — the tool decodes an image file you upload. Take the photo or screenshot with your device first, then drop it in.
Yes. If the image contains multiple QR codes, all detected codes will be listed with their decoded contents.
No. All scanning happens locally in your browser. Your images are never sent anywhere.
Yes — upload the image and it is decoded directly. This is the main advantage over a phone camera, which can only read codes in the physical world.
Scanning is safe; the code is only text and cannot execute anything. The risk is where it sends you. Always read the full URL before opening, and be wary of codes stuck over existing ones in public.
No. Decoding runs in your browser, which matters because QR codes frequently contain Wi-Fi passwords, contact details or payment references.
First check the browser: in Safari or Firefox nothing will decode, because the BarcodeDetector API this relies on is not implemented there. Otherwise the image is usually too low-resolution, blurred, cropped so the quiet zone is missing, or photographed at a steep angle. Crop tightly around the code and try again.

Related Tools

About Scan QR Code

Phone cameras scan QR codes pointed at the physical world, but they cannot scan a code that is already on your screen — a code in an email, a screenshot, or a PDF. That is the gap this fills: upload the image and read the contents directly.

It is also a safety tool. QR codes are opaque by design; you cannot tell where one leads by looking at it. Decoding the code first and reading the full URL lets you check the destination before committing, which matters because malicious codes placed over legitimate ones in public places are a real and growing problem.

Decoding happens entirely in your browser. The image is not uploaded, which is relevant when the code contains Wi-Fi credentials, a contact card or a payment reference.

Tips and limits

  • Use Chrome, Edge, Opera or Brave. The decoder is the browser’s own BarcodeDetector and Safari and Firefox do not have it.
  • Be suspicious of a QR code stickered over another one in a public place.
  • A code in an email or PDF cannot be scanned by your phone camera — upload the image instead.
  • Crop to just the code if a busy image fails to decode.
  • Wi-Fi and contact codes contain real credentials; treat the decoded output accordingly.