# QR Code Scanner

> Scan QR & barcodes from photos or live camera

**Canonical:** https://trydocsy.com/image/qr-scanner
**Last updated:** 2026-09-17
**Privacy:** Runs in your browser; the file is never uploaded.

---

This scanner reads codes two ways: upload a photo that contains one, or point your device's camera at one live. Both paths decode through the browser's own BarcodeDetector API, which recognizes eight formats — QR codes, EAN-13, EAN-8, Code 128, Code 39, Data Matrix, PDF417, and Aztec. Every decoded value is added to a results list with a one-tap copy button, and if the text turns out to be a valid URL, an extra button appears to open it directly in a new tab.

BarcodeDetector is a Chromium-only browser API — Chrome, Edge, and similar browsers support it, but Firefox and Safari don't. The page checks for support as soon as it loads: if it's missing, a warning banner appears and the upload path shows an on-screen message asking you to switch browsers instead of silently failing. Live camera scanning additionally needs a camera permission grant and, naturally, a device with a camera to point.

## How it works

1. **Choose Upload Photo or Live Camera** — The two modes sit as tabs at the top of the tool and switch instantly.
2. **Upload mode: pick an image** — Click the dashed box to browse any photo containing a code. There's no minimum or maximum file size enforced here — any image your browser can decode is accepted.
3. **Camera mode: start scanning** — Press Start Camera, allow the permission prompt, and hold the code inside the frame. The tool rescans automatically about twice a second.
4. **Copy or open a result** — Every decoded value gets a copy button; an extra open-in-new-tab button appears only when that value is a valid URL.

## When you'd use it

- **Reading a code from a photo you already took** — Scan a QR code printed on a poster, menu, or piece of packaging by uploading a photo of it rather than needing to revisit it in person.
- **Reading a product barcode without a dedicated scanner app** — Point your camera at an EAN-13 or Code 128 barcode on a product to pull its number.
- **Decoding a code shown on someone else's screen in a call** — Use your laptop's camera to scan a QR code someone is holding up on a video call rather than photographing your own screen.
- **Pulling the raw text out of a WiFi or contact QR code** — Scan a printed WiFi or vCard QR code to read its underlying text quickly, without needing a phone's built-in scanner.

## What it can decode, and why some browsers can't run it

The eight supported formats cover QR codes plus the common retail and logistics barcode families: EAN-13, EAN-8, Code 128, Code 39, Data Matrix, PDF417, and Aztec. All eight rely on the browser's own BarcodeDetector implementation rather than any library bundled with the page, which is why support is inconsistent — it currently works in Chromium-based browsers and doesn't exist at all in Firefox or Safari, where the tool detects that and tells you outright instead of just failing quietly.

## Upload versus live camera

Upload mode is a single-shot scan of a still image, and unlike most other tools on this site, it has no file-size cap coded in at all — it bypasses the site's usual uploader component entirely. Camera mode instead pulls a frame from the video feed roughly every 500 milliseconds and checks each one, but it won't add the same value to your results twice within a 3-second window, so holding a code steady in front of the camera doesn't flood the list with repeats.

## Scanning a UPI payment code

This scanner always shows you the raw text a code contains, nothing more. If that text starts with upi://pay, it's a UPI payment code, and /image/upi-qr-scanner is the tool built specifically for those — it breaks the same code into readable fields (who gets paid, how much is locked into it, and whether anything about it looks like a scam) and can rebuild the code with a different amount or none at all, which this scanner doesn't attempt.

## Frequently asked questions

**Q: Which code formats can this scanner read?**
A: QR codes, EAN-13, EAN-8, Code 128, Code 39, Data Matrix, PDF417, and Aztec — all through the browser's built-in BarcodeDetector API.

**Q: Why does it say my browser isn't supported?**
A: BarcodeDetector is only implemented in Chromium-based browsers like Chrome and Edge. Firefox and Safari don't have it, and the tool shows a banner and blocks uploads with a message rather than failing silently.

**Q: Is there a file size limit on the photo I upload?**
A: No. Unlike most tools on this site, upload mode here doesn't run through the usual size-checked uploader, so there's no cap enforced in the code.

**Q: Does the camera feed get recorded or sent anywhere?**
A: No. Decoding happens locally through the browser's BarcodeDetector API; no image or camera frame is ever uploaded or stored.

**Q: I scanned a UPI QR code — why do I just see raw text?**
A: This scanner only shows a code's raw contents. For a UPI code specifically (text starting with upi://pay), use /image/upi-qr-scanner to see it broken into payee, amount, and safety-check fields.

**Q: Why doesn't the same code appear over and over while I hold it in front of the camera?**
A: Live scanning checks the video feed roughly twice a second, but it skips adding a value it already saw within the last 3 seconds, so a steady code doesn't spam the results list.

## Step-by-step guides using this tool

- [How to Check Whether a UPI QR Code Is Safe Before You Pay](https://trydocsy.com/blog/check-upi-qr-code-safe)

## Related tools

- [UPI QR Code Scanner](https://trydocsy.com/image/upi-qr-scanner)
- [QR Code Generator](https://trydocsy.com/image/qr-generator)
- [Image to Text (OCR)](https://trydocsy.com/image/ocr)
- [Color Picker](https://trydocsy.com/image/color-picker)

---

## About TryDocsy

TryDocsy is a free website of PDF, image and file-conversion tools that run entirely in your web browser, so your files are processed on your own device and never uploaded. It also includes photo and signature resizers preset to Indian government-exam specifications.

- Website: https://trydocsy.com
- Privacy Policy: https://trydocsy.com/privacy
- Terms of Service: https://trydocsy.com/terms
- Contact: https://trydocsy.com/contact
