How to scan a QR code online
- Click Choose images or drag files onto the box. You can select several images at once.
- On a computer, you can also copy a screenshot and paste it with Ctrl+V (⌘V on a Mac).
- To use a camera, click Scan with camera and allow access when your browser asks. Hold the code steady inside the frame; scanning stops at the first code found.
- Read the result. A label tells you whether the code holds a link, a Wi-Fi network, a contact card, an email or plain text. For links, the site name is shown separately so you can check it before opening.
- Copy the text, or open the link if you trust it.
How it works
QR Hut uses the open-source jsQR library (version 1.4.0). When you choose an image, your browser reads the file from your device, draws it onto an off-screen canvas and hands the raw pixels to jsQR. The library converts the picture to black and white, locates the three square finder patterns in the corners, corrects the perspective, reads the grid of modules and uses the built-in Reed–Solomon error correction to repair damaged parts. Very large photos are first scaled down so that their longer side is 2,400 pixels, which keeps decoding quick without affecting normal-sized codes.
For uploaded images, the decoder tries both normal codes (dark on light) and inverted ones (light on dark). In camera mode it looks for normal codes only, so it can keep up with the video, and it checks about ten frames per second. The camera request asks for the rear camera where there is one, at up to 1280 × 720 pixels, and the camera switches off as soon as a code is found or when you leave the page.
Everything happens in JavaScript on your device: images are not uploaded, video is not recorded and the results disappear when you close the page. The decoded text is shown exactly as it is stored, which makes the scanner a practical way to inspect a code without letting a phone act on it. Text is decoded as UTF-8; if a code contains bytes that are not valid UTF-8, the scanner still shows what it can instead of returning nothing.
Understanding the result
- Link: a web address. Check the site name shown under it before opening. The link opens in a new tab only when you click it.
- Wi-Fi network: text starting with
WIFI:, which includes the network name and, in plain text, the password. - Contact card: vCard or MeCard text with names, numbers and addresses.
- Email, phone number, text message, location:
mailto:,tel:,SMSTO:orgeo:data. - Authenticator secret: an
otpauth:code used to set up two-factor authentication. It contains a secret key, so treat it like a password. - Text: anything else, such as serial numbers or messages.
The scanner shows what is inside a code; it cannot tell whether a website is safe. For that, see our guide on how to spot a malicious QR code.
Tips when a code will not scan
- Crop closer. If the code is small in a large photo, crop it, leaving a little white space around it.
- Keep the border. A screenshot cut too tightly loses the quiet zone, the blank margin scanners use to find the code.
- Avoid blur and glare. Retake photos taken in low light or while moving, and tilt glossy menus or screens to remove reflections.
- Screenshots beat screen photos. Photographing a monitor creates wavy moiré patterns; take a screenshot instead.
- Laptop webcams. Many have fixed focus and cannot read a small code held close. Hold it further away, or photograph it with your phone and upload the picture.
- Heavily styled codes. Unusual dot shapes, very low contrast or oversized logos can defeat the decoder even when a phone app manages. Try a sharper or larger photo.
Common uses
- Checking where a QR code in an email, letter or parcel note leads before opening it on your phone.
- Reading a code that is displayed on the same phone or computer you would scan it with.
- Getting a Wi-Fi password from a Wi-Fi QR code onto a laptop.
- Testing codes you made in our QR code generator before printing them.
- Reading codes from several product photos in one batch.
Limitations
- QR codes only: no product barcodes, Data Matrix, Aztec, PDF417 or Micro QR codes.
- One code per image. Codes split across several symbols (structured append) are not combined.
- The camera needs a secure HTTPS page and your permission. Browsers built into social media apps often block it; open the page in Chrome, Safari, Edge or Firefox instead.
- HEIC photos only open in browsers that can display them, such as Safari. Elsewhere, convert them to JPG first.
- It does not check whether a link is safe.
Frequently asked questions
Are my images uploaded to a server?
No. The image is read from your device, decoded by JavaScript in your browser and discarded when you close the page. Camera frames are analyzed the same way and are never recorded.
Can I scan a QR code that is on my computer screen?
Yes. Take a screenshot, then paste it here with Ctrl+V (⌘V on a Mac) or upload the file. This is handy for codes in emails, PDFs and web pages.
Why does the camera not start?
The browser needs your permission and a secure (HTTPS) page. The camera can also be blocked by another app that is using it, by the browser inside a social media app, or by your browser's site settings. Uploading a photo always works as an alternative.
Can it read several QR codes in one picture?
It returns the first code it finds in each image. To read several codes, crop them into separate images or upload several photos at once.
Does it read ordinary barcodes?
No. The scanner reads QR codes only. Product barcodes (EAN, UPC), Data Matrix, Aztec and PDF417 codes are not supported.
Is it safe to open a link from a QR code?
Check the domain first. The scanner shows the full link and the site it belongs to before you open anything. Our QR code safety guide lists the warning signs.
Does it work on phones?
Yes. On a phone you can take or choose a photo, or use the camera button to scan live.