~/QR ☀ LIGHT ☕ Support me apps ← about me
// free tool — 100% client-side — 10 qr types
██████╗ ██████╗ ██████╗ ██████╗ ██████╗ ███████╗ ██╔══██╗██╔══██╗ ██╔════╝██╔═══██╗██╔══██╗██╔════╝ ██║ ██║██████╔╝ ██║ ██║ ██║██║ ██║█████╗ ██║▄▄██║██╔══██╗ ██║ ██║ ██║██║ ██║██╔══╝ ╚██████╔╝██║ ██║ ╚██████╗╚██████╔╝██████╔╝███████╗ ╚══▀▀═╝ ╚═╝ ╚═╝ ╚═════╝ ╚═════╝ ╚═════╝ ╚══════╝

QR code scanner — read any QR online_

Scan with your camera or upload a screenshot / photo — see the decoded link, WiFi password or text instantly. Need door control? Use the 🎟 Check-in tab for tickets. Free, nothing uploaded.

Generates a geo:lat,lng link. Most phones will open a maps app when scanned.

H — recovers 30% data loss (best for logos)
FG #00ff88
BG #0a0e0f
↑ upload logo (PNG/SVG)

Use H error correction for best results with logo.

fill in the form above ↑
size: —
chars: —
ec: H
type: —

Guide — read any QR code from your camera or an image

Live camera scan or a screenshot upload, decoded in your browser. Plus a ticket check-in mode with duplicate detection.
1Open Scan & Read

The page opens on the ⬚ Scan & Read tab. Choose between an image or the camera.

2Upload a screenshot or photo

Drop an image on Drop QR image here or click it to choose a PNG, JPG, GIF or WebP file. The image is shown next to the result.

3Or use the camera

Press 📷 Start camera scan and allow camera access; the rear camera is used when there is one. Hold the code inside the frame: scanning stops at the first code found, and ✕ stop ends it earlier.

4Use the result

The decoded content appears with a type badge: URL, WiFi, Email, Phone, vCard, Location or Text. Press ⊡ copy text, ↗ open link (links, email, phone and location) or ⚡ create QR from this.

5Check in tickets

For events, switch to 🎟 Check-in and press 🎟 Start check-in scanning: green and a beep for a first scan, red and a double buzz for a duplicate. ⬇ Export CSV saves the log.

Quick reference

IMAGEUpload
files
PNG, JPG, GIF, WebP
codes
one QR code per image
colours
dark code on light background
CAMERALive scan
camera
rear camera preferred
stops
at the first code found
colours
normal and light-on-dark codes
DOORCheck-in mode
valid
green + beep, counted once
duplicate
red + double buzz
export
CSV: code, scanned_at, status

Scanning QR codes online, explained

This QR code scanner reads a code from your webcam or phone camera, or from a screenshot or photo you upload, and shows what is inside: a link, WiFi details, a contact card or plain text. Decoding runs in your browser with the jsQR library, so you can check where a code leads before you open it.

// 10 qr types

URL · Plain text · WiFi credentials
Email with subject & body
SMS · Phone (tel:) · vCard contact
GPS location (geo:) · Calendar event
Cryptocurrency (BTC, ETH, LTC, XMR)

// output formats

PNG — at 128, 256, 512 or 1024px
SVG — infinitely scalable, ideal for print
Copy to clipboard — paste into any app
Shareable link — QR encoded in URL
ZIP archive — for bulk generation

// customization

Dot styles — square, rounded, dots
Color themes — 6 presets + full custom
Logo overlay — upload any image
Error correction — L/M/Q/H (up to 30%)

// privacy

100% client-side — QR content never sent to a server
Keeps working offline — once the page has loaded
No account — no signup, ever
No tracking of your inputs — only a cookieless page-view count

How do I scan a QR code from a screenshot or image?

