Skip to content
QR decoding

Read a QR Code from an image or a screenshot

Decode a QR Code from an image or screenshot, no camera needed. The tool reads the code and recognises the content type: web link, Wi-Fi network, vCard/MeCard contact, SEPA transfer or plain text, presenting it in readable form. The image is processed in the browser: it is never uploaded to any server and no data leaves the device.

Drop the QR image here or click
Photo, screenshot or export of a QR Code (PNG, JPG, WebP).

How to decode a QR Code from an image

  1. 1

    Load the image

    Drop a photo, a screenshot or a QR export into the drop zone, or click to select the file. No camera required.

  2. 2

    Automatic reading

    The tool draws the image onto a canvas as pixels and locates the QR Code, decoding its content. It works best with sharp, well-contrasted codes.

  3. 3

    Read the recognised content

    The text is shown both raw and interpreted: if it is a link you can open it, if it is a Wi-Fi network you see SSID and password, if it is a contact the vCard fields, and so on.

  4. 4

    Copy or open

    Copy the content with one click or, for links, open it in a new tab. Always check a link's destination before opening it.

How decoding works and what a QR holds

A QR Code is a matrix of black and white modules that encodes data with redundancy, thanks to Reed-Solomon error correction, so it stays readable even when partly damaged. To decode it from an image, the tool draws it onto a canvas, extracts the pixels and looks for the QR finder patterns, rebuilding the grid and reading the bytes. No camera and no server needed: an image file is enough.

A QR's content is almost always text, but with conventions that signal its meaning. A link starts with http; a Wi-Fi network uses the format WIFI:S:name;T:WPA;P:password;;; a contact uses vCard or MeCard; a transfer follows the SEPA EPC069-12 standard; there are prefixes for email (mailto:), phone (tel:) and location (geo:) too. The tool recognises these schemes and shows the fields in readable form, alongside the raw text.

Everything happens in the browser: the image is never sent anywhere. This matters most for security, because QR Codes are a common phishing vehicle (so-called quishing): being able to read a suspicious QR's destination without pointing your phone at it and without being redirected lets you check where it leads before deciding whether to trust it.

Glossary

Technical terms used on this page, briefly explained.

QR Code #
Quick Response code: a two-dimensional barcode that stores data in a matrix of modules. It includes error correction, so it stays readable even when partly damaged.
Error correction #
Redundancy (Reed-Solomon) built into the QR that lets it rebuild the content even with part of the code missing or dirty, up to roughly 30% depending on the level.
Wi-Fi format #
The WIFI:S:ssid;T:type;P:password;; convention used in QR codes to auto-connect to a network. The tool extracts SSID, security type and password.
vCard / MeCard #
Standard formats for contacts. A QR with vCard holds name, phone, email and other fields the phone can save to its address book from one scan.
SEPA EPC069-12 #
The European standard for transfer QR codes: it holds beneficiary, IBAN and amount. The same format produced by this site's QR generator.
Quishing #
Phishing via QR Code: a seemingly harmless code that leads to a malicious site. Reading the QR's content before opening it helps unmask it.

QR Code reader FAQ

Is the QR image uploaded to a server?
No. The image is drawn onto a canvas and decoded in the browser. It is never sent anywhere. You can verify it in the Network tab of the developer tools or use the tool offline after loading the page.
Why does it not recognise my QR?
Usually image quality: a code that is too small, blurry, skewed, low-contrast or surrounded by a lot of background. Try cropping the image around the QR only, increasing contrast, or using a higher-resolution version.
Why read a QR from an image instead of with the phone?
Mostly for security. Pointing your phone at an unknown QR often opens the link immediately, exposing you to phishing (quishing). Decoding it here shows you the destination in clear, without opening it, so you can judge it before trusting it.
Does it recognise SEPA transfer QR codes?
Yes. It recognises the SEPA EPC069-12 format and shows the transfer fields (beneficiary, IBAN, amount) in readable form. It is the same standard produced by this site's QR generator.
Can I read several QR codes in one image?
The tool reads the main QR Code present in the image. If there are several, it is best to crop and load one code at a time for reliable results.
Does it also read regular barcodes (EAN, Code 128)?
No, it is specific to QR Codes (two-dimensional codes). Linear barcodes like EAN or Code 128 use a different decoding and are not supported.
Does it work offline?
Yes. Once the page is loaded, all decoding happens locally in the browser. You can turn off your connection and keep reading QR codes from your images.

Who builds these tools?

Maurizio Fonte, senior IT consultant with 20+ years in PHP, Laravel, unmanaged Linux infrastructure, applied cybersecurity and AI/LLM integration. Production backends, legacy code modernization, security audits, custom AI agents and MCP servers: the work behind every tool published here.

About Maurizio Fonte