QR Code Scanner
Read a QR code with your camera or from a PNG, JPEG or WebP image in the browser, then copy the text or open http(s) links. Nothing is uploaded.
Your inputs and files stay in your browser
Drag & drop an image with a QR code here
PNG · JPEG · WebP
Point the camera at a QR code — it is read automatically. Frames are processed on this device.
Loading...
On this page
Read a QR code with your device camera or from a screenshot or photo: the decoded text appears ready to copy, and links get an Open Link button. Everything is decoded locally in your browser.
Detailed Functionality
PNG, JPEG and WebP images are supported; GIF and other formats get an error message. Decoding uses rxing, a Rust port of ZXing compiled to WebAssembly, inside a Web Worker, so even a photo of about 3800 px does not freeze the page, and choosing another file cancels the previous scan.
Scan with camera opens the rear camera with a framing guide; when the device has several cameras, a Camera list lets you switch. Frames are downscaled to at most 1024 px and decoded in the same Web Worker, and a new frame is taken only after the previous one is finished, so the page stays smooth. Scanning stops at the first code found (Scan again restarts it), and the camera is switched off on Stop camera, when the tab is hidden or when you upload a file. The camera needs HTTPS (or localhost) and your permission; frames are processed on the device and never sent anywhere.
The full payload is shown as text: URLs, plain text, Wi-Fi strings, contact cards, Unicode and emoji. Only http and https links get Open Link; other schemes such as javascript: are never turned into links. If no code is found, try a sharper image in which the whole code and its white border are visible.
Practical Examples
Link from a screenshot: a PNG made with QR Code Generator for https://example.com/path?q=1 shows that URL and an Open Link button.
Camera: click Scan with camera, allow access and hold a printed code inside the frame — the text appears in under a second and the camera turns off.
Large photo: a 3848×3848 px JPEG decodes in about 1–1.5 seconds on a desktop while the page stays responsive.
No code in the picture: you get “No QR code found in the image. Please try another image.”
How to Use This Tool
Choose an image or start the camera
Click Choose file or drop a PNG, JPEG or WebP image onto the zone — or click Scan with camera and allow camera access.
Read the result
An image is decoded automatically; with the camera, point it at the code until it is recognized. The text appears under Scanned Content.
Use the content
Click Copy, or Open Link for an http(s) address. Use Scan again to read the next code with the camera.
Tips and Best Practices
- Crop loosely: keep the whole code and some white margin around it in the picture or camera frame.
- Avoid glare and motion blur on photos of screens or printed codes; hold the phone steady for a moment.
- If the camera is blocked, allow it in the browser's site settings; on a page without HTTPS the camera is unavailable, so upload an image instead.
- Inverted (light on dark) or very low-contrast codes may not be found.
- Check the shown address before clicking Open Link — QR codes are a common way to hide phishing links.