Skip to main content

📷 Metadata Stripper

Metadata Stripper

Your photos know more than you do. Read it, then erase it.

Python License PyPI Platform

"The photo was innocent. The GPS coordinates were not."


What is it?

Every JPEG whispers: where it was taken, with what camera, at what exact moment. That whisper is EXIF — and half the time it includes the GPS coordinates. Metadata Stripper reads the whisper, shows it to you, and then removes it for good by re-encoding the pixels clean. No EXIF, no ICC, no XMP survives the trip.

Features

  • 🔍 scan — dump every metadata field, flag GPS presence
  • ✂️ strip — re-encode without metadata, in place or to a new file
  • 🗂️ strip-dir — clean every image in a folder
  • 📡 hasgps — one-word answer for scripts: yes / no
  • 🖼️ JPEG, PNG, WebP, TIFF, BMP

Install

pip install metadata-stripper

From source:

git clone https://github.com/AnonymoDGH/metadata-stripper
cd metadata-stripper
pip install -e .

Quickstart

# What is this photo hiding?
metastrip scan vacation.jpg
# [*] vacation.jpg (2,345,678 bytes)
#     Make: Secret Agent Camera
#     DateTime: 2026:08:13 03:33:33
#     GPS: ⚠ present

# Kill it
metastrip strip vacation.jpg
# [+] vacation.jpg -> vacation.jpg  (removed 5 EXIF entries)

# Or clean a whole folder of camera exports
metastrip strip-dir ./export/
# [=] 142 images cleaned in place.

# Scripting? Ask a yes/no question
metastrip hasgps vacation.jpg
# no

CLI reference

Command What it does
metastrip scan <path> Show all metadata in file(s)/dir
metastrip strip <path> [--out <f>] Remove metadata (in place unless --out)
metastrip strip-dir <dir> Clean every image in a dir, in place
metastrip hasgps <file> Print yes/no for GPS presence

How it works

Architecture

Tests

pip install pytest
pytest

The test suite hand-crafts a JPEG with a real GPS IFD (the way cameras write it) and proves the strip removes it.

License

MIT — a fiction research prop. Clean your own photos and let the protagonist's geotag be a plot point, not a leak.

Release files for metadata-stripper 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for metadata-stripper 0.1.0
File Size Uploaded
metadata_stripper-0.1.0.tar.gz 7.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for metadata-stripper 0.1.0
File Interpreter ABI Platform
metadata_stripper-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 13.4 kB

Release files / metadata_stripper-0.1.0.tar.gz

Download URL metadata_stripper-0.1.0.tar.gz
Size 7.0 kB
Tags Source
SHA-256 checksum
How to use checksums
b842ff1627995fc75fe428b8fc7308ecc616dbba033d0e32a9e2f941ec1f8510
BLAKE2b-256 checksum
How to use checksums
faa80c5f05089a54212aa866465df42c51ea52caa8850331758fd55a77143f65
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.3

Release files / metadata_stripper-0.1.0-py3-none-any.whl

Download URL metadata_stripper-0.1.0-py3-none-any.whl
Size 6.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
375ddb98a6d324705a240354b7b50940b04231f46f6c80bb96912b3a422324eb
BLAKE2b-256 checksum
How to use checksums
0963b2e5673dcb9fa3729f3b79911dc85d716fd629e544657e3b91c9713ffa28
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.3

Release history Release notifications | RSS feed

0.2.0

2 release files

0.1.1

2 release files

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page