No upload, 100% local, no account

QR Code Scanner

Scan a QR code from an image file or use your device camera. The decoding is done entirely in your browser, nothing is sent to a server.

How QR code scanner works

The QR code scanner decodes a QR code from an image file you select or directly from your device camera, with no app to install and no account to create. Drop a screenshot, a photo or any image file onto the tool, or grant camera access and point at a physical QR code - the decoded content appears in under a second. The image is drawn onto an in-browser canvas and the jsQR library reads the pixel data to extract the code.

The decoded content is displayed as-is without automatically following any URL. This lets you inspect a QR code before deciding whether to act on it, which matters when scanning codes from unknown sources. QR codes can contain plain text, URLs, Wi-Fi credentials, contact cards, calendar events and more. Nothing leaves your device: each camera frame or image file is processed locally and discarded after decoding.

How to use QR code scanner, step by step

  1. Drop an image file containing a QR code onto the tool, or click to browse for a file.
  2. Alternatively, click Scan with camera and grant camera access when prompted.
  3. Point the camera at the QR code and hold it steady; the tool decodes in real time.
  4. Read the decoded content in the result area and decide whether to open a URL or copy the text.
  5. Scan a second QR code by dropping a new image or keeping the camera active.

Common use cases

  • A user receives a QR code in an email from an unknown sender and uses the scanner to inspect the URL before clicking.
  • An event attendee scans a poster QR code with their laptop camera to confirm the URL before visiting the site on a public network.
  • A developer tests a newly generated QR code by scanning it immediately to verify the encoded content is correct.
  • Someone finds an old printed QR code and wants to know what URL or text it encodes without using a phone.

Frequently asked questions

Does the image I drop into the scanner get uploaded to a server?

No. The image is drawn onto a canvas element inside your browser tab and the jsQR library reads the pixel data directly on your device. Nothing is transmitted to Sunasty or any third party. You can confirm this by opening your browser's DevTools Network tab while scanning: no request carries your image data.

Is my live camera stream sent anywhere when I scan in real time?

No. The camera feed is processed frame by frame by the jsQR library running in JavaScript on your device. Each frame is drawn onto an in-page canvas and decoded locally. The stream is never sent to a server, so scanning Wi-Fi passwords or private QR codes from your camera is safe.

What data formats can the scanner decode?

The jsQR library decodes any standard QR code, which can contain plain text, URLs, Wi-Fi credentials (SSID and password in WPA format), vCard contact cards, email addresses, phone numbers, SMS, calendar events in iCal format and raw binary data. The decoded text is shown as-is.

Is it safe to scan a QR code posted in a public place or sent by an unknown contact?

A QR code hides its destination the way a link's status-bar preview does not, which scammers exploit in an attack sometimes called quishing: a sticker over a real parking-meter or menu code, or a QR image in an unsolicited message. This scanner never follows a URL automatically. It decodes the code into plain text first and shows it to you as-is, and only offers a separate button to open it if it looks like a link, so you can read the actual address before deciding whether to trust it.

What image formats are accepted for file-based scanning?

Any format your browser can render on a canvas: JPEG, PNG, WebP, GIF (first frame only), BMP and AVIF in browsers that support it. If the QR code is clear in the image and large enough to have readable modules, the jsQR library will decode it.

The scanner is not reading a QR code in my image. What should I check?

Make sure the QR code is well lit, in focus and not heavily distorted or warped. The entire code including the three corner finder patterns must be visible. Very small QR codes in a large image may lose detail. Try cropping the image to show only the QR code, or increase the camera resolution if scanning live.