Skip to main content

Free QR Code Reader

Scan QR codes from uploaded images or live webcam. Decode URLs, Wi-Fi credentials, contact cards, phone numbers, and any other QR content.

Drop a file here, or click to browse

JPG, PNG, WebP, GIF, BMP, AVIF, HEIC, HEIF Β· processed on your device

or press Ctrl+V to paste from your clipboard

Browse files
β€” or β€”

Tip: you can also paste an image from the clipboard (Ctrl+V)

Your files never leave your device. All processing happens locally in your browser.

Common uses

  • Decode Wi-Fi QR CodesRead Wi-Fi QR codes from cafes, hotels, and restaurants to see the SSID and password without manually copying.
  • Decode Contact Card QR CodesRead vCard QR codes from business cards or LinkedIn profiles to extract contact info.
  • Inspect Event Ticket QR CodesDecode the URL or reference code embedded in event tickets, boarding passes, or transit passes.
  • Audit QR Codes Before Trusting ThemDecode QR codes from posters, stickers, or untrusted sources to see what URL they point to before scanning with your phone.
  • Decode Product QR CodesRead product authentication, traceability, or product info QR codes from packaging.

How It Works

QR codes are decoded entirely in your browser using a tiny pure-JavaScript library (~30 KB). No image is ever uploaded β€” even when you use the live webcam scanner.

  1. 1
    You drop an image or start the webcam
    For file decoding: the image is loaded into memory. For live scanning: your camera feed stays on your device β€” frames are captured locally and never transmitted.
  2. 2
    Pixels are analyzed by the jsQR library
    jsQR scans the pixel data looking for the QR code's distinctive finder patterns (the three large squares in the corners). Once found, it decodes the data matrix into text.
  3. 3
    The decoded text is shown with a type hint
    The tool detects whether the QR contains a URL, Wi-Fi credentials, vCard, email, etc. and labels it accordingly. You can copy or follow safe URLs directly.

Webcam scanning never sends video to any server. The camera stream lives entirely in your browser, gets read frame-by-frame, and is discarded as soon as you stop scanning.

Related Tools

Frequently Asked Questions