Private by design
Metadata Scrubber
Files never leave your browser. Photos and PDFs are inspected and cleaned locally on your device.
or drag files here for a local metadata preview
Ready. Select one or more files to preview hidden metadata.
EXIF Remover — Remove Photo Metadata Locally (Files Never Leave Your Browser)
One-line tool description
Remove EXIF and file metadata (location, camera, author, thumbnails, PDF info) entirely in your browser — no uploads, instant preview, batch support.
How to use (3 steps)
- Drag & drop or choose files (JPEG, PNG, WebP, HEIC, PDF). Multi-select supported.
- Preview what’s inside: human-friendly groups (Location exposed? Camera Make/Model? Author? Thumbnails?) plus expandable raw tags.
- Click “Scrub” → download cleaned files (single files or ZIP for batches). Progress shown for large files.
What we do and what we won’t do (brief principles & formulas — traceable to EXIF/PDF specs)
- Files never leave your device: all parsing, preview and scrubbing run entirely in your browser; no file bytes or metadata are sent to our servers (see "Does the tool upload my photos?" in FAQ).
GPS coordinates (EXIF GPS) — how we interpret and display them
decimal_degrees = sign * (deg + minutes / 60 + seconds / 3600) where deg = d_num/d_den, minutes = m_num/m_den, seconds = s_num/s_den, and sign = +1 for N/E, -1 for S/W. (Source: CIPA EXIF spec and company calculation rules.)
- Parsing rules we follow: denominator == 0 => mark as malformed (do not coerce); missing GPSLatitudeRef/GPSLongitudeRef => show as "ambiguous direction" (do not assume N/E); minutes/seconds >= 60 => flag as suspicious/malformed. Display precision default: 6 decimal places (≈11 cm); numeric checks ensure latitude ∈ [-90,90], longitude ∈ [-180,180].
- Acceptance testing: numeric results match canonical vectors within 1e-6 (per test vectors in our calculation brief).
Altitude (EXIF GPSAltitude)
altitude_meters = (alt_num / alt_den) * (GPSAltitudeRef === 1 ? -1 : +1) (Denominator==0 or missing GPSAltitudeRef is flagged as ambiguous.)
Images and container specifics
- JPEG: remove APP1 EXIF segment (tags, embedded thumbnails when removable) and related XMP where possible.
- PNG/WebP: remove textual metadata chunks (tEXt/iTXt/zTXt) and format-specific key/value fields the parser supports.
- HEIC/HEIF: EXIF may be inside an 'Exif' box in ISOBMFF; we parse and remove where the browser-side parser can safely do so and will surface any unsupported cases.
We remove fields we can in-browser from the Document Information Dictionary (Info dict): /Title, /Author, /Subject, /Keywords, /Creator, /Producer, /CreationDate, /ModDate. Many PDFs also include XMP (XML metadata); removing Info dict alone may not remove XMP — we will report whether XMP remained. If deep XMP structures, embedded objects, or attachments can’t be fully cleaned in-browser, the UI will state that explicitly.
Safety-first parsing
When a field is malformed, unsupported, or cannot be fully removed client-side, the file's processing result will be one of: Cleaned (list of removed keys), Unsupported (why), Error (malformed tags), or No metadata found — shown per file.
FAQ
-
What metadata does this EXIF remover remove?
We remove EXIF tags (camera make/model, capture time, GPS tags, author, software), embedded thumbnails when the parser can remove them, PNG text chunks (tEXt/iTXt/zTXt), WebP/HEIC EXIF/XMP where supported, and PDF Info dictionary fields (/Title, /Author, /Creator, /Producer, /Keywords, /CreationDate, /ModDate). For PDFs and some container formats, deep XMP or embedded objects may remain — we report exactly which fields were removed and which remain.
-
Does the tool upload my photos to a server?
No. All parsing, preview and scrubbing happen entirely in your browser. File bytes and metadata are never sent to our servers. You can verify this by checking your browser’s network panel (QA tests include a network monitor to confirm zero file-content transfers).
-
Will removing EXIF strip embedded thumbnails or location history in the file?
We remove embedded thumbnails when they are stored in removable EXIF or standard thumbnail segments. Some formats may keep thumbnails or other embedded objects in places the browser parser cannot safely rewrite — those cases are flagged and shown in the per-file result. Location tags (GPSLatitude/GPSLongitude/GPSAltitude) are removed when present and valid; malformed or ambiguous GPS tags are surfaced for user decision.
-
Which file formats are supported? What if a format is unsupported?
Supported: JPEG (JPG), PNG, WebP, HEIC/HEIF (where browser parser support exists) and PDF (Info dict). If we encounter an unsupported or partially supported flavor of a format, the file will be marked "Unsupported" and we will not silently pass it through — you’ll get a clear explanation.
-
Can I scrub many files at once and download them?
Yes. You can batch-select files; cleaned files are provided individually or as a ZIP for download. Progress indicators show per-file status; large batches will be processed with streaming/chunking and Web Workers to avoid freezing the page.
-
What about large files — will the browser freeze?
We avoid UI hangs by using Web Workers and chunked/streaming parsing for large files. Files over 20 MB display progress and may be processed in background threads; the UI warns if a file requires more time or resources.
-
Will the cleaned file look the same? Is image quality preserved?
In most cases we remove only metadata and preserve the original image bytes/visual quality. Some containers (or removal of complex XMP/box structures) may require remuxing or rewriting; when that could alter file bytes we state it in the result so you can inspect before downloading.
-
How can I prove metadata was removed?
After scrubbing we show a local pre/post report with the exact raw keys and original values that were removed. You can view it in the UI and download it as a local JSON/plaintext audit — nothing in that report leaves your device.
Transparency & safety notes
- No uploads, ever: this product differentiator is central — server-side fallbacks are not used.
- No silent pass-through: unsupported or malformed files are flagged, not silently returned unchanged.
- Local audit trail: pre/post report and per-file status let users confirm what was removed.