How to Scan a QR Code on a Computer: Windows, Mac, Chromebook and Linux
by KoloQR TeamBasics

On Windows 10 and 11, open the Camera app, select Barcode and hold the code in front of the webcam; for a code already on the screen, Snipping Tool's Text actions typically detects it. On a Chromebook, open Camera and select Scan, then QR code. A Mac has no built-in QR scanner, so take a screenshot and paste it into a browser-based decoder, or scan the code with your iPhone. On any computer, a QR code on the screen or in a file is read most reliably from a screenshot, not through the webcam.
Key Points
- Windows and ChromeOS have a QR scanner in the built-in Camera app; macOS does not, and on Linux only recent GNOME's Snapshot camera typically does. On Windows select Barcode, on a Chromebook select Scan, then QR code.
- A QR code already on your screen should not go anywhere near the webcam. Take a screenshot and decode the screenshot: Snipping Tool on Windows 11, Lens on a Chromebook, or a browser decoder on any computer.
- On a Mac, the quickest route for a printed code is usually the iPhone in your pocket. For a code on the screen, paste a screenshot into the QR code scanner, which decodes it in the browser and uploads nothing.
- Laptop webcams fail on QR codes mostly from focus and glare, not resolution. In our test with an open decoder, reads went from all to none between about a third and four tenths of a module of blur, and a glare spot two modules wide over a corner square stopped every read.
- A QR code that sets up two-factor login contains your secret key. Decode it only with something that runs on your own machine, never with an online scanner that uploads the image.
Which Route Works on Each Computer
The right route depends on two things: the operating system, and where the QR code is - on paper in front of you, on the screen you are looking at, or in a saved file. Windows and ChromeOS can read a printed code through the built-in camera app; every system can read a code on the screen or in a file through a browser decoder.
| Computer | Code on paper or another device | Code on this screen | Code in a saved file |
|---|---|---|---|
| Windows 10 or 11 | Camera app, then the Barcode button | Snipping Tool, then Text actions (Windows 11, typically); or a screenshot into a browser decoder | Open the file, then Snipping Tool; or drop it into a browser decoder |
| Mac | Your iPhone's Camera; or a Photo Booth photo dropped into a browser decoder | Screenshot to the clipboard, then paste into a browser decoder | Drop the file into a browser decoder |
| Chromebook | Camera app, then Scan, then QR code | Screen capture, then Search with Google; or a screenshot into a browser decoder | Drop the file into a browser decoder |
| Linux | Snapshot on GNOME 48 or later (typically); otherwise your phone or a camera app such as Decoder | Screenshot into a browser decoder | Drop the file into a browser decoder |
| Any computer with Chrome | Not applicable | Right-click the image, then Search with Google Lens (sends a screenshot to Google) | Open the image in a tab, then right-click it |
Three decision rules cover almost every case. If the code is printed and the computer runs Windows or ChromeOS, use the Camera app. If the code is printed and the computer is a Mac or a Linux machine without a QR-aware camera app, use a phone, or photograph the code and decode the photo. If the code is already on the screen or in a file, take a screenshot and decode the screenshot - the webcam is the wrong tool for anything the computer is already displaying.
How Do I Scan a QR Code on Windows 10 or 11?
Open the Camera app, make sure the Barcode button on the right-hand side is selected, and hold the QR code in front of the webcam until it is in focus. The Camera app scans automatically and shows the link at the bottom of the window; select it to open the website. Microsoft documents this route for both Windows 10 and Windows 11.
- Open the Camera App. Search for Camera in the Start menu. If another app is using the webcam, such as a video call, close it first.
- Select the Barcode Button. The mode buttons sit on the right-hand side of the window. On older Camera builds without a Barcode button, the option has typically been behind Try out new experimental features in the app's settings.
- Hold the Code About 20 to 30 cm Away. Fill roughly a third of the preview with the code and hold it still. Too close and a fixed-focus webcam blurs it; too far and the modules get too few pixels.
- Read the Link Before Selecting It. The decoded link appears at the bottom of the Camera app. Check the domain, then select it to open the site in your default browser.
For a QR code that is already on the screen - in an email, a PDF, a web page or a chat - use Snipping Tool instead of the camera. Press Windows + Shift + S, select the area around the code, open the capture in Snipping Tool, and choose Text actions. Microsoft announced QR code detection in Text actions for Snipping Tool in May 2024, and on current Windows 11 builds the link typically appears as a button to open. Windows 10's Snipping Tool has no Text actions.
If neither route is available - a managed work PC without the Camera app, Windows 10, or a Text actions panel that finds only words - paste the screenshot into the QR code scanner with Ctrl + V. The scanner runs jsQR in the browser tab, shows the full decoded text with its type labelled, and works the same in Edge, Chrome and Firefox.
How Do I Scan a QR Code on a Mac?
A Mac has no built-in QR code scanner: macOS ships no Camera app with a code mode, and Apple's Live Text pages for Preview and Photos describe text, phone numbers and web addresses but not QR codes. For a printed code, scan it with an iPhone; for a code on the screen or in a file, use a browser decoder.
The routes, from fastest to most self-contained:
- A printed code: scan it with your iPhone. Point the iPhone Camera at it and tap the banner. To get the link onto the Mac, copy it on the iPhone and paste it on the Mac; Universal Clipboard moves it across when both devices are signed in to the same Apple Account with Handoff on. How to scan a QR code on an iPhone covers the camera side.
- A code on the screen: screenshot to the clipboard, then paste. Press Command + Control + Shift + 4, drag around the code, then open the QR code scanner and press Command + V. The image goes straight from the clipboard into the decoder without being saved as a file.
- A printed code with no iPhone: photograph it with Photo Booth. Take a picture with the Mac's camera, drag the photo out of Photo Booth onto the desktop, and drop it into a browser decoder. A mirrored photo is not a problem; in our test the open decoder read a left-to-right flipped code at every position.
- A code on a web page in Chrome: right-click it. Choose Search with Google Lens; the side panel typically shows the link the code holds. Google's help page says a screenshot of the page is sent to Google to do this.
Live Text may still help. Several third-party write-ups report that recent macOS versions offer an open-link option when you Control-click a QR code in Preview or Safari, but Apple's own pages for Live Text do not mention QR codes, so treat that as something to try rather than a route to rely on. If a Control-click on the code offers nothing, use the screenshot route.
Continuity Camera does not change this. Continuity Camera lets an iPhone XR or later act as the Mac's webcam on macOS Ventura 13 and iOS 16 or later, according to Apple's support page, but it only supplies video to apps; it does not decode anything. If the iPhone is already in your hand, its own Camera app is the scanner.
How Do I Scan a QR Code on a Chromebook?
Open the Camera app, select Scan at the bottom, then QR code, and hold the code in the viewfinder. Google's Chromebook help page says the recognised URL, text or Wi-Fi connection prompt then appears, and that the camera also reads a QR code from the normal viewfinder without switching modes. Select the result to open it.
For a code that is already on the Chromebook's screen, ChromeOS has a screen route through Google Lens. Open Screen capture, choose Take partial screenshot, drag around the code, then select Search with Google; or select the Launcher, then Lens, and select the region. Google's help page for Lens on a Chromebook requires Google as the default search engine and does not mention QR codes, so the result is typically the link but may be a page of image matches instead.
The private route works on a Chromebook too. Press Ctrl + Shift + Show windows, drag around the code, and paste the capture into the QR code scanner with Ctrl + V; the decode runs in Chrome on the device. A Wi-Fi code read this way shows the network name and password as text, which the Camera app would have offered to join instead - the Wi-Fi QR code page explains the format.
How Do I Scan a QR Code on Linux?
Linux has no single answer, because the camera app depends on the desktop. On GNOME 48 or later, the default Snapshot camera app typically detects a QR code in the viewfinder; on older GNOME releases, KDE and most other desktops, the camera app does not. For anything on the screen or in a file, every Linux desktop has the same route: a screenshot pasted into a browser decoder.
Dedicated apps fill the gap where the camera app does not. GNOME's Decoder, listed on apps.gnome.org, scans with the camera or from a screenshot, and KDE's Qrca scans with the camera. For scripts and batches, zbar's zbarimg reads a QR code from an image file on the command line and is in most distributions' repositories. For one code on the screen, a screenshot pasted into a browser tab is faster than installing any of them.
How to Read a QR Code That Is on Your Own Screen
Take a screenshot and decode the screenshot. A computer cannot point its webcam at its own display, and holding a phone showing the code up to the webcam adds glare, moire and blur that a screenshot never has. This is the case the KoloQR scanner exists for, and the four steps below take under a minute.
KoloQR, a free QR code generator with circular and custom-shaped QR codes, also publishes a QR code scanner that reads a PNG, JPG, WebP or GIF by drop, file picker or paste. It does not use the webcam at all - it reads images, so it never asks for camera permission - and it decodes in the browser tab, so the image is not uploaded.
- Zoom Until the Code Is Large. Enlarge the email, PDF or page until the QR code is at least a few centimetres across on screen. A code captured from a page-fit view is often too few pixels wide to decode.
- Capture the Code to the Clipboard. Windows: Windows + Shift + S. Mac: Command + Control + Shift + 4. Chromebook: Ctrl + Shift + Show windows. Drag around the code and include the light margin on every side.
- Paste It Into the Scanner. Open the QR code scanner in any browser and press Ctrl + V or Command + V. If the capture went to a file rather than the clipboard, drop the file onto the panel instead.
- Read the Decoded Text First. The full payload appears as text with its type labelled - link, Wi-Fi, contact, authenticator key. Read the domain before opening a link.
If the screenshot will not decode, the cause is almost always the crop or the size, and how to scan a QR code from an image has the pixel count a screenshot needs and the seven reasons an image fails. For the structure of the symbol rather than its content - version, error correction level, mask - the QR code decoder reads the same file.
Why Won't My Laptop Webcam Scan a QR Code?
A laptop webcam usually fails on a QR code for one of three reasons: the code is too close for a fixed-focus lens, a glare spot covers one of the corner squares, or the code is too far away to get enough pixels per module. A mirrored preview is not one of them. Most webcams are built for a face at arm's length, not a 3 cm code at 15 cm.
A fixed-focus webcam is a camera whose lens is set at one focus distance, so anything held closer than that distance comes out soft. Phones refocus on the code in a fraction of a second; many laptop webcams cannot, which is why the natural instinct of bringing the code closer makes things worse. We measured how sharply that matters with the site's own rig, scripts/webcam-decode-rig.mjs, run on 2 October 2026 with jsQR, the open decoder this site's scanner uses.
| What the webcam did | What we applied | Result with jsQR |
|---|---|---|
| Mirrored the image | The code flipped left to right | Read at 16 of 16 positions at 6, 4 and 3 pixels per module |
| Code too close to focus | Blur measured in module widths | 16 of 16 up to about 0.33 of a module; mixed at 0.35 to 0.375; 0 from 0.4 |
| Glare over the middle of the code | A white spot, as a share of the code's width | 16 of 16 up to 40% of the width; 0 at 50% |
| Glare over a corner square | The same spot over the top-left finder pattern | 0 of 16 from 5% of the width, about two modules across |
Two conclusions follow. Focus fails as a cliff, not a slope: within a few hundredths of a module of extra blur, the decoder went from reading every time to never, so a code that is slightly too close does not read slowly - it does not read at all. And where glare lands matters far more than how big it is. A finder pattern is one of the three concentric squares in a QR code's corners that a scanner uses to locate the symbol and work out its rotation, and a reflection two modules wide over one of them hid the whole code, while a spot covering 40% of the width over the data was absorbed by error correction. Codes made at a lower error correction level than H have less room for that.
Distance is the third limit, and it is arithmetic rather than a measurement. Assume a 1280-pixel-wide webcam frame and a horizontal field of view of about 70°, which makes the visible width about 1.4 times the distance. A 5 cm code of 33 modules then gets about 4.6 captured pixels per module at 30 cm and about 2.8 at 50 cm; the same code at 3 cm wide gets about 2.8 at 30 cm. Below about 3 pixels per module, reads become unreliable even when the image is sharp, so a small code wants the near end of the range and a fixed-focus lens wants the far end.
How to Get a Webcam to Read a QR Code
Hold the code 20 to 30 cm from the webcam, tilt it slightly so no reflection sits on a corner square, and keep it still for a second. If the preview of the code looks soft, move it back, not closer. Those three changes fix most webcam failures without any software.
- Move back until the edges look crisp. If the boundary between dark and light modules is fuzzy in the preview, the code is inside the lens's focus distance. More distance gives fewer pixels but a sharper image, and sharpness is the limit that fails abruptly.
- Tilt a phone screen to move the glare. A phone held flat to a webcam reflects the room's lights back into the lens. A small tilt slides the reflection off the code; watch the three corner squares in particular.
- Turn the phone's brightness up. A dim phone screen photographed by a webcam loses contrast quickly. Full brightness gives the decoder the clearest dark-to-light difference.
- Light a printed code from the front, not from behind the screen. A laptop screen is the brightest thing in a dark room, and a paper code held in front of it is backlit and murky. A desk lamp on the paper fixes it.
- Wipe the lens. A fingerprint on a laptop webcam spreads light across the whole frame, which lowers contrast everywhere at once.
- Hold the code square to the camera. A modest angle is corrected by the decoder; a steep one is not, which distorted QR codes measures.
When none of that works, change the route rather than fighting the camera. Photograph the code with a phone, or with the laptop's camera app, and decode the photo; a still image can be cropped and zoomed, and a decoder gets as many tries at it as it needs. If a printed code fails on every device, the fault is probably in the code itself, and why a QR code is not scanning works through the causes in order.
Is It Safe to Use an Online QR Code Scanner?
It is safe when the scanner decodes the image on your own computer and nothing is uploaded; it is a privacy risk when the image is sent to a server. Local decoding is reading a QR code on your own device, so the image is never sent to a server. The page itself rarely says which kind it is, so it is worth checking.
The difference matters most for the codes people most often need to read on a computer. A two-factor authentication setup code contains the secret key behind every one-time password for that account, as an otpauth:// address in plain text. A Wi-Fi code contains the network password. A boarding pass or a ticket contains a booking reference. Any of those, uploaded to an unknown server, is a copy of the credential you did not mean to make.
Three ways to tell what a scanner does with your image:
- Load the page, then disconnect. Turn off Wi-Fi after the scanner has loaded, then decode an image. A scanner that decodes locally still works; one that uploads fails.
- Read the help page of the tool you are using. Google's help page for Lens in Chrome says that a screenshot of the page and page data are sent to Google. That is a stated, temporary use, but it is not local decoding.
- Prefer the operating system's own tools. The Windows Camera app and ChromeOS Camera read through the camera on the device, and a browser scanner that runs in the tab - the KoloQR scanner runs jsQR in the page and works offline once loaded - keeps the image where it is.
Reading a code safely is not the same as trusting it. A QR code carries no signature and no proof of who made it, so read the decoded domain before opening a link; the how to scan a QR code guide covers what to check, including login codes that sign someone else into your account.
Why Web Scanners Behave Differently on Windows and Mac
Some browser-based scanners rely on the browser's built-in Barcode Detection API, and Chrome supports it only on macOS and ChromeOS, not on Windows or Linux. A scanner built that way works on a MacBook or a Chromebook and silently does nothing on a Windows laptop in the same browser. Scanners that bring their own decoder, such as jsQR, work everywhere.
| Browser | Built-in Barcode Detection API on a computer |
|---|---|
| Chrome | macOS and ChromeOS only, from version 88 |
| Edge | macOS only |
| Firefox | Not supported |
| Safari | Behind a developer flag (Shape Detection API), not on by default |
If a web scanner works on one of your computers and not on another, this is the usual reason, not your webcam or your image. The fix from the reader's side is to use a scanner that decodes with its own library; the KoloQR scanner does not use the Barcode Detection API, so it behaves the same in Chrome, Edge, Firefox and Safari on every operating system.
Most QR Codes on a Computer Are Meant for Your Phone
A QR code shown on a computer screen is usually there for a phone to scan, not for the computer to read. WhatsApp Web, Telegram Desktop and many sign-in pages show a code so that a phone that is already signed in can approve the computer; authenticator setup pages show one so the phone's app can store the secret. In those cases, scan the screen with the phone.
Point the phone's camera at the screen, with the display brightness up and the code filling about a third of the phone's frame. If the code is for an authenticator app, scan it from inside that app rather than the camera, because the camera does not know what to do with an otpauth:// address. Most setup pages also offer a typed key under a link such as can't scan the code, which avoids the camera entirely.
The one case where the computer should read its own code is an authenticator you run on the computer itself, such as a password manager with one-time codes. Those apps typically read the setup code from the screen or let you paste the key; where they do not, decode the screenshot locally and copy the secret from the decoded text, never through a scanner that uploads it.
When the Code You Are Scanning Is Your Own
Scanning on a computer is also the fastest way to check a QR code you made before it goes to print. Drop the exported file into the scanner: if it decodes on the computer and the printed copy does not scan on a phone, the fault entered after the file - in the layout, the export or the press.
The QR code validator takes the same file and measures why a code might struggle: contrast, quiet zone, module size and error correction. To make a new code, the KoloQR generator builds it in the browser and exports PNG, SVG, PDF and EPS. KoloQR makes static codes only, so a code that needs scan analytics or a destination you can change after printing needs a dynamic QR service instead.
Make Your QR Code
Free, with no account and no watermark. Choose a shape, add a logo, check the contrast, and export SVG, PDF, EPS or PNG - a static code with no subscription behind it.
Generate QR CodeQuestions? Answered
Yes. On Windows 10 or 11, the Camera app's Barcode mode reads a printed code through the webcam; on a Chromebook, the Camera app's Scan mode does. On any laptop, a code on the screen or in a file is read by taking a screenshot and pasting it into a browser-based decoder. Only a printed code on a Mac, and on some Linux laptops, really wants a phone.
No, not one Apple documents. macOS has no Camera app with a code mode, and Apple's Live Text pages for Preview and Photos do not mention QR codes, although some users report an open-link option when Control-clicking a code. The reliable Mac routes are an iPhone's Camera for printed codes and a screenshot pasted into a browser decoder for codes on the screen.
Usually because the Camera app is an older build. The Barcode button sits on the right-hand side of current versions; on older builds the scanner was typically enabled through Try out new experimental features in the app's settings. Update the Camera app from the Microsoft Store, or on a managed work PC where that is not allowed, use a screenshot and a browser decoder instead.
You can, but it is the least reliable route. A phone screen held to a webcam is often too close to focus and reflects the room's lights; in our test, a glare spot two modules wide over a corner square stopped every read. Take a screenshot on the phone and decode it there, or send the image to the computer and decode the file.
Probably because it uses the browser's Barcode Detection API, which Chrome supports on macOS and ChromeOS but not on Windows or Linux, according to MDN's compatibility data. The page loads, the camera starts, and nothing is ever detected. A scanner that ships its own decoder, such as one built on jsQR or ZXing, works the same on every system.
No. It reads image files - a screenshot, a photo or an export - by drop, file picker or paste, and never asks for camera permission. That is deliberate: on a computer, a screenshot is a sharper source than a webcam for anything on the screen. For a printed code, photograph it with any camera first and drop the photo in.
Not for a sensitive one. Google's help page says that using Lens in Chrome sends a screenshot of the page and page data to Google, held temporarily to process the query. That is fine for a restaurant menu link and wrong for a two-factor setup code or a Wi-Fi password. Decode those locally, in an app or a browser scanner that does not upload.
About 20 to 30 cm for a code a few centimetres wide, then adjust by the preview. If the module edges look soft, move the code back; a fixed-focus webcam cannot sharpen something too close. If the code is sharp but tiny in the frame, move it closer. A code under about 3 cm wide is easier to read from a screenshot or a phone photo.
Yes. Google's Chromebook help page says the Camera app's QR code mode shows a Wi-Fi connection prompt when the code holds network details. Open Camera, select Scan, then QR code, and point it at the code. A Wi-Fi code read by a browser decoder instead shows the network name and password as text for you to type in.
Keep Exploring
Pages that pick up where this one leaves off - the same setting, the same kind of code, or the next thing worth deciding.
How to Scan a QR Code With a Phone, a Screenshot, or a Second Device
The camera does it on both platforms, but the awkward cases - a screenshot, a code on the phone you are holding, a login code - each need a different move.
How to Scan a QR Code on an iPhone, From the Camera or From a Photo
Every built-in way an iPhone reads a QR code - the Camera app, the Code Scanner control, a saved photo, a code inside Safari - and the one setting that switches it off.
How to Scan a QR Code With an Android Phone, on Any Brand
Android has no single camera app, so there are three routes worth knowing: the camera, the Scan QR code tile in Quick Settings, and Google Lens - plus where each brand hides the setting.
WhatsApp QR Code
Open a WhatsApp chat with your number in one scan, without anyone saving your contact first.
Facebook QR Code
Open your Facebook Page, group, or Messenger chat with one scan.
Micro QR Codes and rMQR: The Small QR Codes Built for Parts, Not Phones
What Micro QR and rectangular rMQR codes are, every size and capacity, why an ordinary phone camera and QR decoder will not read them, where they belong, and what to print instead when a consumer code has to be small.
Why KoloQR?
- Create QR codes for websites, menus, Wi-Fi, PDFs, and business cards
- Customize colors, logos, and unique shapes
- Download high-quality PNG and SVG files
- Built for both print and digital

