Free Online Barcode Scanner (No App, No Upload)
Scan barcodes and QR codes from a photo in your browser. No app, no upload — instant results for labels, packaging, and QR codes.
Upload a photo of a barcode or QR code and get the decoded value — UPC, EAN, Code 128, Data Matrix, and more. Nothing leaves your browser.
Drop an image here, click to browse, or paste
A photo or screenshot works — JPG, PNG, WebP, GIF, HEIC, and more
UPC, EAN, Code 128, and more alongside QR, Data Matrix, Aztec, and PDF417 — not just QR.
Decoded entirely in your browser. The image you upload is never sent to a server.
A phone photo of a product label or a screenshot of a digital ticket both decode the same way.
The underlying decoder handles a rotated, skewed, or slightly off-angle shot, not just a perfectly square one.
No sign-up, no usage limit, nothing added to the result — free the way it should be.
Decoding finishes in under a second for a typical photo, right after it loads.
Drop, paste, or browse for a photo or screenshot that contains a barcode or QR code.
The image is scanned the moment it loads — no button to click, no camera permission to grant.
The decoded text appears with its format (EAN-13, QR Code, Code 128, ...). Copy it with one click.
No physical scanner, no app install — a photo or screenshot is enough.
Read a product barcode from a photo to verify or look up its code without a physical scanner.
Decode the QR code on a screenshot of a digital ticket, boarding pass, or event pass.
Read a printed barcode or QR code that only exists as an image now, with no live scanner nearby.
Yes — decoding is unlimited, with no account, no watermark, and no daily cap. There's nothing paywalled here.
No. Decoding happens entirely in your browser using an open-source barcode-reading library — the photo you drop never leaves your device or touches a server.
Every common 1D and 2D format: QR Code, UPC-A, UPC-E, EAN-8, EAN-13, Code 39, Code 93, Code 128, ITF, Codabar, RSS-14, RSS Expanded, Data Matrix, Aztec, PDF417, and MaxiCode.
The most common causes are a blurry or low-resolution photo, the code being too small/far away in the frame, glare or shadow across it, or a steep viewing angle. A closer, well-lit, in-focus shot usually fixes it.
The tool decodes the first one it locates. If you need a different code from the same photo, crop the image tighter around that code and re-upload it.
Yes — a screenshot of a digital ticket, boarding pass, or QR code works the same way as a photo of a printed one, as long as the code is sharp and not scaled down too far.