You received a screenshot with a QR code. You found a QR code in a document but don’t have your phone handy. You want to verify what a QR code encodes before scanning it. A QR code decoder online handles all of these without installing anything.
Why Decode a QR Code Online
Scanning with a phone works when you’re physically present with a printed code. It doesn’t work when the code lives in:
- A screenshot or photo
- A PDF or presentation slide
- An email or chat message
- An image file on your desktop
More importantly, decoding first lets you see what a QR code links to before you visit it. Phishing attacks increasingly use QR codes precisely because most people scan without thinking. Reading the encoded content first is the safer workflow.
How to Use the QR Code Decoder
- Open the QR Code Decoder
- Drop an image file onto the tool, or click to upload
- The tool reads the image and displays the decoded content immediately
Supported input: PNG, JPG, JPEG, GIF, WebP, BMP, and most other common image formats. There is no file size limit imposed by the tool itself — browser memory is the practical constraint.
The result panel shows the raw encoded string. If it’s a URL, you can inspect the full address before deciding whether to open it.
What QR Codes Can Contain
QR codes encode arbitrary text. The content type determines what action a scanner app takes:
| Type | Format | What Apps Do |
|---|---|---|
| URL | https://example.com | Open in browser |
| Wi-Fi | WIFI:T:WPA;S:Network;P:pass;; | Prompt to connect |
mailto:[email protected] | Open mail client | |
| Phone | tel:+1234567890 | Open dialer |
| SMS | sms:+1234567890?body=Hi | Open SMS app |
| vCard | BEGIN:VCARD...END:VCARD | Add to contacts |
| Location | geo:37.77,-122.41 | Open maps |
| Plain text | Any string | Display the text |
The decoder shows you the raw string. If it’s a WIFI: string, you can see the password. If it’s a BEGIN:VCARD block, you can read all the contact fields before adding them.
Privacy: Why Client-Side Processing Matters
Most file-processing tools upload your content to their servers. For QR codes, this means your image — which might contain a Wi-Fi password, a private contact, or a sensitive document reference — leaves your machine.
The QR Code Decoder on zerotool.dev processes everything in your browser using the JavaScript QR decoding library. Your image never leaves your device. This is verifiable: watch the network tab in DevTools — no upload requests are made after you drop the file.
This matters especially for:
- QR codes containing Wi-Fi credentials
- Internal document links that shouldn’t be exposed externally
- QR codes on confidential materials
Tips for Better Decoding
Image quality matters. The decoder works best with clear, undistorted images. Blurry photos, heavy compression artifacts, or extreme angles can cause decoding to fail.
Crop tightly if possible. An image containing just the QR code (with a small margin around it) decodes more reliably than a wide-angle photo where the code occupies a small portion of the frame.
QR codes are surprisingly resilient. The QR standard includes error correction — codes can be decoded even when up to 30% of the pattern is obscured or damaged (depending on the error correction level used when the code was created). If a code looks partially covered, try decoding it anyway.
Screenshots decode well. A screenshot of a QR code on a screen is usually higher quality than a phone photo of a printed code. Screenshot-based decoding almost always works.
Try different crops if decoding fails. Sometimes a slightly different crop that excludes glare, shadows, or interfering elements makes the difference.
Related Tool: Generate QR Codes
If you need to create QR codes rather than decode them, the companion tool handles that:
It supports all the same content types — URLs, Wi-Fi credentials, vCards, plain text, and more — with error correction level selection and PNG/SVG download.
Paste your image and read the code in under two seconds. Open the QR Code Decoder →