QR Code Reader

Have a QR code as a picture — a screenshot, a photo, a downloaded file? Drop it below and read its content instantly. The image is decoded in your browser and never uploaded.

Drop an image here or click to choose a file

PNG, JPEG, WebP, GIF — decoded locally with jsQR, nothing leaves your device

Preparing…

Read a QR code from a picture — safely

QR codes arrive as images all the time: a screenshot from a chat, a photo of a poster, a PDF attachment, a code embedded in an email. Phone cameras can't help there — you need to decode the pixels. Most "QR reader" websites upload your image to their server first; this page doesn't. The file is opened with a local FileReader, decoded in a canvas by the jsQR library running in your browser, and the bytes never leave your machine.

What you get from a scan

  • The raw content — the exact text payload of the code, ready to copy.
  • A type hint — links become clickable, Wi-Fi credentials (WIFI:S:…;P:…;), emails, phone numbers and geolocation links are recognised.
  • Technical details — the QR version and the file you decoded from.

Getting a reliable read

  • Crop so the QR code fills most of the frame — tiny codes in huge images often fail.
  • All three corner squares must be fully visible, without glare or blur.
  • Very compressed screenshots (heavy JPEG artefacts) can break decoding — re-screenshot at full quality if a read fails.

Phishing defence: decoding a printed or emailed QR code before opening it is the safest habit — you see the true destination instead of trusting the pretty frame around it.

Working with a live camera instead? Use the QR code scanner — same privacy model, real-time video.

FAQ

QR reader questions

Is my image uploaded to a server?

No. The picture is opened locally in your browser and decoded by JavaScript running on your device. It is never transmitted, stored or seen by anyone else.

Which image formats work?

Anything your browser can open: PNG, JPEG, WebP, GIF, BMP and more. Screenshots of QR codes work as long as the code is sharp, fully visible and reasonably large in the frame.

My QR code isn't detected — what can I try?

Crop the image so the QR code fills most of the frame, make sure all three corner squares are fully visible, and avoid blur, glare or heavy compression. Blurry or very small codes are the most common cause of failed reads.