- Camera scanning works best on HTTPS; if blocked, use Image Upload scanning.
- Use the result actions to copy, open links, share, or clear safely.
- If a QR decodes to a URL, verify the domain before opening—public QR codes can be tampered with.
- For blurry screenshots, try a higher-resolution image or zoom/crop so the QR fills more of the frame.
What is an online QR scanner (and when it’s useful)
An online QR scanner is a tool that reads a QR code directly in your browser. It’s useful when you don’t want to install an app, when you need to decode a QR from a screenshot, or when you’re working on desktop and want to scan using a webcam.
qrfreetool offers two scanning modes: Scan with Camera and Scan from Image. That second mode matters because many platforms share QR codes as images (receipts, invoices, event tickets, or chat screenshots).
Because the site is static, the scanning workflow is designed to be fast and straightforward: scan → see decoded content → take an action.
Mode A: Scan with Camera (mobile + desktop webcam)
Open Scan and stay on the “Scan with Camera” tab. Select the correct camera if your device has more than one (for example, laptop webcam vs external webcam, or phone front vs back camera).
Press Start. Your browser may show a permission prompt. Choose “Allow” so the scanner can access the camera feed.
Hold the QR code steady inside the scanning area. Good lighting and focus are the difference between instant scans and repeated attempts.
Why HTTPS matters for camera scanning
Most modern browsers require secure contexts (HTTPS) before they allow camera access. This is a privacy and security safeguard to prevent silent camera usage on insecure sites.
If you are testing locally, use localhost (browsers treat it as secure in many cases). If you are deployed on a live domain, enable HTTPS. If you cannot, use the Image Upload mode as a reliable fallback.
If permission is denied: what to do
If you clicked “Block,” the scanner can’t start until you change permissions. Use the lock/camera icon near the address bar to switch permission to “Allow,” then reload the page.
Close other apps that may be using the camera (video calls, other tabs, desktop apps). Some devices allow only one camera app at a time.
Mode B: Scan from Image Upload (PNG/JPG)
If your QR code is in a screenshot, document, or saved image, switch to the “Scan from Image” tab and upload the file.
This mode is great for desktop workflows: you can download a QR image from an email or website, upload it, and instantly decode it without picking up your phone.
If scanning fails, the most common reason is that the QR is too small or blurry. Try uploading a sharper version, or crop the image so the QR occupies more of the frame.
Tips for better image decoding
- Prefer PNG or high-quality JPG images.
- Avoid images that are heavily compressed by messaging apps.
- If the QR is tiny, zoom in before taking a screenshot.
- Ensure the entire QR including the quiet zone is visible (no cropping at the edges).
Understanding the result actions
After scanning, qrfreetool shows the decoded content in a result card. From here you can choose actions that match the content type.
Copy places the decoded text into your clipboard so you can paste it into a message, document, or browser address bar.
Open Link becomes available when the decoded content looks like a URL. This reduces accidental clicks on non-links.
Share uses the Web Share API on compatible browsers (mainly mobile). It lets you share the decoded text to messaging apps or notes.
Clear resets the result card so you can scan again.
Scanning safety: how to avoid risky QR codes
QR codes can hide links behind a simple black-and-white pattern. That convenience is also why attackers use QR codes for phishing. Treat a QR like a shortened URL: check before you trust.
If a QR decodes to a URL, read the domain carefully. Look for misspellings, odd subdomains, or unexpected country-code endings. If the link asks for passwords, banking details, or payment confirmation, pause and verify.
For businesses deploying QR codes in public, consider printing the destination domain next to the QR. This helps users validate the link and helps you detect tampering.
When to choose image upload over camera
Use Image Upload when camera access is blocked (HTTP), when the QR is on another screen, or when your camera struggles to focus. Upload mode can be more reliable for small codes captured in screenshots.
Troubleshooting checklist
- Nothing happens: confirm you clicked Start and granted permission.
- Camera is black: another app may be using it; close video-call apps.
- Scan keeps failing: improve lighting, hold steady, and ensure the QR fills more of the scan area.
- Link looks suspicious: don’t open; copy it and inspect the domain first.
- Scan a QR code (camera or image upload)
- Generate a QR code (colors, logo, PNG/SVG)
- Back to Blog (search all QR guides)
- QR Code Security Tips: Avoid Malicious Links & Scams
- How to Scan a QR Code on Android (All Methods That Work)
Key takeaways
- Use camera scanning on HTTPS; otherwise rely on Image Upload.
- Permission settings and competing camera apps are the most common blockers.
- Result actions make it easy to copy, open, share, or clear safely.
- Verify URLs before opening—QR codes can be tampered with in public.
- For best results, keep the QR large, sharp, and well-lit.
FAQ
Browsers typically allow camera access only in secure contexts (HTTPS) to protect user privacy. If you’re on HTTP, switch to Image Upload scanning or enable HTTPS on your domain.
Yes. Use the “Scan from Image” tab and upload the screenshot (PNG/JPG). If it fails, try a higher-resolution screenshot or crop so the QR is larger.
No. The site doesn’t store scan history. We only save theme and cookie-consent preferences locally in your browser.
It’s enabled only when the decoded content matches a URL pattern. If the QR contains plain text, Wi‑Fi payloads, or contact data, opening as a link may not be appropriate.
Decode it first, then verify the domain carefully. Avoid entering passwords or payment details on a page reached from a random public QR unless you trust the source.