Drop the image on the scan area or click it to choose a file. The first QR code found in the image is decoded and its content shown with a type badge, ready to copy or open. If you get No QR code found, crop the image closer to the code or use a sharper photo. Uploaded images are read as dark modules on a light background, so for a light-on-dark code (white on black, or this site's green Terminal theme) hold the screen in front of the camera instead.

Can I scan a QR code with my laptop camera?

Yes. Press 📷 Start camera scan, allow camera access in your browser and hold the code in front of the webcam. Every frame is decoded live in your browser; the camera stops as soon as a code is read. Camera access needs a browser that supports it and your permission; on a phone the rear camera is chosen.

What does the scanner show for WiFi, contact or calendar codes?

It shows the raw content, so you can read a WiFi network name and password (WIFI:T:WPA;S:…;P:…;;) or a vCard's fields as text and copy them. URLs, email, phone and location codes get an ↗ open link button; WiFi and vCard codes are recognised by type but not applied to your device, and other content such as SMS, calendar events or crypto addresses is shown as Text.

Can I use this to check in tickets at an event?

Yes. The 🎟 Check-in tab scans continuously: a valid first scan flashes green with a beep, a ticket that was already used flashes red with a double buzz and the time of its first scan. Holding the same code in view is ignored for 2.5 seconds, so it is not counted twice. You get live valid, duplicate and total counters, a scan log and a CSV export. The session is saved in that browser and survives a reload; it is not shared between devices. Create the tickets with the bulk QR code generator.

Is the QR content or my camera feed uploaded?

No. Images and camera frames are decoded on your device with JavaScript, and neither the picture nor the decoded content is sent anywhere. The check-in log is kept in this browser's local storage until you press 🧹 Reset session.

What types of QR codes can I generate?

10 types: URL (any web link), plain text, WiFi (SSID + password + security, scans directly connect), Email (with pre-filled subject and body), SMS, Phone (click to call), vCard (full contact card — name, phone, email, org, title, address), GPS location (opens maps app), Calendar event (iCalendar format), and Cryptocurrency (Bitcoin, Ethereum, Litecoin, Monero).

How do I add a logo to my QR code?

In the ⚡ Generate tab, use logo overlay in the settings panel to upload an image (PNG, SVG, JPG …). It is drawn in the centre at about 22% of the code width, on a white rounded square. Uploading a logo switches error correction to H (also the default), so the code survives the covered centre. The logo is included in the PNG download and the copied image, but not in the SVG download or in bulk codes.

What is SVG export and why use it?

SVG (Scalable Vector Graphics) is a resolution-independent format. Unlike PNG which becomes blurry when enlarged, an SVG QR code scales perfectly to any size — ideal for business cards, posters, merchandise, presentations, and print materials. Click ↓ SVG in the download bar after generating.

How does bulk QR generation work?

Switch to the Bulk tab. Paste one URL or text per line. You can also use label,url CSV format to name each file. Click ⚡ Generate all — a QR code is created for each entry, black on white with square modules, at 256, 512 or 1024 px and the error correction level you pick. Preview them in the grid, then click Download ZIP to save all as a single archive.

How do I create a WiFi QR code?

Select the 📶 WiFi type. Enter your network name (SSID), password, and security type (WPA/WPA2 is most common). When a phone scans the QR code, it will automatically offer to connect to that network — no typing required.

What dot styles are available?

Three styles: Square (standard, maximum compatibility), Rounded (rounded modules) and Dots (circular modules). The style applies to every module, including the three corner finder patterns, and is kept in the SVG download. Square is the safest choice; test rounded or dots with a few phones before you print, and keep H error correction for the best reliability.

Can I create a vCard QR code to share my contact?

Yes. Select the 👤 vCard type and fill in any combination of name, phone, email, organization, job title, website, and address. When scanned, the phone offers to add the contact directly to the address book — no app required.

Do QR codes expire?

Static QR codes never expire. The data is baked into the pattern — there is no external service or server involved. Unlike dynamic QR codes from paid services, these work forever as long as the linked URL remains active.

Is my data sent to a server?

The content you encode is not sent to a server: QR generation, SVG export, bulk processing and scanning all run in your browser with JavaScript. The page loads its QR libraries (qrcodejs, jsQR and JSZip) from the cdnjs CDN and counts page views with cookieless Simple Analytics. Two things to know: your last six codes are kept in this browser's local storage for the recently generated list, and the address bar is updated to ?data=… with the encoded content, so it lands in your browser history and in any link you share.

Can I link directly to a generated QR code?

Yes. The generator reads a data URL parameter and the address bar stays in sync as you type, so you (or an AI assistant) can build a deep link by hand. Open ?data=https%3A%2F%2Fexample.com to load that QR pre-generated — a value starting with http opens as a URL QR, anything else as a text QR. The aliases url, text and content also work, and the share button copies the current link. Links carry at most the first 300 characters of the content, so a long text or vCard is cut off in a shared link. Older #hash links keep working too.

More free tools