Decode Instantly

Barcode & QR Scanner

Upload a photo or screenshot containing a barcode or QR code and read its value instantly. Decoding happens locally in your browser.

uploaded photo decode finder patterns located Decoded value: 0123456789012 Copy Value
Upload a photo, and the decoder finds and reads the code entirely inside your browser β€” no server round-trip.
πŸ“·

Click to upload or drag an image here

JPG, PNG or WEBP β€” clear, well-lit photos decode best

Uploaded code preview

Upload an image to see the decoded value here.

Tips for a clean scan

πŸ’‘

Good lighting

Avoid glare and shadows across the code β€” even lighting decodes far more reliably.

πŸ”

Fill the frame

Crop the photo so the code takes up most of the image before uploading.

πŸ“

Keep it flat

Steep angles distort the pattern. Shoot as straight-on as possible.

πŸ”’

Stays on your device

Images are decoded locally in the browser and are never uploaded anywhere.

How the scanner works

The scanner uses a browser-based decoding library that analyzes the pixel data of your uploaded image directly, looking for the finder patterns and timing markers that identify a barcode or QR code region, then reading the encoded bars or modules within it. Because this all happens inside your browser's JavaScript engine, the image itself is never transmitted anywhere β€” it's loaded into memory, decoded, and can be discarded the moment you navigate away.

What formats can it read?

The decoder recognizes both major families: linear barcodes (CODE128, CODE39, EAN-13, EAN-8, UPC-A, UPC-E, ITF, Codabar) and 2D formats (QR Code, Data Matrix, Aztec, PDF417). It automatically detects which format it's looking at β€” you don't need to tell it in advance what kind of code is in the photo.

Common reasons a scan fails

If an upload doesn't decode, it's almost always one of a handful of predictable issues rather than a bug in the tool itself:

If a code consistently won't scan, try recropping tighter around just the code, retaking the photo in better light, or holding the camera flatter and closer β€” one of the three usually resolves it.

Is this a replacement for a dedicated barcode scanner?

For occasional or one-off decoding β€” checking what a code links to, pulling a serial number off a product photo, verifying a code before printing a batch β€” this tool is a fast, no-install option. For high-volume, repetitive scanning (a retail till, a warehouse dock), a dedicated laser or camera-based scanner gun is still faster and more reliable, since it's purpose-built hardware rather than general image analysis.