Convertful
ImagePDFVideoUtilityBlog

Image Tools

  • Compress Image
  • Resize Image
  • Remove Background
  • HEIC to JPG
  • All Image Tools →

PDF Tools

  • Compress PDF
  • Merge PDFs
  • Split PDF
  • PDF to Images
  • All PDF Tools →

Video & Audio

  • Video to GIF
  • Compress Video
  • Trim Video
  • Extract Audio
  • All Video Tools →

Utility

  • QR Code Generator
  • JSON Formatter
  • Color Converter
  • All Utility Tools →
All processing happens in your browser. Your files never leave your device.
AboutBlogTermsPrivacyContact
© 2026 Convertful. All rights reserved.
HomeUtilityQR Code Decoder

QR Code Decoder

Read a QR code from any image. Free, private, runs in your browser.

100% private — your files never leave your browser. All processing happens locally on your device.

Drop, paste, or pick a QR-code image

PNG, JPG, or WebP. Decoded entirely in your browser.

Pick or drop a QR-code image to decode.

You might also need

QR Code GeneratorGenerate QR codes from text or URLs
Wi-Fi QR Code GeneratorMake a QR code guests scan to join your Wi-Fi
Barcode GeneratorGenerate EAN-13, UPC-A, Code 128, Code 39 barcodes
Screenshot to Text (OCR)Extract text from images using OCR

Decoding QR Codes Out Of Photos

You take a photo of a QR code on a poster, a receipt, a product label, or a screen. You want the data the code contains without downloading a separate scanning app. Drop the image here and the tool runs it through jsQR — a pure-JavaScript QR-code reader that works on plain image data. The detected payload is shown with a type label (URL, Wi-Fi, vCard, etc.) and a copy button. Everything stays in your browser.

What The Classifier Does

Once the QR code is decoded, the tool inspects the payload prefix and labels it. `https://…` is a URL, `WIFI:…` is a Wi-Fi network credential, `BEGIN:VCARD` is a vCard contact, `MECARD:` is a MECARD contact, `mailto:` is an email, `smsto:`/`sms:` is an SMS, `tel:` is a phone number, `geo:` is a map location. Everything else is surfaced as plain text. The label helps you understand what the QR was meant to do — especially useful when the payload is long or opaque.

When Decoding Fails

QR-code decoding needs a clear view of the code — sufficient resolution, moderate focus, limited perspective distortion. If the code is tiny in a wide photo, crop closer to just the code before dropping it here. If the photo is blurry, re-shoot with better light or steady the camera. Damage to the code (creases, stains, missing corners) sometimes prevents decoding — QR has error correction built in, but heavy damage exceeds its tolerance.

100% Local — Never Uploaded

The image you drop is rendered onto a browser canvas and passed to the jsQR algorithm entirely inside your device. Nothing travels over the network. This matters because QR codes often contain sensitive information — Wi-Fi passwords, crypto-wallet addresses, ticket credentials — and a server-side decoder would be a privacy hazard. Use this tool to scan QR codes you received privately without trusting them to a third-party service.

FAQ

What image types can I decode?

PNG, JPG, WebP, GIF, and BMP. Drag from your file manager, paste directly from the clipboard, or tap 'Choose image' and pick one.

Does it support all QR content types?

Yes — we detect and label URL, Wi-Fi, vCard, MECARD, email, SMS, tel, geo, and plain-text payloads. The raw decoded string is always available to copy.

Will it work for blurry or angled photos?

It handles moderate blur and perspective. Very small QR codes in a wide shot, or heavily damaged codes, may fail — crop closer to the code or re-take the photo with better light.

Is the image uploaded anywhere?

No. The image is decoded entirely in your browser using the jsQR library. Nothing is transmitted to our servers, nothing is logged.