Skip to main content

Privacy Checker

Detect EXIF, GPS, QR/barcode privacy risks in images. All processing happens in your browser.

Drop an image or click to select

Supported formats: image/* · Max size: 50MB

How to use

  1. Drag & drop the image to check

  2. Review detected EXIF (GPS, timestamp) and QR/barcodes

  3. If needed, continue to Remove EXIF to strip metadata

What you want to check before publishing an image is not only what is visible in it. The file carries things the picture does not show: the latitude and longitude where it was taken, the time, the device model, and the contents of that small QR code caught in the corner of the frame. Noticing any of these after publication is too late.

The privacy checker exists to surface that invisible half in one pass. It is not an EXIF viewer and not a QR reader — it is a pre-publication review. Everything is analysed inside your browser, which means you never have to upload an image in order to find out whether it is geotagged. That is not a detail: handing a photo to somebody else's server in order to check its privacy would defeat the purpose.

What gets checked

GPS — open the coordinates on a map and see for yourself

If EXIF holds a latitude and longitude, they are surfaced and a map link to those coordinates is generated. Being told "a GPS tag is present" does not tell you how bad it is; opening the map and seeing your own home does. Altitude and the north/south, east/west reference values are checked alongside the coordinates.

Whether a photo is geotagged depends on the camera app's settings and on the route the file took to reach you. The point of this check is to catch the cases where "I'm sure location is turned off on my phone" turns out to be wrong.

Capture time and device information

Capture time, digitisation time, and modification time are checked, along with the date and time stamps that come from GPS. A timestamp looks harmless on its own; line several posts up and it describes a routine — which hours you are reliably not at home.

Device and camera model, lens, and exposure settings are shown too. These can be enough to link images you believed were posted anonymously. The full EXIF record can be copied out as JSON if you want to keep it.

The embedded thumbnail — the picture before you edited it

This is the check people overlook most and the one that costs the most. Cameras commonly embed a reduced-size copy of the image inside EXIF at capture time. The catch is that when you later crop the picture or paint over part of it, some editors never regenerate that embedded thumbnail.

When that happens, the area you cropped away — or the region you thought you had covered — survives inside the thumbnail in its original state, and anyone who receives the file can pull the pre-edit composition back out. This tool does not merely report that a thumbnail exists: it renders it for you to look at, so you can compare it against the visible image and judge whether they disagree.

For what it is worth, OFFiler's own image tools — compression, resizing, format conversion, EXIF removal — redraw through a canvas, which discards EXIF and the thumbnail along with it. Images that have been through those tools do not carry this risk.

QR codes and barcodes — decoded, not just detected

Any QR code or barcode caught in the frame is detected, and the string encoded inside it is shown to you. A delivery label on the desk behind you, an employee badge, an event ticket, a Wi-Fi join code — things that read as abstract patterns to a human eye but decode into personal or credential data.

It is not limited to QR codes: Code 128, Code 39, Code 93, EAN-13, EAN-8, UPC-A, UPC-E, ITF, PDF417, Data Matrix, and Aztec are all covered — with a browser caveat explained next.

How detection works, and how browsers differ

Two detection paths — and Safari and Firefox see less

Code detection first tries the barcode detection facility built into the browser itself. Chrome, Edge, and Android browsers ship this, and it reads every format listed above quickly.

Where that is unavailable — Safari and Firefox — the tool falls back automatically to a QR-parsing library bundled with the site. That fallback handles QR codes only; other barcode families are not detected. The same image can therefore produce different results in Chrome and in Safari. If you need certainty about barcodes, run the check in a Chromium-based browser. Most tools leave this difference unstated; it is stated here deliberately.

The image is read, never sent

Parsing EXIF, pulling out the thumbnail, and scanning for codes all happen by reading the selected image in your device's memory. Neither the file nor the coordinates and strings recovered from it are transmitted. The map link only travels to a mapping service if you click it; leave it alone and the coordinates stay put.

Besides drag and drop, you can paste an image straight from the clipboard with Ctrl+V — take a screenshot and inspect it immediately.

What this tool cannot catch

It does not judge what is depicted

What is examined is the data inside the file and the codes a machine can read. A nameplate in the background, the view through a window, text on a document on the desk, a logo on a uniform, a reflection in someone's eye — routes to identifying a place or a person through what is *depicted* are outside its reach. That judgement still needs your eyes.

When you do spot something, black it out or blur it with image markup. Those marks are painted onto the pixels, so once the image is saved the covered information cannot be recovered.

It cannot tell you what the destination will do

Some platforms strip EXIF when you upload. But that behaviour differs between services, changes over time, and does not apply at all to email attachments, files sent directly in chat, cloud-storage shares, or marketplace listing photos.

Relying on "I hear that service handles it" is a fragile assumption. The reliable version is to hand over a file that contains nothing in the first place: if the check turns something up, run it through EXIF removal before publishing.

What to do with the findings

Check, strip or hide, then shrink

Route the fix by what came back: EXIF removal for location and timestamps, markup for things caught in frame, both when both apply. Compressing or resizing for publication drops EXIF as a side effect anyway.

The reason to check *first* is to learn what the problem was. Compress straight away and the EXIF goes, but you never find out that the photo was geotagged — and therefore never realise that every other photo from that device is in the same state.

Specs and limits

Checks
GPS, capture time, device info, embedded thumbnail, QR and barcodes
GPS
Shows the coordinates and generates a map link
Thumbnail
The embedded EXIF thumbnail is rendered for inspection
Code formats
QR, Code 128/39/93, EAN-13/8, UPC-A/E, ITF, PDF417, Data Matrix, Aztec
Browser caveat
Safari and Firefox detect QR codes only
Decoded value
The string encoded in each detected code is shown
EXIF export
The full EXIF record can be copied as JSON
Input
Drag and drop, file picker, or Ctrl+V paste
Not detected
Anything identifiable from what is depicted in the picture
Network
Neither the image nor the findings are transmitted

Frequently asked questions

Is my image uploaded anywhere?
No. All detection runs in your browser; the image is never sent anywhere.
Can I see what a QR code contains?
Yes, it shows the decoded contents so you can spot unintended URLs or data.

Where this tool fits

Step-by-step guides that combine this tool with others, organized by what you're trying to do.