QR Code Reader

Decode QR codes from uploaded images or your device camera.

Drop an image or click to browse

JPG, PNG, GIF, WebP supported

Note about barcode scanning

This tool uses jsQR which decodes QR codes only. For traditional barcodes (EAN, CODE128, etc.), a specialized library or hardware scanner is required. Camera scanning provides real-time QR detection.

Free online QR code reader and barcode scanner: decode from image or camera

QR codes and barcodes are everywhere: on product packaging, restaurant menus, event tickets, and shipping labels. Sometimes you need to decode one without a dedicated app, or you have an image file containing a code you cannot scan physically. AlteredIdea's reader handles both scenarios entirely in your browser.

Upload an image to decode any QR code or linear barcode it contains, or use your device's camera for live scanning. The ZXing decoding engine handles all major symbologies. Your image data never leaves your device: everything runs locally with no server involvement.

How to use: step by step

  1. 1
    Choose input method
    Select Upload to decode from an image file, or Camera to scan live using your device's webcam or phone camera.
  2. 2
    Upload or scan
    Drop a PNG, JPG, GIF, or WebP image onto the upload area, or allow camera access and point at the code you want to scan.
  3. 3
    Decode instantly
    The tool automatically detects and decodes the QR code or barcode in the image. No button press required for uploads.
  4. 4
    Read the decoded value
    The decoded text, URL, or data string appears in the result panel. For URLs, a direct link is shown for easy navigation.
  5. 5
    Copy the result
    Click Copy to copy the decoded value to your clipboard and use it anywhere.

Related Tools

Frequently Asked Questions

What code types can this reader decode?
The reader decodes QR codes (all versions), as well as common linear barcodes including CODE128, EAN-13, EAN-8, UPC-A, UPC-E, CODE39, and ITF. The underlying library uses ZXing, one of the most widely adopted barcode processing engines.
Does my image get uploaded to a server?
No. Decoding happens entirely in your browser using the ZXing JavaScript library. Your image data never leaves your device.
What image formats are supported for upload?
You can upload PNG, JPEG, GIF, WebP, and most other common image formats. The image is decoded client-side, so file size constraints are determined by your browser memory rather than a server limit.
Why does the scanner fail to read my QR code?
Common causes include a blurry or low-resolution image, insufficient contrast between the code and background, a partially damaged or obscured code, or very small codes photographed from too far away. Try a clearer, closer, or better-lit image.
Can I scan a barcode on a product label?
Yes. Upload or photograph the barcode on the label. EAN-13, UPC-A, and CODE128 are all supported: the most common formats used on retail and shipping labels.
Does the camera mode work on mobile?
Yes. On mobile browsers the camera permission prompt will give you the option to use the front or rear camera. Rear camera works best for scanning physical codes.
Can I decode a QR code from a screenshot?
Yes. Take a screenshot of the QR code, save it, and upload it to the tool. This is useful for decoding QR codes found in emails, documents, or websites.
What data can a QR code contain?
QR codes can encode plain text, URLs, Wi-Fi credentials (SSID and password), contact cards (vCard), email addresses, phone numbers, geo-coordinates, and more. The decoded value reveals what was encoded.
Can I use this to check if a QR code links to a safe URL?
The tool displays the decoded URL, allowing you to inspect it before visiting. Always verify the domain name carefully before following a decoded link.
Is there a limit to how many codes I can scan?
No. You can scan an unlimited number of codes: there are no usage limits, no accounts, and no rate limiting.

AlteredIdea vs alternatives

vs command-line tools: No terminal needed. Works in any browser on any device.

vs paid generator tools: Completely free, no account required, no rate limits.

vs library functions: Instant results: no coding needed. Just click and copy.