filetity
LocalThe picture is decoded in this tab and never uploaded. Codes carry wifi passwords, payment strings and private links often enough that sending one to a stranger's server to be read is the wrong trade.

IMAGE -> WHAT THE CODE SAYS · Local tool

QR Code Scanner

Read a QR code out of a picture and see where it goes before you go there.

Last updated

How do I read a QR code without scanning it with my phone?

Save the code as an image and open it in filetity's QR scanner. It decodes the picture in your browser, shows the text the code carries, and draws a box back over the picture so you can see which code it read. Nothing is uploaded and nothing is opened: the destination is shown as text so you can decide before you follow it, which is the one thing a phone camera cannot do, since it takes you there first. It works from a screenshot, a photo or a saved image, and reads codes printed light on dark as well as the usual way round.

  1. 01 / Your device

    the file stays here

  2. 02 / Browser memory

    the work runs locally

  3. 03 / Back to you

    saved on this device

When you would use this

Situations, not settings.

A code in an email or a PDF from someone you half trust
Reading it as text shows the destination before you go anywhere. That is the whole defence against a code that leads somewhere it should not.
A poster you photographed and want to open on a laptop
The laptop has no camera pointing at the poster. The photo does the job instead.
Checking a code you generated actually says what you meant
A code with a typo in the link looks identical to a correct one. Reading it back is the only way to tell.

How it works / no cloud

A conversion engine, not an upload form.

The picture is drawn onto a canvas in your browser and the pixels are handed to a decoder that finds the three corner squares, works out the grid, reads the modules and applies the error correction the code carries. It tries the image both ways round, because a code printed light on dark is perfectly legal and common on posters and dark-mode screenshots, and most readers only try the usual way. What comes back is the text, shown and never opened, with the box drawn back over the picture so you can see which code in the image it read.

  • Offline ready
  • Installable app
  • No file limit queue

Straight answers

No accordion. Nothing hidden.

Is it free?
Yes, with no watermark and no page limit.
Does it need an account?
No. There is no account system.
Is my file processed on my device?
Yes. The file is read by your browser and never uploaded. There is no server to send it to.
What formats are supported?
Any image a browser can open: PNG, JPG, WebP, GIF, BMP, and a screenshot pasted or saved. One code per picture, the first one found.
What are the limits?
QR codes only, not barcodes. A blurred photo, a code cut off at the edge or heavy glare on a screen can defeat it, and it says so rather than sitting there.
Does it work on mobile?
Yes, on any modern mobile browser. Large files are limited by the memory the phone gives the browser.
Does it work offline?
Yes, once the page has loaded. The tool keeps working with no network connection.
Why read a code here instead of pointing my phone at it?
Because a phone opens it and this does not. A QR code is unreadable by eye, which is the entire mechanism behind the malicious ones: the destination is invisible until you have already arrived. Here the text is shown as text, and you decide afterwards. It also works on a laptop, where there is no camera pointing at the poster.
It says the link goes to a shortener. Why does that matter?
Because a shortened link is not the destination, it is a redirect to one, and the real address is not in the code at all. Nothing here or in your camera can see through it without following it. A code that could have carried the real link and carries a bit.ly instead has hidden something, deliberately or otherwise, and that is worth a second thought before you follow it.
Can it read a barcode?
No. A barcode and a QR code are different symbologies read by different algorithms, and this one only does QR. The barcode generator on this site writes Code 128 and EAN, and reading those from a photograph is a harder problem than writing them.
Nothing was found. What usually causes that?
A photograph of a screen, most often, where the moire pattern and the glare defeat the grid detection. A screenshot of the same code reads immediately. After that: a code cropped at the edge, so a corner square is missing, and a picture too small for the modules to be distinct.

Keep working locally

7 available · more coming