Photo MetaClean - Strip hidden EXIF & GPS, no re-encoding

by•
Photo MetaClean strips hidden EXIF, GPS and PNG text metadata from images with byte-level removal. No re-encoding, so zero quality loss. Works on JPEG and PNG. Single Windows executable with self-check.

Add a comment

Replies

Best

Photo MetaClean strips hidden EXIF, GPS and PNG text metadata at the byte level — no re-encoding, so zero quality loss.

Most metadata strippers open the image in a decoder and save it again. That is a second generation of JPEG compression: you pay a quality loss you did not ask for, on pixels you were not trying to change.

This one walks the JPEG segment structure instead and copies the compressed scan data verbatim. EXIF, GPS, camera model, timestamps and software fingerprints all live in metadata segments, so removing them never requires touching the entropy-coded image data. Same for PNG: text chunks go, the IDAT stream stays. The output is byte-identical pixel data, and the file usually gets smaller.

I wrote up the full technique on dev.to, with a runnable self-check you can copy:

The tool is a single Windows executable. No installer, no admin rights, no telemetry. Source is open on GitHub:

Happy to answer anything about the format, the edge cases, or the self-check.

Photo MetaClean v1.1.0 is out, and it fixes a real bug that came out of the write-up rather than out of a crash report.

Stripping APP1 to remove GPS also removed EXIF Orientation (0x0112). Phone JPEGs are commonly stored with the sensor rows unrotated, and that tag is the only thing telling a viewer which way is up, so cleaned photos came out sideways. The compressed scan data was untouched, which is why it is not obvious until you open the file somewhere that does not honour orientation.

Orientation is now the one tag that survives, re-emitted on its own in a 36-byte APP1. Everything else still goes: GPS, camera make and model, timestamps, software tags, PNG text and time chunks. The scan data is still copied byte for byte, so there is still no second generation of JPEG compression and no quality loss.

If you downloaded v1.0.0, please re-download it. There is no auto-update, and there is not going to be one: the tool is a single executable that makes no network connection at all, which is deliberate, but it also means nothing will ever tell you a new version exists. You have to come back for it.

v1.1.0:

Happy to answer anything about the format or the edge cases.