Logo

MonoCalc

/

QR Code Decoder

Encode/Decode

Drop QR code image here

or click to browse  ·  PNG, JPG, WEBP, BMP, GIF  ·  max 10 MB

You can also paste (Ctrl+V) a screenshot directly

About This Tool

🔍 QR Code Decoder – Instantly Decode Any QR Image

A QR Code Decoder extracts the hidden data embedded inside a QR (Quick Response) code image — revealing URLs, Wi-Fi passwords, contact cards, calendar events, and more. This tool performs the entire decoding process locally inside your browser using the jsQR library, so your images are never sent to any server.

How to Use This Tool

Three input modes are available, each suited to a different workflow:

  1. Upload Image — drag & drop or click to browse for a PNG, JPG, WEBP, BMP, or GIF file containing a QR code.
  2. Paste from Clipboard — copy any QR code screenshot and press Ctrl+V (or ⌘+V on Mac) anywhere on the page.
  3. From URL — paste a direct link to a remote QR code image and the tool will fetch and decode it. Note: some servers block cross-origin requests, in which case downloading the image and uploading it directly works best.

How the Decoding Works

When you provide an image, the decoder follows this pipeline:

  1. The image is drawn onto an off-screen HTML5 <canvas>.
  2. Raw pixel data is extracted via ctx.getImageData().
  3. The pixel array is passed to jsQR(data, width, height), which locates the three finder patterns and reads the encoded modules.
  4. The raw decoded string is returned along with the QR version number and the bounding-box corner coordinates.
  5. The decoded string is analysed against known payload schemas to auto-detect the content type and parse structured fields.
  6. A green polygon is drawn on the image preview around the detected QR region.

Supported Content Types

Content TypeDetection PatternParsed Fields
URLStarts with http://, https://, ftp://Full URL, protocol, domain
Wi-FiStarts with WIFI:SSID, Password, Security type, Hidden flag
vCardStarts with BEGIN:VCARDName, Phone, Email, Organization, URL
SMSStarts with SMSTO: or sms:Phone number, Message body
EmailStarts with mailto:To address, Subject, Body
GeoStarts with geo:Latitude, Longitude
CalendarStarts with BEGIN:VEVENTRaw iCal event data
Plain TextNo matching schemaRaw decoded string

Tips for Better Decode Accuracy

Use high-resolution images
QR code images should be at least 200×200 pixels. Blurry or heavily compressed images (e.g., heavily re-saved JPEGs) may fail to decode.
Dark-background QR codes
Enable the Invert Colors toggle when your QR code has light modules on a dark background. The decoder will attempt both orientations when this option is active.
Privacy-first — fully offline decoding
All processing happens in your browser tab. No image data, decoded text, or metadata is ever transmitted to a server.

QR Code Versions & Error Correction

QR codes come in 40 versions (sizes), from Version 1 (21×21 modules) to Version 40 (177×177 modules). Higher versions store more data. Each QR code also embeds an error correction level that allows partial damage to be recovered:

LevelRecovery CapacityTypical Use Case
L (Low)~7%Clean environments, digital displays
M (Medium)~15%General purpose (default for most generators)
Q (Quartile)~25%Industrial, moderate wear expected
H (High)~30%Logos overlaid on QR, highly damaged codes

Common Use Cases

🔗

Verify Links

Preview the URL a QR code encodes before following it — useful for spotting phishing QRs.

📶

Extract Wi-Fi Credentials

Retrieve the SSID and password from a printed Wi-Fi QR sticker without a phone camera.

👤

Parse vCard Contacts

Extract name, phone, email, and organisation from business-card QR codes.

🐛

Debug QR Payloads

Developers can inspect the exact encoded payload of any QR code during testing.

Limitations

The decoder works best with standard QR Code Model 2 codes (versions 1–40). Micro QR codes, structured-append QR codes, and proprietary variants (e.g., Aztec, DataMatrix) are not currently supported. Very small QR codes embedded in large images may also require cropping to the QR region before uploading.

Frequently Asked Questions

Is the QR Code Decoder free?

Yes, QR Code Decoder is totally free :)

Can I use the QR Code Decoder offline?

Yes, you can install the webapp as PWA.

Is it safe to use QR Code Decoder?

Yes, any data related to QR Code Decoder only stored in your browser (if storage required). You can simply clear browser cache to clear all the stored data. We do not store any data on server.

How does the QR Code Decoder work?

The decoder reads the pixel data from your uploaded image using an HTML5 canvas, then passes the pixel array to the jsQR library which analyzes the QR code pattern and extracts the encoded data entirely in your browser — nothing is sent to a server.

What types of content can this decoder detect?

The decoder automatically identifies URLs, Wi-Fi credentials (SSID, password, security type), vCard contacts, SMS messages, email addresses (mailto links), geo-coordinates, calendar events (iCal/VEVENT), and plain text payloads.

What image formats are supported?

You can upload PNG, JPG/JPEG, WEBP, BMP, and GIF files. The image is processed locally in your browser, so there are no size restrictions imposed by server uploads, though very large images may take a moment to process.

Can I decode a QR code from my clipboard?

Yes. After copying a QR code screenshot to your clipboard, click the Paste from Clipboard button (or press Ctrl+V anywhere on the page) and the image will be automatically decoded.

Is my image data kept private?

Completely. The entire decoding process runs locally in your browser using WebAssembly-accelerated JavaScript. Your image is never uploaded to any server.

Why does the decoder fail to read some QR codes?

Decoding can fail if the QR code image is too blurry, has very low resolution, has poor contrast, or is heavily distorted. Try uploading a higher-resolution version or enabling the Invert Colors toggle for dark-background QR codes.