CompressDog

What Image Metadata Actually Carries (1,086 Files)

Everyone says photos leak the place you took them. Across 1,086 real JPEGs almost none had a usable position, but one file was 90% metadata.

Search for how to remove photo metadata and you will find the same warning repeated. Your phone stamps every picture with the exact coordinates where you took it, and any stranger you send it to can read them.

That claim is true about the format. Whether it is true about the files people actually have is a different question, and it has a number. The other reason a compressed file can come out larger than the original is a second compression pass, and an oversized metadata block behaves the same way as described below.

So we parsed 1,086 JPEGs from a downloads folder with our own EXIF reader and with Pillow as a cross-check. Here is what they contained.

What we scanned, and what we did not

1,086 JPEG files sitting in one person's downloads folder. Mostly things saved from websites, chat apps and stock photo sites.

This is not a camera roll. It is the kind of image people forward, upload and submit, which is the relevant population for "will this leak something". Fresh photos straight off a phone are a different sample and we do not have one, so nothing below should be read as a statement about those.

Coordinates were never printed. Only counts.

The numbers

Three files did have a GPS block. All three were degenerate: one had latitude and longitude of exactly zero, one had nan where the numbers should be, one contained only the GPS version tag. No file in the sample pointed at a place.

Why the scare mostly does not apply here

Because every platform in between stripped it.

Almost nothing in a downloads folder came directly from a camera. It passed through a chat app, a website, a social network or a stock site, and most of those rewrite the file. Some remove metadata deliberately. Some re-encode, which drops it by accident. Either way the coordinate is gone by the time it reaches you.

The scare is still correct about the original file. A photo that has never left your phone usually does carry the location, and sending it directly, through email or AirDrop or a messaging app that preserves attachments, sends the location too. Our sample simply cannot see that case, and saying so is more useful than pretending the sample covers it.

The part that actually surprised us

Metadata is usually tiny. The median file carried 568 bytes of it, which is 0.21% of the file. For most people the whole discussion is about a rounding error.

The average is 117,531 bytes, which tells you the distribution is not normal.

One file carried 2.26 MB of metadata, and that was 90.7% of the entire file. Read that again: the picture was under 10% of the bytes. Most of the weight was an APP1 segment.

That is not a privacy problem, it is a size problem. If you have been compressing an image and the result keeps coming out larger than you expect, an oversized metadata block is one of the reasons, and it is the one nobody checks.

What we do about it

The remove metadata tool on this site works at the byte level: it deletes the APPn segments and leaves the entropy-coded image data untouched. Pixels do not change, and the file shrinks by exactly the size of the metadata, which on that 2.26 MB outlier would be about nine tenths of it.

It is worth running even on files that turned out to be clean, because checking is the same amount of work as removing. But if you are doing it because you are worried about a stranger finding your address, our sample suggests the more realistic version of that worry is: you sent the photo from the phone, in a conversation, before anything had a chance to strip it.

Caveats

One folder, one person, 1,086 files. Different people download different things and the mix will shift.

No camera originals. See above. This is the biggest limitation and it is not a small one.

Our GPS reading is only as good as our parser's GPS IFD support. We cross-checked the count against Pillow and got the same three degenerate files, which is why we are willing to state 0.0%.

XMP can hold far more than EXIF, and we only searched it for GPS-shaped fields. Other personal data in XMP was not measured.

Reproducing it

tools/measure-exif-privacy.mjs. Point it at a folder of JPEGs. It uses the same EXIF reader the site uses, and it does its own JPEG segment walk to measure metadata size in bytes rather than estimating.

It prints aggregates only. Coordinates and filenames never leave the process.

Open the compressor