QR Code Scanner
Drop, paste or choose an image — or use your camera — to read any QR code in it, see what it contains, and copy the text or link safely.
- Free
- No account
- Runs in your browser
- Nothing uploaded
Runs entirely in your browser — your input is never uploaded, logged, or stored.Privacy policy
What is QR Code Scanner?
This QR code scanner reads QR codes from an image file, a pasted screenshot or your device's camera, and shows exactly what each code contains before you act on it. It is for anyone who has a QR code on a screen rather than on paper — in a screenshot, an email, a PDF you captured, a photo — and for anyone who wants to check where a code leads before opening it.
Decoding is done by jsQR, an open-source JavaScript QR reader, running in your browser. A single attempt often fails on real images, so the scanner works through a fixed plan, cheapest first: an 800-pixel version of large images, which also smooths out photo grain; the image at up to 1,600 pixels on its long side; a full-detail pass (up to 6 megapixels) for bigger images, so a small code in a big screenshot keeps its pixels; a 2× enlargement of tiny images; a contrast-boosted pass for faded or grey-on-grey codes; and finally a sweep of overlapping tiles. The scan runs in a background worker, so the page stays responsive, and it has a budget of about 4 seconds: a step that would overrun it is skipped, so an image with no code gives up within a few seconds and tells you which steps it tried. You can cancel a scan at any time. Every pass looks for both normal and inverted (light-on-dark) codes, and rotated codes are handled by the decoder itself. With "Find several codes in one image" ticked, each code found is blanked out and the image searched again, so up to four separate codes are reported, each outlined on a preview.
The decoded text is then classified. Website links show the domain first and the full address below it, with warnings when the link hides its real destination — an "@" before the domain, a link shortener, a bare IP address, an international (xn--) domain that may imitate a real one, or plain http. Links are never opened automatically; you choose "Open link". Wi-Fi codes (WIFI:…) are split into network name, security type and password; contact cards (vCard and MECARD), email, phone, SMS, map locations, calendar events and two-factor (otpauth) setup keys are broken into labelled fields, each with its own Copy button. Links for other apps, such as payment or app-store links, are shown as text only.
Use the camera button on a phone or laptop to scan a code in front of you. The camera starts only when you press it, prefers the rear camera, checks a frame about every 200 milliseconds, and switches off as soon as a code is read, when you press Stop camera, or when you leave the page. The browser asks for permission first, and camera access needs a secure (https) page.
Nothing is uploaded. The image is decoded on a canvas in your browser and the camera video never leaves your device; you can check in your browser's developer tools (Network tab) that no request carries your image. That matters because QR codes often hold Wi-Fi passwords, contact details and login links.
1. The file's first bytes are checked to confirm it is a PNG, JPG, WebP, GIF, BMP, AVIF, HEIC or SVG image, and its size against the 50 MB limit, before it is read. 2. The browser decodes the image (HEIC through a bundled decoder) and draws it on a white background, so a code on a transparent PNG is not lost against black. Images larger than 4,096 px or 16 megapixels are scaled down to fit. 3. Decode passes run in order until one succeeds: fitted to 800 px (if over 1,000 px); fitted to 1,600 px; full detail capped at 6 MP (if over 1,600 px); enlarged 2× (if under 400 px); a contrast-stretched pass; then overlapping tiles (9 half-size and 25 third-size windows of the image fitted to 1,200 px). Each pass tries normal and inverted colours. The scan runs in a Web Worker within a budget of about 4 seconds and 40 megapixels of decoding; the speed of the first decode is used to skip any later step predicted to overrun, and the result says when the scan stopped early. 4. With "Find several codes" on, each found code is painted over and the search repeats, up to 4 codes. 5. Text that is not valid UTF-8 is read as ISO-8859-1, the QR default character set. 6. The text is classified (link, Wi-Fi, contact, email, phone, SMS, location, event, 2FA key, app link or plain text) and split into fields; link warnings are added for hidden or suspicious destinations.
Worked examples
- A 2,400 × 1,600 screenshot with a small Wi-Fi QR code in one corner → Wi-Fi network: network name "Office Guest", security WPA, password "s3cret;pass" (the escaped semicolon is unescaped).
- A code for https://[email protected]/login → Website link with the warning that everything before the "@" is ignored and the link really goes to evil.example.
- A white-on-black (inverted) QR code → decoded normally; every pass also tries inverted colours.
- One image holding three QR codes, with "Find several codes in one image" ticked → all three are listed and outlined; unticked, only the first is reported.
- A photo with no QR code in it → "No QR code found", with tips on what to try.
How to use QR Code Scanner
- Click "Choose an image with a QR code", drop an image onto the box, or paste a screenshot with Ctrl+V (Cmd+V on a Mac). Scanning starts straight away.
- Or click "Scan with camera", allow camera access, and point the camera at the code. It stops by itself when the code is read.
- Read the result: for links, check the domain shown in the warning box before clicking "Open link".
- Use the Copy buttons to copy the whole text or a single field, such as a Wi-Fi password or a phone number.
Common errors
- "No QR code found" — the code is cut off, too blurred, covered by glare, or very small in a large image. Include the whole code with some plain border around it, or crop closer to it.
- "…is actually a PDF file, not PNG, JPG, WebP, GIF, BMP, AVIF, HEIC or SVG" — the file is not an image. For a QR code inside a PDF, take a screenshot of the page and scan that.
- "Camera access was blocked" — the browser's camera permission was refused. Allow the camera for this site in your browser settings, or upload a photo of the code instead.
- "No camera was found on this device" — the computer has no camera, or it is disabled. Upload a screenshot or photo of the code instead.
- A line barcode (like the one on a product) is not read — this scanner reads QR codes only, not EAN/UPC or Code 128 barcodes, Data Matrix or Aztec codes.
- Some characters look wrong — the code stores text in a legacy character set. Text that is not valid UTF-8 is shown as ISO-8859-1 and labelled "read as Latin-1".
FAQ
How do I scan a QR code from an image or screenshot?
Drop the image onto this page, choose it with the button, or paste a screenshot with Ctrl+V. The code is decoded in your browser, usually within a second, and its contents are shown with Copy buttons.
How can I read a QR code on my own screen without a second phone?
Copy a screenshot to the clipboard (on Windows press Win+Shift+S; on a Mac press Cmd+Ctrl+Shift+4), then paste it here with Ctrl+V or Cmd+V. The scanner finds the code even when it is a small part of the screenshot.
Is it safe to open the link in a QR code?
Only after checking where it goes. Scammers stick fake QR codes over real ones and send them in unexpected emails and texts to lead people to fake login pages. This scanner never opens a link by itself: it shows the domain and warns about hidden destinations, and you decide whether to click "Open link".
Can I scan a QR code with my laptop or phone camera here?
Yes. Click "Scan with camera" and allow access; the rear camera is used on phones when available. The video is processed on your device, never uploaded, and the camera switches off as soon as a code is read.
How do I see the Wi-Fi password in a QR code?
Scan the Wi-Fi QR code here: it is decoded into the network name, security type and password, each with its own Copy button. Wi-Fi QR codes store the password as plain text, which is why you should only share them with people you trust.
Can it read several QR codes in one image?
Yes, with "Find several codes in one image" ticked (the default), up to four separate codes are found, numbered and outlined on the preview. Codes that overlap or touch may not all be found; crop them apart if one is missing.
Are my images uploaded to a server?
No. The image is decoded and scanned entirely in your browser, and camera frames are processed on your device. You can confirm in your browser's developer tools, under Network, that no request carries your image.
Why does it say no QR code was found?
The code may be cut off, blurred, low-resolution, covered by glare or reflections, or not a QR code at all. Retake the photo straight on with the whole code in frame, or crop a large screenshot closer to the code.
Related tools
- QR Code GeneratorGenerate QR codes from any text or URL with customizable size and error correction level.
- HEIC to JPG ConverterDrop iPhone HEIC photos, choose JPG or PNG, and download converted images — decoded on your own device, never uploaded, no watermark.
- Image to Text ConverterDrop, pick or paste an image or screenshot, click Extract text, then copy the recognised English text or download it as a .txt file.
- Barcode GeneratorType a number or text, pick EAN-13, UPC-A, EAN-8, Code 128, Code 39 or ITF-14, and download a sharp PNG or SVG barcode — check digit included.
Prefer AllUtil on Google
One click adds AllUtil to your Google preferences. You'll see our tools highlighted with a Preferred badge in Search and AI answers.