What EXIF reveals beyond GPS, and how apps strip it

Serial numbers, hidden previews, time zones, editing history: what a photo says besides its location, and how to strip it without breaking the picture.

On this page

The location is the part of photo metadata everybody has heard about, and the guide to removing GPS from photos covers it. This article is about the rest: the fields that identify a device or a person without any coordinates, the ones that survive a crop, and what actually happens inside the file when an app "strips" metadata. Every example below was read with the EXIF viewer from a test photo whose metadata was written by Pillow, an independent imaging library, so you can reproduce it.

How metadata sits in a JPEG

A JPEG is a list of segments, each starting with a two-byte marker. The picture itself, the compressed scan, comes near the end after a marker called SOS. Everything before it is setup and metadata:

  • APP0 (JFIF): a few bytes of basic information, harmless.
  • APP1 "Exif": the EXIF block, a small TIFF file with its own directories: IFD0 (camera, software, dates), the Exif IFD (exposure, lens, serial numbers), the GPS IFD and IFD1 (an embedded thumbnail).
  • APP1 "http://ns.adobe.com/xap/1.0/": an XMP packet, XML written by editing software.
  • APP2 "ICC_PROFILE": the colour profile.
  • APP13 "Photoshop 3.0": IPTC records, used by news agencies and photo libraries.
  • COM: a free-text comment.

PNG keeps the same kinds of data in chunks (eXIf, iTXt, tEXt, iCCP); WebP in RIFF chunks (EXIF, XMP , ICCP); HEIC, the iPhone format, stores EXIF as an "item" inside its meta box.

What the test photo said, besides where

The test file is 1,892 bytes. Here is what the viewer found in it, apart from the coordinates:

  • Make, model and lens: Canon, Canon EOS R6, RF50mm F1.8 STM.
  • Body serial number: 012345678901. This is the field to worry about. A serial number links every photo from that camera, across accounts, sites and years. If you post a picture under your own name once, every anonymous photo from the same camera carries the same fingerprint.
  • Artist: Lan Nguyen. Many cameras let you set an owner or copyright name once in the menu, and then write it into every picture for years; people forget it is there.
  • Taken at 2026-03-05 08:14:59 with offset +07:00. The time zone offset narrows down the region even when GPS is off.
  • GPS time 01:14:59 UTC, which confirms the offset, and a direction of 270.5°: the camera faced west.
  • Software: Tangotest 1.0. In real files this is the phone's OS version or the editor used, which says what device and apps you run.

The viewer turns this into findings with a risk level: location high; serial numbers, names and embedded previews medium; dates, device and software low.

Three fields that surprise people

The embedded preview. EXIF can hold a small JPEG thumbnail of the picture (IFD1). Some editing workflows crop or retouch the main image but leave the old thumbnail untouched. The result is a file whose visible picture is cropped and whose embedded preview still shows the original frame. The viewer flags any file with a preview and gives its size.

XMP editing history. Editing software writes XMP with fields such as xmp:CreatorTool (the app), xmpMM:DocumentID and xmpMM:OriginalDocumentID. The document IDs survive exports, so two files exported from the same original can be matched. XMP can also carry its own copy of the GPS position, in a different format ("10,46.614N"), which a tool that only removes EXIF will miss. The viewer reads both.

IPTC captions and places. Photo libraries and some phone apps write a city, a country, keywords and a caption into IPTC records. Unlike GPS they are text, but "Huế" in a caption is location data all the same.

How stripping works

There are two ways to remove metadata, and the difference matters.

Re-encoding. The app decodes the picture to pixels and saves a new file from the pixels alone. Nothing the encoder did not write survives, which makes it thorough. The cost: a JPEG loses a little quality every time it is re-encoded, the colour profile is often dropped (wide-gamut photos then look duller), and the orientation can go wrong (see below). Many platforms re-encode uploads anyway to resize them, which is why metadata often disappears on upload. Behaviour varies by service and changes over time, so the only reliable check is to download your own upload and look at it in the viewer.

Lossless removal. For JPEG, the metadata segments can simply be left out while every other segment, including the compressed scan, is copied byte for byte. The picture is bit-identical. This is what the viewer's Remove metadata and download does for JPEG, PNG and WebP. On the test photo:

VersionSize
Original1,892 bytes
Metadata removed, colour profile kept1,276 bytes
Metadata and colour profile removed670 bytes

The colour profile was 588 bytes, which is why the difference between the last two rows is large on such a tiny test image. On a real 3 MB photo the same blocks are a rounding error, but the principle is the same: removing metadata never costs quality.

The orientation trap

Phones usually store the pixels the way the sensor sees them, which is sideways for a portrait photo, and write an EXIF orientation tag saying "turn this 90° clockwise to view". The test photo has orientation 6, exactly that.

Remove all of EXIF and the instruction is gone: the photo opens sideways. Careless strippers produce this bug constantly. The viewer avoids it by writing back a 32-byte EXIF block containing only the orientation tag, nothing else, and then reading the clean copy again to confirm that no location, names or dates remain. Re-encoding tools avoid it differently: they rotate the pixels themselves before saving.

Common mistakes

  • Checking only for GPS. A file without coordinates can still carry your name, your camera's serial number and a time zone.
  • Removing EXIF but not XMP. Edited photos often repeat the location and the creator in XMP.
  • Cropping to hide something. The embedded preview can still show it. Clean the file after cropping, or re-encode it.
  • Stripping the colour profile by default. Photos from recent phones are often in Display P3; without the profile, browsers show them in sRGB and they look washed out.
  • Assuming the app did it. Test once: send a photo to yourself through the app, download it, and open it in the EXIF viewer.

A routine that works

  1. Before posting, drop the photo into the viewer and read the findings.
  2. If anything is medium or high, use Remove metadata and download and post the clean copy.
  3. For a batch of photos, the image toolkit removes metadata from up to 50 at once while resizing or converting them.
  4. For future photos, switch off location for the camera app and clear the owner name in your camera's settings.

Tools mentioned in this article

Back to the blog