All tools

QR code decoder

QR codes encode URLs, payment links, WiFi credentials, and contact cards as 2D barcodes. Upload a screenshot or photo — or use camera if supported — to read the payload without sending the image to a cloud OCR service.

How to decode a QR code

1. Upload PNG/JPG containing QR or allow camera access.
2. Center the code in frame with good contrast.
3. Read decoded text or URL result.
4. Verify link domain before visiting — phishing uses QR too.

QR decode examples

Restaurant menu URL

Photo of table tent QR opens menu PDF link — decode first to inspect hostname.

WiFi join payload

WIFI:T:WPA;S:HomeNetwork;P:secret;; parsed to configure Android manually.

Event ticket

Decode ticket QR to compare UUID with registration database entry.

When to decode QR locally

When verifying QR content before clicking on sensitive devices.
When extracting WiFi or vCard data from screenshot.
When testing QR you generated with qrCodeGenerator.

When decoding fails

When image is blurry or damaged — retake photo with even lighting.
When code is inverted colors some decoders struggle — increase contrast.
When barcode is 1D UPC not QR — use barcode-specific reader.

QR payload types

http/https URLs most common; also mailto:, tel:, sms:, BEGIN:VCARD, and crypto wallet addresses — know format before acting.

Print quality

Minimum module size 4 pixels for reliable scan — tiny QR on billboards need distance math.

Quishing

Email QR phishing ("quishing") trains users to decode before open — corporate security awareness includes QR.

Frequently asked questions

Camera permission?

Browser asks for webcam — requires HTTPS context typically.

Multiple QR in one image?

May decode first found only — crop to single code.

Security warning?

Malicious QR redirects to phishing — always preview URL hostname.

Uploaded to server?

Local decode via canvas/jsQR or similar — image stays device-side.

Max QR capacity?

Up to ~4 KB alphanumeric — longer content need URL shortener.

Generate QR?

Use qrCodeGenerator counterpart on this site.