QR Code Scanner Online
Scan a QR code or barcode with your camera, or from an image or screenshot. Read on your device and never uploaded, with every link checked before you open it.
or drop an image anywhere on this page · Ctrl+V pastes a screenshotSeveral images at once are fine
Images are read in this browser and never uploaded.
- QR Code
- Micro QR
- rMQR
- Data Matrix
- Aztec
- PDF417
- EAN · UPC
- Code 128 · 39
Every code in a picture is found. A link is shown, never opened by itself.
How do I scan a QR code from an image or screenshot?
Drop the image on this page, paste it with Ctrl+V (⌘V on a Mac) or choose Upload image: the scanner finds every code in it, outlines and numbers each one on the picture, and reads what it says. A photo, a screenshot, a picture saved from a chat or a PDF page you took a screenshot of all work.
On a phone, take a screenshot of the code, open this page and choose Upload image, then the screenshot. Several images can go in at once, and one image can hold several codes: a poster with a menu link, the Wi-Fi and a contact gives you three cards.

Every code, numberedEach code in the picture is outlined, and its number matches its card below.What each code holdsA link, a Wi-Fi network, a contact: the list says what each code is before you read its card.Where the link goesThe real domain lit in the address, look-alike letters and decoys marked, and nothing opened.Nothing uploadedThe picture is read by your browser, on your device: no image or result is sent anywhere.How do I scan a QR code on a laptop or PC?
Choose Scan with camera to use the webcam, or take a screenshot of a code on your screen and paste it here. No app to install: the scanner runs in the browser on Windows, macOS, Linux and ChromeOS.
A code on your own screen (a sign-in code, a code in an email or a PDF) is easiest as a screenshot copied to the clipboard:
Windows
Win + Shift + SCtrl + V
Snipping Tool: drag over the code
Mac
⌘ + Ctrl + Shift + 4⌘ + V
Drag over the code; Ctrl puts it on the clipboard
ChromeOS
Ctrl + Shift + Show windowsCtrl + V
Choose Partial screenshot
Linux (GNOME)
Print ScreenCtrl + V
Select the area; GNOME copies it to the clipboard
With a webcam, hold the code about 15–30 cm from the lens and keep it flat and steady. A code on a phone screen reads best with the screen's brightness up.
How do I see the Wi-Fi password in a QR code?
Use this page as a Wi-Fi QR code scanner: the card shows the network's name and password, each ready to copy. A Wi-Fi QR code is plain text in the form WIFI:T:WPA;S:name;P:password;;, first described by the open-source ZXing project and standardised by the Wi-Fi Alliance as the Wi-Fi URI in its WPA3 Specification (section 7).
We never join the network: a web page can't, and shouldn't. To join, point an iPhone's Camera at the code and tap the banner, or on Android scan it from Settings → Network & internet → Internet. To make a code for your own network, an iPhone's Passwords app shows Show Network QR Code, and Android's Share button under a saved network does the same.
Special characters: ZXing's format puts a backslash before ; , : \ and " in a name or password, the WPA3 format writes ; as %3B. The scanner reads both.
WIFI:T:WPA;S:Cafe Guest 5G;P:espresso-2026;H:true;;
- TSecurity
- WPA for any password network (WPA2 or WPA3), WEP for old routers, nopass or nothing for an open network. Android also writes SAE for WPA3.
- SNetwork name (SSID)
- The only field every code must have.
- PPassword
- Shown in plain text: anyone who scans the code can read it.
- HHidden
- true when the network doesn't broadcast its name.
- RTransition Disable
- WPA3 only: 1 tells devices never to fall back to WPA2.
- KSAE-PK key
- WPA3 only: the network's public key, so a look-alike hotspot can't pose as it.
Is it safe to scan a QR code?
Scanning only reads text: the risk starts when you open the link, enter details or install something. Criminals stick fake codes over real ones on parking meters and chargers, and send codes by email and post, a QR code scam called quishing (QR phishing). The FBI and the FTC give the same first advice: look at the link before you open it.
That's the scanner's main job. It never opens a link on its own, shows the domain that decides where you land, and names each trick it finds in one sentence.
Parking meters
Austin, Texas found fake QR stickers on more than two dozen pay stations in 2022; the UK's Action Fraud logged 784 quishing reports and almost £3.5 million lost in a year, mostly in car parks.
EV chargers
In the Loiret, France, fake codes on charging stations collected card details without ever starting the charger (Gendarmerie nationale, 2024).
Email and post
Codes in emails that claim to be from a bank, an authority or Microsoft 365, and a parcel you never ordered with a code to "find out who sent it" (FTC, 2025).
UPI payments
A buyer sends a seller a QR code "to receive money": scanning it and entering the UPI PIN sends money instead (RBI, Delhi Police).
A decoy before @
https://google.com@example.xyz
Everything before @ is a user name the browser drops: this goes to example.xyz (RFC 3986).
Look-alike letters
https://pаypal.com
The second letter is a Cyrillic а. Chrome shows such names as xn-- (punycode); the scanner marks the letter.
A brand in front
https://paypal.com.example.xyz
Only the end decides: the domain is example.xyz, whatever comes first.
A short link
https://bit.ly/3xYzAbc
The destination is hidden. Bitly and TinyURL show it on a preview page without visiting it.
An app download
https://example.xyz/update.apk
An .apk, .exe or .mobileconfig installs software or settings. Get apps from the store instead.
- Look for a sticker over the original code on meters, chargers and posters.
- Read the domain, not the words around it, and open the site yourself if in doubt.
- Don't enter a password or card number on a site you reached from a code you weren't expecting.
- Install apps from the store, never from a code.
What can a QR code contain?
Any text up to about 3 KB, and phones agree on a few formats that turn it into an action. The scanner reads each into fields, and nothing happens until you choose it.
| Content | Starts with | Defined by | The scanner shows |
|---|---|---|---|
| Link | https:// | RFC 3986 | The real domain, look-alikes, decoys, short links |
| Wi-Fi | WIFI: | ZXing, Wi-Fi Alliance (WPA3) | Network, password, security |
| UPI payment | upi://pay | NPCI UPI Linking Specification | Payee, amount, note, signature |
| Shop payment (Pix, QRIS, VietQR, PromptPay…) | 000201 | EMVCo QR Code Specification | Merchant, amount, bank, checksum |
| SEPA transfer | BCD | EPC069-12 | Beneficiary, IBAN check, amount |
| Contact | BEGIN:VCARD, MECARD: | RFC 6350, NTT DOCOMO | Name, phones, emails; save as .vcf |
| Event | BEGIN:VEVENT | RFC 5545 | Times in your zone; save as .ics |
| Phone, text, email | tel:, sms:, mailto: | RFC 3966, 5724, 6068 | The number or address, then your app |
| Location | geo: | RFC 5870 | Coordinates, OpenStreetMap |
| Two-factor key | otpauth:// | Google Key URI Format | Service and account; the secret hidden |
| Crypto payment | bitcoin:, ethereum: | BIP 321, EIP-681 | Address and amount |
| Passkey sign-in | FIDO:/ | FIDO CTAP 2.2 | That it's for your phone's camera |
Each icon is the one on that kind's result card, in the colour the card takes: green when its check passes, amber or red when it warns.
How do I check a payment QR code before paying?
Scan it here first: the card shows who gets the money, the amount if the code sets one, and whether the code's checksum is intact. Then pay in your bank or wallet app, and check that the name it shows matches the shop.
A sticker over a shop's real code is the common trick, so the name your app shows matters more than the one printed on the sign.
00020126370014br.gov.bcb.pix0115pix@example.com520400005303986540512.505802BR5912Cafe Exemplo6009Sao Paulo62070503***6304189B
- Who gets paid
- How much
- Checksum
- About the code
- 00FormatAlways 01, and always first.
- 01
- 26Merchant accountThe scheme (br.gov.bcb.pix) and the Pix key, each nested as ID, length, value.
- pix@example.com
- 52Merchant category0000 when not given.
- 0000
- 53CurrencyAn ISO 4217 number: 986 is the Brazilian real.
- 986
- 54AmountOnly when the code sets one.
- 12.50
- 58CountryTwo letters (ISO 3166-1).
- BR
- 59Merchant namePix apps show the name from Pix's directory instead.
- Cafe Exemplo
- 60CityWhere the merchant is.
- Sao Paulo
- 62Additional dataThe reference label (sub-ID 05).
- ***
- 63Checksum (CRC-16)Computed over everything before it, 6304 included: change one character and it no longer matches.
- 189B
The scanner recomputes it: 189B, the same as in the code.
UPI (India)
The UPI ID and the name written in the code, and whether the code is signed: your UPI app warns when a merchant's code carries no signature. You never scan a code or enter your PIN to receive money.
Pix (Brazil)
The Pix key or, for a dynamic code, only the address your bank loads the charge from: its amount isn't in the image. Your bank shows the receiver's name from Pix's directory, not the one in the code.
VietQR (Vietnam)
The bank (by its NAPAS number) and the account, the amount and the transfer note.
QRIS, PromptPay, PayNow
The merchant, its city and the amount, and the phone number or ID a PromptPay or PayNow transfer goes to.
SEPA transfer (EPC QR, GiroCode)
The beneficiary, the IBAN with its check digits verified, the amount in euros and the reference.
Russia and Switzerland
GOST R 56042 payment codes (payee, account, BIC, sum in roubles) and Swiss QR-bills (creditor, IBAN, amount).
What does a barcode number tell you?
A product barcode (EAN-13, EAN-8, UPC) is a number: the scanner reads it, checks its last digit and names the GS1 office that issued the company's numbers. That office is not the country of origin: GS1 says the prefix "does not indicate that the product was manufactured in a specific country". A product made in Vietnam can carry a number from GS1 US, and the other way round.
Numbers starting with 978 or 979 are books (ISBN). Codes on medicine and fresh food packs (Data Matrix or GS1-128) often carry more: the product number, the batch, the expiry date and a serial number, each shown on its own line.
- 952GS1 prefixThe GS1 office that issued the company's numbers, not where the product was made. 952 is GS1's range for examples; 400–440 is GS1 Germany.
- 1234CompanyThe company's number, from that office.
- 56789ItemThe product, numbered by the company.
- 9Check digitWorked out from the twelve digits before it, so a misread digit shows up.
Odd places count once, even places three times: 121. The step up to the next ten, 130, is the check digit: 9.
Why won't a QR code scan?
Blurred or too small
Move closer so the code fills most of the frame, or zoom; hold still for a second.
Glare or shadow
Tilt the code or the phone, or turn on the light in the camera view.
No margin
A QR code needs a blank border four modules wide; keep it in view and uncovered.
Light on dark or mirrored
The 2006 edition of the standard allows both; the scanner tries both ways.
Damaged
Up to about 30% of a code can be restored (error correction level H); beyond that, no scanner can read it.
An iPhone photo (HEIC)
Only Safari opens HEIC images: take a screenshot of the photo, or set Camera → Formats → Most Compatible.
Odd characters in the text
The generator used a character set it didn't declare; the raw text shows exactly what's stored.
How does a QR code work?
A QR code is a grid of black and white squares (modules) that a camera finds by its three corner squares, the finder patterns, from any angle. It was invented at Denso Wave in Japan in 1994 (QR stands for quick response) and is an international standard, ISO/IEC 18004 (fourth edition, 2024). Denso Wave doesn't charge for codes that follow the standard.
Codes come in 40 sizes (versions), from 21 × 21 modules to 177 × 177. Reed-Solomon error correction stores extra data so a scratched or partly covered code still reads, which is why codes with a logo in the middle work. The same text can make codes that look different, so you can't tell what a code holds by looking at it.
- Finder patternsThree corner squares that give the code's position, size and angle.
- Timing patternsAlternating modules between the finders that mark out the grid.
- Alignment patternA smaller square that keeps a curved or tilted code on the grid.
- Format informationThe error-correction level and the mask, written twice.
- Data and error correctionThe text, plus the Reed-Solomon data that repairs it.
- Quiet zoneA blank border at least 4 modules wide.
- Version informationOnly in larger codes; this one has none.
40
sizes, 21 × 21 to 177 × 177 modules
7,089
digits at most (4,296 letters, 2,953 bytes)
30%
of a code restorable at level H
1994
invented at Denso Wave, Japan
Lrepairs up to 7%7% coveredReads
Mrepairs up to 15%14% coveredReads
Qrepairs up to 25%18% coveredReads
Hrepairs up to 30%24% coveredReads
Mrepairs up to 15%25% coveredCan't be read
Read by ZXing, the decoder this page uses. A sticker also hides some of the code's fixed patterns, so in practice a little less than the level's share survives.
The family also has Micro QR (one finder pattern, up to 17 × 17 modules) and rectangular rMQR codes (ISO/IEC 23941), which the scanner reads too, along with Data Matrix, Aztec and PDF417.
How does this QR code reader work, and is anything uploaded?
Nothing is uploaded. Your image is read inside your browser, in a background worker on your own device: the page sends no picture, no text and no result anywhere, and nothing is stored once you close the tab.
Chrome on Android, macOS and ChromeOS, and Edge on a Mac, have a barcode reader built in (BarcodeDetector), and the scanner uses it. Other browsers (Chrome on Windows, Firefox, Safari) get ZXing, an open-source QR code decoder compiled to WebAssembly, loaded from our own site the first time you scan. The camera needs your permission, and turns off as soon as a code is found or you leave the page.
Your device · this browser tab
- Camera, image or paste
- Background workerWeb Worker
- BarcodeDetectorBuilt into the browserZXingWebAssembly
- Reads what it saysLink · Wi-Fi network · Payment code · Contact
- Result cards
- Sends the ZXing decoder, once, if your browser needs it
- Receives no picture, text or result
BarcodeDetector
Chrome on Android, macOS and ChromeOS; Edge on a Mac
Built into the browser: fast, no download.
ZXing (WebAssembly)
Windows, Linux, Firefox, Safari, iPhone
About 950 KB, once, from dnsrobot.net; also reads codes the built-in reader misses.
QR code scanner FAQ
How do I read a QR code from an image or screenshot on my phone?
Can I scan a QR code with my laptop's webcam?
Are my images uploaded when I scan a QR code here?
How can I tell if a QR code is safe?
Can scanning a QR code hack my phone?
How do I find the Wi-Fi password from a QR code?
Do I need an app to scan QR codes?
Can I scan a QR code to receive money?
Why can't the scanner read my QR code?
Can one image contain several QR codes?
Does it work as a barcode scanner online too?
Does the QR code scanner work offline?
Missing something?Suggest a feature or a new tool
More tools to check what a code points to
SSL Certificate Check
Verify SSL certificate validity and security details
WHOIS Lookup
Look up domain registration, registrar, and owner details via RDAP
Domain Age Checker
Check domain registration date, age, expiry, and registrar details via WHOIS
Hosting Checker
Find out who hosts any website: web host, CDN, CMS, email provider, registrar and SSL issuer
QR Code Generator
Make QR codes for links, Wi-Fi, contacts, WhatsApp and UPI or Pix payments, with your logo and colours, read back before you download SVG, PNG or PDF
WiFi QR Code Generator
A WiFi QR code guests join in one scan with the iPhone Camera or Android's Wi-Fi settings: WPA2 and WPA3, and a printable guest card