QR Code Decoder
Read any QR code from a screenshot or photo. Upload, drop or paste the image and QRPixel decodes the payload on your device — nothing is ever uploaded.
How to decode a QR code image, step by step
Step 1 — get the code into an image file. A screenshot of a code on screen, a photo of a printed code, or a PNG or SVG export from a generator all work. Aim for the pattern filling a decent part of the frame with a little clear space around it.
Step 2 — hand it to the decoder above. Drag and drop the file, click the area to browse, or press Ctrl+V (Cmd+V on a Mac) to paste from your clipboard, which is the fastest route for screenshots.
Step 3 — read the result. The decoded payload appears as text along with its detected type, so a WiFi code shows the network and password fields rather than the raw encoded string.
Step 4 — copy or act on it. Use the copy button to move the content into a document or ticket, or open the reset control and decode another image.
What the decoder can read
Input methods: you have three ways to hand the decoder an image. Drag and drop a file onto the drop area, click to browse your device for a PNG, JPG, WebP or GIF, or paste a screenshot directly with Ctrl+V (Cmd+V on a Mac) — the paste option is the fastest route when the code is on another screen. Images up to 25 MB are accepted.
Payload types: the decoder reads any standard QR code and classifies the payload for you. A URL is shown as a link with an open button, a WiFi code is broken into network name, security type and password fields, a vCard is split into name, phone, email and address, and email, SMS, phone, geo-location and plain-text payloads are labelled so you know exactly what scanning the code would do before you act on it.
The raw encoded string is always shown alongside the friendly fields, and a copy button and TXT download let you move the result into a ticket, document or spreadsheet. A session history keeps your last decodes in the tab so you can compare a batch of codes — clearing the tab clears the history.
Troubleshooting: when a QR code will not decode
Blur is the most common failure. A photo taken while moving, or a screenshot that has been compressed and re-shared, smears the small modules until they merge. Retake the photo holding the phone steady, or get the original file rather than a messaging-app copy.
Missing quiet zone is next. Every QR code needs a clear border around the pattern; if the image is cropped tight against the modules, or the code was printed edge-to-edge, the decoder cannot tell where the code ends. Include some white space around all four sides and try again.
Angle, glare and contrast also matter. Photograph the code straight on rather than from the side, avoid flash reflections on glossy print or laminated surfaces, and be cautious with heavily styled codes — light modules on a dark background, low-contrast brand colours, or a logo covering the finder patterns can all defeat a reader even when the code looks fine to the eye.
If the code still will not read, check the basics: is it actually a QR code (not a Data Matrix, Aztec or barcode — those need a different reader), is the whole pattern in frame, and does another device decode it? If nothing reads it anywhere, the code itself is likely damaged or was generated incorrectly.
When a decoder is the right tool
Proofing before print is the most common use: decode the exported artwork and check the destination exactly matches what you intended, including https, trailing slashes and campaign parameters.
Recovering content from an old code is another — a legacy flyer, a supplier label or an archived design file where nobody remembers where the code pointed. Decoding the artwork answers it in seconds.
Auditing a code you did not create is the safety case. Instead of scanning a suspicious code with your phone, decode the photo here and inspect the URL as text first.
Working on a desktop without a camera also matters — a laptop with no webcam, or a locked-down work machine, can still read codes through an image file.
Practical examples
Checking a print proof: you exported a QR code for a flyer. Drop the PNG into the decoder, confirm the payload is exactly https://yourdomain.com/offer with no typo, then approve the print run. Two minutes of decoding beats reprinting a thousand flyers.
Reading a WiFi code from a photo: a venue texts you a photo of their WiFi QR code. Decode it here and the network name and password appear as separate fields you can copy, without photographing the code again with your camera app.
Inspecting an unknown code safely: a sticker over a parking meter QR code looks suspicious. Photograph it, decode the image, and read the destination URL as text. If it points somewhere unexpected, you found out without ever opening the link.
Verifying a batch: after generating codes in bulk from a CSV, decode a sample from the beginning, middle and end of the set and check each payload against the source row — a quick way to catch a shifted column before anything ships.
Privacy: what happens to your image
The decoder reads pixel data from the file in the browser, so there is no upload, no temporary storage and no account. Closing the tab removes everything, and the preview object URL is released as soon as you reset or leave the page.
Because nothing is transmitted, the tool also works offline once the page has loaded — useful on a venue WiFi network you would rather not send a WiFi credential code across.
Ready to try it?
Frequently asked questions
What is a QR code decoder?
A QR code decoder is the opposite of a QR code generator: instead of turning content into a code, it takes an image containing a QR code and reads the data stored inside it. QRPixel's decoder accepts a screenshot, photo or exported image and shows you the exact payload — the URL, WiFi credentials, contact card or text — so you can inspect it, copy it or verify it before use.
How do I decode a QR code from an image?
Drag the image into the drop area, click to browse for a file, or paste a screenshot straight from your clipboard. The decoder locates the pattern, reads the payload and shows the decoded content with a copy button — no upload step and no waiting on a server.
Which QR code types can it read?
Anything encoded in a standard QR code: plain URLs and text, WiFi credentials, vCard contact details, email and SMS templates, WhatsApp links, phone numbers, geographic coordinates and calendar events. Recognised types are labelled so you can see at a glance what the code would do when scanned.
Is the image I upload sent anywhere?
No. Decoding runs entirely in your browser using the local canvas and a JavaScript decoder, so the file never leaves your device. That matters when the code holds a WiFi password, a private link or contact details you would rather not hand to a third-party service.
Why does a QR code fail to decode?
The usual causes are a blurred or motion-shaky photo, a code cropped so tightly that its quiet zone is missing, extreme angle or glare, or a heavily stylised code with too little contrast. Retake the photo straight on with even lighting, include a little white space around the pattern, and try again.
Can I check a QR code before printing it?
Yes, and it is worth doing on every print run. Export the finished code, decode it here, and confirm the payload character for character — a typo in a URL is far cheaper to catch before a thousand flyers than after.
Should I trust a link a QR code decodes to?
Read the decoded URL before opening it. Decoding a code you found on a poster or parking meter is a safe way to inspect the destination without your phone jumping straight into a browser, which is exactly how QR phishing ("quishing") attempts work.
Which image formats and sizes work?
Any image your browser can draw — PNG, JPG, WebP and GIF all work. Files up to 25 MB are accepted, and large photos are scaled down in the browser before reading, which keeps decoding fast even for high-resolution phone pictures.
Can it decode a damaged or partly covered QR code?
Often, yes. QR codes carry built-in error correction, so a code with a logo over the middle or a scuffed corner can still decode if enough of the pattern survives. Make sure all three finder squares (the large corner squares) are visible in the image — those are what the decoder uses to locate and orient the code.
Related tools and guides
- QR code generator — Create a new QR code for a URL, WiFi network, vCard, text and more.
- Bulk QR generator — Generate many codes from a CSV, then spot-check a few of them with this decoder.
- Barcode scanner — Use your camera to read barcodes and QR codes live instead of from a file.
- Print QR code generator — Print-ready export settings for codes you have just verified.
- How to test a QR code before printing — The full proofing routine, from decoding the file to scanning a physical sample.
- QR code security and quishing — Why inspecting a decoded URL before opening it is a sensible habit.
- Decode a QR code from an image — A focused guide to reading codes from screenshots, photos and PDF exports.
- How to print a QR code — Sizing, quiet zones and print settings so the code you verified keeps scanning on paper.
- All QRPixel tools — Generators, bulk tools, barcode tools and scanners in one place.