Skip to content
← Back

Online QR Code Decoder - Decode QR Code from Image

Media
Runs locally · Not uploaded

Free online QR code decoder: upload, drag & drop or paste an image to decode QR code content instantly. 100% local, your images never leave the browser.

Was this result helpful?

For local tools, open DevTools → Network and search your input — it should not appear in requests.

Usage Guide

You have a QR image and need to know what it actually contains — proofing printed materials, debugging a bad link, or verifying an asset. This tool decodes the image entirely in your browser: URLs, Wi-Fi credentials, vCards, or plain text come back verbatim, and the image never touches a remote service. Failures report a specific reason instead of a generic error.

1. How to decode

Everything runs locally — the practical difference from “online scanner” sites: codes carrying internal URLs, tokens, or personal data never transit a third party.

  1. Upload or paste the QR image (screenshot, photo, or scan).
  2. The finder patterns are located and the payload decoded; the full text appears in the result panel.
  3. Compare against the expected content: an unexpected domain or extra parameters is your signal to stop.

2. Why some codes scan and others don’t

A QR is located by the three corner finder patterns plus a quiet zone around them, then recovered with Reed-Solomon error correction at one of four levels (L/M/Q/H). A level-H code survives 30% damage; a level-L code dies to a scratch. So “scanned fine on screen, fails in print” is rarely the decoder’s fault: printing dot gain ate the contrast, or the design cropped the quiet zone. Knowing the mechanism turns troubleshooting from “try another tool” into “get a better image or regenerate”.

3. Five common failures and fixes

  • Low resolution: give the code at least ~200px per side; export originals rather than chat-app compressed images.
  • Cropped quiet zone: keep at least a 4-module blank margin around the finder patterns when screenshotting.
  • Low contrast or glare: re-shoot with even lighting — more effective than re-uploading the same photo.
  • Multiple codes in one image: crop to a single code; co-located codes interfere with detection.
  • Art codes with logos: occlusion beyond the correction capacity is unrecoverable — regenerate at level H with the in-site generator.

4. Safety: read before you visit

A QR is an invisible hyperlink. For codes of unknown origin, read the domain before opening it and watch for lookalikes (rn vs m, prefix tricks). Tampered payment and package codes are a documented scam pattern. This tool restores but does not judge — the human check on the target domain is the security boundary, and that is precisely its value: turning a blind scan into an informed decision.

5. Privacy and handoff

  • Codes carrying tokens or internal addresses: fine to decode locally, still wrong to paste into public tickets.
  • For print acceptance, archive the decoded text alongside the photo so both sides review the same evidence.
  • Batch spot-checking: reverse-scan 5-10% of codes per batch — cheaper than full inspection, far more reliable than eyeballing.

6. Closing the loop with the generator

The in-site QR generator and this decoder form a round trip: generate → immediately decode → diff against the intended text. That step catches misfilled parameters (swapped vCard fields, a URL missing its scheme) before anything ships. The standard repair flow for damaged prints follows the same pattern: decode the old code for its content, regenerate at level H, decode again to accept.

FAQ

No. Once the image is in the page, jsQR decodes it inside your browser with no remote service involved — codes holding intranet addresses, tokens, or personal information never travel through a third-party server the way online QR sites do.

PNG, JPEG, GIF, BMP, WebP, and other common formats; screenshots, photos, and print scans all work via drag-and-drop, paste, or file picker. The result is the raw text restored as-is: a URL, Wi-Fi credentials, a contact card, or plain text.

Walk the five usual causes: low resolution — keep the code at least 200px on a side and export originals from chat apps that compress; quiet zone cropped — leave at least 4 module-widths of blank margin outside the positioning patterns and include a ring of background when screenshotting; low contrast or glare — reshoot rather than re-upload repeatedly; multiple codes in one image — crop out the target code and decode it alone; art codes with logo occlusion beyond the correction capacity — regenerate an error-correction-H version with the on-site generator.

A QR code is located by the positioning patterns in three corners plus the quiet zone around it, then recovered with Reed-Solomon error correction: a code generated at level H (roughly 30% capacity) survives a damaged corner, while level L dies to a single scratch. Print failures are usually not the decoder — dot gain killed the contrast, or the design cropped the quiet zone. The fix is a better image or regeneration, not a different tool.

Check the domain before visiting. Replaced stickers have been seen on payment codes, group-invite codes, and parcel labels; watch for lookalike domains — rn passing as m, or an extra hyphenated prefix. This tool restores content but doesn't intercept anything; judging authenticity is your call on the target domain — its whole value is turning a blind scan into an informed decision.

Reverse-scan 5-10% of codes per batch — cheaper than full inspection and more reliable than eyeballing screenshots. A code on printed material should point to the agreed URL; extra params or a wrong jump domain means a defect. Archive the decoded text together with a screenshot so both sides argue over the same evidence, and close the loop with the on-site generator: generate, immediately decode back, and compare — it catches mistakes like swapped vCard fields or a URL missing https://.

Related Tools

Related Articles