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