You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This is net-new. EXIF stripping is explicitly listed as a research focus in AGENTS.md under Media Utilities ("EXIF stripping") and has no existing spec, issue, or live tool in this repo. While a handful of third-party browser-based tools exist (MetaClean, exifremover.com), none are open-source alternatives on tools.treble.dev. The repo's privacy-first mission creates a natural home for this tool.
Problem: Photos taken on smartphones and cameras embed hidden metadata — GPS coordinates, device model, serial number, lens settings, and timestamps — that can expose a user's location, device identity, and daily patterns when images are shared publicly. Journalists, activists, domestic abuse survivors, and everyday users sharing photos online face real privacy risks from EXIF data. Every popular server-based tool (exifpurge.com, verexif.com, online-metadata.com) requires uploading photos to a third party — the exact opposite of what a privacy tool should do.
Users: Privacy-conscious individuals sharing photos on social media or forums; journalists protecting source locations; anyone who wants to share an image without broadcasting their home address.
Scope (3 prioritised stories):
Priority
Story
Description
P1
Strip & Download
Drop image(s) → view extracted metadata → strip all EXIF → download clean image
P2
Selective Strip
Choose which metadata fields to keep (e.g., retain color profile, remove GPS only)
P3
Batch Strip
Load multiple images → strip all → download as zip
Key requirements: zero server transmission, JPEG and PNG support, display full metadata before stripping (EXIF viewer), GPS highlight with human-readable coordinates, selective field removal, preserve image quality and dimensions, batch mode with zip download, clear/reset, preview before and after.
Acceptance criteria:
SC-001: Zero bytes of image data transmitted to any external server
SC-002: GPS coordinates removed and unrecoverable in output file
SC-003: Output image displays identically to input in any image viewer
SC-004: Batch of 10 images stripped and packaged in under 20 seconds
SC-005: EXIF viewer correctly reads standard tags from JPEG files produced by iOS, Android, and DSLR cameras
SC-006: Functions in latest 2 major versions of Chrome, Firefox, Safari
The Gap
Photos contain hidden GPS, device, and timestamp data that can expose users' locations and identities when shared. Every major free online EXIF tool requires server upload — undermining the privacy purpose of the tool entirely. Browser-based alternatives exist (MetaClean, exifremover.com) but are not open-source and are not embedded in a trusted open-source tool ecosystem like tools.treble.dev.
The EXIF parsing and stripping operation is pure browser JavaScript: read the JPEG binary with FileReader, locate the APP1 EXIF segment via DataView, remove it, and re-encode the remaining byte stream as a clean Blob for download. No server required, no image quality loss.
Competitor Evidence
Tool
Problem
exifpurge.com
Requires file upload to server; batch only on paid plan
verexif.com
Server upload required; single-file only
online-metadata.com
Free tier limited to 5 files; server upload
Shotkit EXIF remover
Server-side; recommends desktop app for privacy
MetaClean (metaclean.app)
Browser-based and free but not open-source; opaque privacy guarantees
Search phrases users type: remove EXIF data online free, strip GPS from photo online, remove metadata from image, EXIF remover no upload, remove location from photo before sharing, how to remove location from photo
The Tech
API / Capability
Role
FileReader API
Load image files from disk without upload
DataView
Parse JPEG binary structure; locate and identify EXIF APP1 segment
Ships as tools/exif-stripper.html + tools/exif-stripper/main.js + tools/exif-stripper/style.css. JPEG EXIF removal is a well-documented binary operation (~50 lines of DataView code). PNG metadata stripping via Canvas re-encode is even simpler.
Usability Controls
Metadata viewer: Before stripping, display a human-readable table of all detected EXIF tags — GPS shown as a map link, timestamps in local time
GPS highlight: Prominent warning banner if GPS coordinates are present, with one-click "Remove GPS only" shortcut
Selective removal: Toggle-able field groups (Location, Device Info, Timestamps, Camera Settings, All)
Strip & Preview: Side-by-side original vs. stripped metadata count before download
Batch mode: Load multiple images; per-file metadata summary; strip all at once
Zip download: Single-click download of all stripped images in a zip archive
Quality preservation: Output file quality matches input (lossless binary splice for JPEG, no re-encode quality loss)
Clear / Reset: Remove all loaded files and start over
Safe defaults: Strip all metadata (most protective default); user can opt to keep specific fields
Complexity: 3 / 10
JPEG EXIF removal is a binary splice operation — find the APP1 marker bytes (0xFFE1), measure the segment length, copy the byte array around it. No WASM or heavy libraries needed. The viewer (parsing the EXIF tag table for display) adds modest complexity. Batch mode + zip adds UI complexity. PNG metadata stripping via Canvas re-encode is a single ctx.drawImage + toBlob call. JSZip is a candidate for shared vendoring with the PDF Merger & Splitter.
Existing Coverage Check
Reviewed before proposing:
/specs/001-pdf-redactor/— PDF redaction, unrelated/specs/002-video-trimmer-gif-exporter/— video media tool, unrelated/specs/003-pdf-merger-splitter/— PDF assembly tool, unrelated/specs/004-qr-code-generator/— QR generation, unrelatedpdf-redactor,video-trimmer-gif-exporter,pdf-merger-splitter,qr-code-generator,print-without-black— none touch image metadataThis is net-new. EXIF stripping is explicitly listed as a research focus in
AGENTS.mdunder Media Utilities ("EXIF stripping") and has no existing spec, issue, or live tool in this repo. While a handful of third-party browser-based tools exist (MetaClean, exifremover.com), none are open-source alternatives ontools.treble.dev. The repo's privacy-first mission creates a natural home for this tool.Specify Draft Summary
Proposed spec path:
specs/005-exif-stripper/spec.mdProblem: Photos taken on smartphones and cameras embed hidden metadata — GPS coordinates, device model, serial number, lens settings, and timestamps — that can expose a user's location, device identity, and daily patterns when images are shared publicly. Journalists, activists, domestic abuse survivors, and everyday users sharing photos online face real privacy risks from EXIF data. Every popular server-based tool (exifpurge.com, verexif.com, online-metadata.com) requires uploading photos to a third party — the exact opposite of what a privacy tool should do.
Users: Privacy-conscious individuals sharing photos on social media or forums; journalists protecting source locations; anyone who wants to share an image without broadcasting their home address.
Scope (3 prioritised stories):
Key requirements: zero server transmission, JPEG and PNG support, display full metadata before stripping (EXIF viewer), GPS highlight with human-readable coordinates, selective field removal, preserve image quality and dimensions, batch mode with zip download, clear/reset, preview before and after.
Acceptance criteria:
The Gap
Photos contain hidden GPS, device, and timestamp data that can expose users' locations and identities when shared. Every major free online EXIF tool requires server upload — undermining the privacy purpose of the tool entirely. Browser-based alternatives exist (MetaClean, exifremover.com) but are not open-source and are not embedded in a trusted open-source tool ecosystem like
tools.treble.dev.The EXIF parsing and stripping operation is pure browser JavaScript: read the JPEG binary with
FileReader, locate the APP1 EXIF segment viaDataView, remove it, and re-encode the remaining byte stream as a clean Blob for download. No server required, no image quality loss.Competitor Evidence
Search phrases users type:
remove EXIF data online free,strip GPS from photo online,remove metadata from image,EXIF remover no upload,remove location from photo before sharing,how to remove location from photoThe Tech
toBlob()Ships as
tools/exif-stripper.html+tools/exif-stripper/main.js+tools/exif-stripper/style.css. JPEG EXIF removal is a well-documented binary operation (~50 lines of DataView code). PNG metadata stripping via Canvas re-encode is even simpler.Usability Controls
Complexity: 3 / 10
JPEG EXIF removal is a binary splice operation — find the APP1 marker bytes (
0xFFE1), measure the segment length, copy the byte array around it. No WASM or heavy libraries needed. The viewer (parsing the EXIF tag table for display) adds modest complexity. Batch mode + zip adds UI complexity. PNG metadata stripping via Canvas re-encode is a singlectx.drawImage+toBlobcall. JSZip is a candidate for shared vendoring with the PDF Merger & Splitter.