A ZXing Decoder alternative that reads the code on your device

The ZXing decoder is a reference implementation with a web front end, and for pulling apart a symbol that will not scan it is still the most informative thing on the internet. For the ordinary job - what does this code actually say - the difference is that it wants the image on its server and this does not.

Open the QR Scanner →

ZXing Decoder Online and Softland, side by side

 ZXing Decoder OnlineSoftland
How the image gets inUploaded, or fetched from an image URL you supplyLive camera, or a file your own browser reads
Where decoding happensOn the serverIn the browser, via its built-in barcode detector
Live camera scanningNot offeredYes, where the browser supports it
Detail reportedRaw bytes, symbol format, error correction levelThe decoded text
Browser supportAny browser - the work is not done locallyChrome and Edge on desktop and Android; not Safari or Firefox

A QR code hides its destination until you scan it

That is the entire reason they get abused. A sticker over the code on a parking meter, a payment request in an email, a code on a leaflet pushed through the door - the pattern gives no clue where it goes, and most phone cameras respond to one by offering to open the link immediately, which means the decision to visit is made before anyone has read the address.

This scanner shows the decoded string and stops. If the content looks like a link it is presented as text with the address visible, and opening it is a separate deliberate action. Reading the domain before you visit it is the whole defence, and it only works if something puts the domain in front of you first.

Decoding locally, and what that costs

The camera feed is rendered into a video element and read frame by frame by the barcode detector built into the browser itself. No decoding library is downloaded, no frame is sent anywhere, and the camera stops the moment a code is found or you leave the page. For a code on a document you would rather not hand to anyone, that is the difference that matters.

The cost is that the browser API is not universal. Chrome and Edge have it on desktop and Android; Safari and Firefox do not, and on those browsers this page says so rather than quietly failing. Shipping a few hundred kilobytes of decoder to every visitor so that a minority get a camera scan was the alternative, and it was not worth it.

Scanning a picture of a code

Often the code is not in front of you - it is in a screenshot, a PDF page someone sent, or a photo of a poster. The file picker handles those the same way as the camera: the image is decoded by the browser and never uploaded, and a file that turns out not to be an image at all is named as what it actually is rather than rejected with a shrug.

This is also the case where the ZXing decoder earns its keep. If a symbol is damaged, unusually encoded or simply refuses to read, its report of the raw bytes and error correction level tells you why, and nothing here does.

When ZXing Decoder Online is the better choice

  • You are on Safari or Firefox, where the browser barcode API this page depends on does not exist.
  • A symbol will not decode and you need the raw bytes, the format and the error correction level to work out why.
  • The image is already on the web and pasting its URL is easier than downloading it first.
  • You are reading a barcode that is not a QR code - this page asks the detector for QR only.

Frequently asked questions

Is the camera feed uploaded anywhere?
No. The video stream stays in the page, frames are read by the browser barcode detector on your device, and the camera is released as soon as a code is found or you navigate away.
Why does it not work in my browser?
It relies on the barcode detection API built into the browser. Chrome and Edge provide it on desktop and Android; Safari and Firefox do not yet. The page says so instead of appearing to work and finding nothing.
Can I scan a QR code in a screenshot?
Yes. Choose the image option and pick the file. It is decoded locally, exactly like a camera frame, and the file is not transmitted.
Is it safe to open a link I scanned?
Read the address first. The point of decoding before opening is that you get to see the domain, and a code from a sticker, a leaflet or an unexpected email deserves more suspicion than one on a menu in a restaurant you chose.

Try it yourself

Read a QR code with your camera or from an image.

Open the QR Scanner

ZXing Decoder Online is a trademark of its respective owner. Softland is not affiliated with, endorsed by or sponsored by ZXing Decoder Online. This comparison reflects how each product works rather than what either costs, because pricing and plan limits change; check ZXing Decoder Online’s own site for its current terms.