Scan a QR code — right in your browser

Drop an image, paste a screenshot, or point your camera. Decoded on your device — the image is never uploaded.

Drop a QR image here or click to browse — one image or many. Drop a folder, or paste with Ctrl+V.
OR

Decoding runs entirely in your browser (jsQR). Images and camera frames never leave your device.

WAITING FOR A CODE…
Scan or upload a code to see its decoded content here.

Copy takes the whole decoded text. Links, WhatsApp and Telegram chats, phone numbers, email, map locations and UPI payments also get Open; WiFi codes get Copy password; contact cards (vCard) get Save contact. Re-create styled loads the content into our generator for a custom look.

Advertisement
Advertisement

How it works

Drop an image, paste a screenshot, or point your camera. The picture is drawn onto a canvas inside this tab, the raw pixel data is read back, and a decoder searches it for the QR pattern — finder squares first, then the grid, then the data. All of it happens in your browser's memory.

Codes with decorative modules — dots, diamonds, hearts — can defeat the fast decoder. When that happens the page loads a second, heavier decoder on demand and retries automatically, which is why an unusual code sometimes takes a moment longer than a plain one.

There is no upload step to skip: no image or result is sent anywhere, which you can confirm in your browser's developer tools. The one request decoding can trigger is that second decoder, fetched from this site. Close the tab and the image is gone.

What the scanner shows for each kind of code

A QR code is only text. What makes it a link, a WiFi login or a contact card is the first few characters, and the scanner labels the result from those. The full decoded text is always shown before anything happens; nothing opens on its own.

The code starts withShown asExtra button
https:// or http://LinkOpen
https://wa.me/WhatsAppOpen (starts the chat)
https://t.me/TelegramOpen
WIFI:WiFi networkCopy password
BEGIN:VCARDvCard contactSave contact (a .vcf file)
MECARD:MeCard contactnone
BEGIN:VCALENDARCalendar eventnone
tel:, sms:, smsto:Phone / SMSOpen
mailto:EmailOpen
geo:LocationOpen
upi://UPI paymentOpen
BCD (first line)SEPA transfernone
bitcoin:, ethereum:Bitcoin, Ethereumnone
anything elseTextnone

Every result also gets Copy, which copies the whole decoded text, and Re-create styled, which opens it in the generator with its fields filled in. SEPA and crypto payment codes are shown but not acted on, and a UPI link only hands over to your payment app. Check the amount and the payee there before you pay.

Before you open a link, read the address. A code on a poster or a parking meter can be a sticker placed over the real one, and the domain is the part that tells you where you are going. QR code scams, and how to scan safely covers what to look for.

When it says no code was found

  • Crop to the code. A full-page screenshot with a small code in one corner gives the decoder little to work with. Crop it, white margin included, and try again.
  • Use the original. Chat apps compress images, and a forwarded copy is often compressed again. The original file often reads when a forwarded copy does not.
  • Check the code itself. If a clean original still fails, the problem is in the print or the design. Why a QR code won't scan lists the six usual causes.
  • On a phone, screenshots work too. Scanning a QR code from a screenshot shows the built-in routes on iPhone and Android.

Scanner questions

Is my QR image uploaded to a server?

No. Decoding runs entirely in your browser using the open-source jsQR library. Images, screenshots, and camera frames never leave your device.

Can I scan a QR code from a screenshot?

Yes. Drop the screenshot onto the page, click to browse for it, or simply paste it with Ctrl+V / Cmd+V.

Why does the camera scanner need permission?

Your browser asks before any site can use the camera. Frames are analysed locally and are never recorded or transmitted.

What QR content types are recognised?

Links, WiFi networks, vCard and MeCard contacts, WhatsApp and Telegram links, calendar events, SEPA and UPI payments, crypto URIs, phone, SMS, email, and plain text.

Can I turn a scanned code into a styled one?

Yes — the Re-create styled button loads the decoded content straight into our generator, where you can restyle it with custom modules, colours, and frames.

Can I scan several codes at once?

Yes. Drop in many images at once, or a whole folder, and every code is decoded and listed in a table you can export as CSV. One photo containing several codes works too — each one is found separately. Everything still runs in your browser; no image is uploaded.

Does scanning work offline?

Yes. Once the page has loaded, decoding needs no connection — the image is processed entirely in your browser's memory. That is also why nothing you scan is ever uploaded.