Developer Tools2026-05-10

QR Code Reader: Scan and Decode QR Codes Online (Camera & File Upload)

A QR code (Quick Response code) packs up to 7,089 numeric characters or 2,953 bytes of binary data into a square grid of black and white modules — and you encounter them dozens of times per day on product packaging, restaurant menus, payment terminals, event tickets, and marketing materials. Our QR code reader decodes any QR code instantly using your device camera (real-time scanning) or by decoding an uploaded image file. Unlike many online QR readers that send your scanned data to a remote server for processing, our tool runs the decoding engine entirely in your browser using the jsQR and ZXing libraries compiled to WebAssembly — your scanned URLs, WiFi credentials, or contact details never leave your device. The reader supports all data types that QR codes can encode: plain URLs and text, WiFi network credentials (SSID, password, encryption type), vCard contact information, email addresses with subject and body prefilled, SMS messages with recipient and body, geographic coordinates (geo: URI), calendar events (iCalendar format), and phone numbers. After decoding, the tool displays the extracted data and offers one-click actions — open a URL in a new tab, connect to a WiFi network, add a contact, or copy the raw decoded string.

qr_code_scanner

QR Code Reader

Free · No registration

Try this tool for free →open_in_new

Step-by-Step Guide

1

Choose Your Scanning Method

Select "Camera" to scan a QR code using your device's webcam in real time — point the camera at any QR code and the tool decodes it automatically within 200-500 milliseconds. Alternatively, select "File Upload" to decode a QR code from a saved image (screenshot, photo, PDF page, or embedded QR in a document). The file upload mode supports PNG, JPEG, WebP, GIF, BMP, and TIFF formats.

2

View and Act on the Decoded Data

The decoded content appears instantly with automatic detection of the data type. For a URL, a "Visit" button opens it safely in a new tab (after a security preview). For WiFi credentials, the SSID and password are displayed with a one-click "Connect" action. For vCard contacts, all fields (name, phone, email, organization, address) are parsed into a contact card you can save. The raw decoded string is always shown at the bottom for verification.

3

Handle Multiple Codes and Export Results

For images containing multiple QR codes (e.g., a page of product labels), the reader detects and decodes all of them simultaneously, displaying results in a numbered list. Export decoded data as JSON for integration with your application or CSV for spreadsheet analysis. A scan history (stored locally in your browser's localStorage) lets you revisit recently scanned codes without rescanning.

Tips & Best Practices

check_circle

QR code versions range from 1 (21x21 modules, holds up to 25 characters) to 40 (177x177 modules, holds up to 7,089 numeric characters). Most consumer QR codes are versions 2-10 (25x25 to 57x57). For sub-optimal scanning conditions, choose a lower version with higher error correction.

check_circle

QR code error correction uses Reed-Solomon codes at four levels: L (Low, 7% recovery — maximum data capacity, use for clean digital displays), M (Medium, 15% — the default for most QR codes, the best balance), Q (Quartile, 25% — use for printed materials with risk of minor damage), and H (High, 30% — use for outdoor posters, product packaging, or any code that may get dirty or partially obscured). A code with H-level correction can still be read if up to 30% of its modules are damaged.

check_circle

The three large squares in the corners of every QR code are the finder patterns — the scanner locates these first to determine the code's orientation and perspective distortion. The smaller square (or squares, in version 2+) between them is the alignment pattern, which helps the scanner correct for curvature when the code is printed on a curved surface.

check_circle

QR code data capacity by type: Numeric only — 7,089 characters (version 40, error correction L). Alphanumeric (0-9, A-Z, space, $%*+-./:) — 4,296 characters. Binary/byte (ISO 8859-1) — 2,953 bytes. Kanji (Shift JIS) — 1,817 characters. For most real-world use, QR codes store 50-150 characters of data.

check_circle

When scanning from a screen (e.g., a QR code displayed on another phone or monitor), reduce the screen brightness of the source device slightly to improve contrast for the scanner. Camera-based QR readers can struggle with screen glare — holding the scanning device at a slight angle (15-20 degrees) helps eliminate reflections.

check_circle

Dark mode on mobile devices can interfere with QR code scanning. If a website displays a QR code as a black-on-white image inside a dark-themed page, the surrounding dark pixels can confuse the scanner's finder pattern detection. Ensure QR codes are displayed with a white background and adequate quiet zone (4 modules of white space on all sides) regardless of page theme.

check_circle

For scanning damaged or low-quality QR codes, the file upload method is often more reliable than camera scanning. Take a photo of the code first, then upload the file — the decoding algorithm can spend more processing time on image analysis (applying contrast enhancement, sharpening, and perspective correction) than the real-time camera mode allows.

check_circle

Security: Always preview a QR code's decoded content before opening the link or taking action. QR codes can encode malicious URLs, phishing pages, or payment redirects. Our reader shows you the full decoded content before offering any action button, and for URLs, it displays the domain with a safety check against known phishing databases.

Frequently Asked Questions

The maximum data capacity depends on the QR code version (1-40) and error correction level. At version 40 with error correction L (7%), a QR code can store: 7,089 numeric characters, 4,296 alphanumeric characters, 2,953 bytes of binary data (ISO 8859-1), or 1,817 Kanji characters. For perspective, a vCard with name, phone, email, and URL is typically 150-250 characters — well within even a version 5 QR code (106 bytes at error correction M).

QR codes are everywhere — and our free scanner decodes all of them. Whether you scan with your camera in real time or upload an image file, the decoded data appears instantly with smart action buttons for URLs, WiFi, contacts, and more. All processing happens locally in your browser. Scan a QR code now.

Try this tool for free →open_in_new