How to remove encoder, gps, and timestamps from video metadata
- Step 1Confirm what the file is leaking first — Before scrubbing, it helps to know what you are removing. For a photo or a JPEG poster frame, exif-map-previewer plots embedded GPS on a map so you can see the leak. For a video,
ffprobeor any 'media info' viewer lists the GPS, device, and encoder tags this tool will strip. - Step 2Drop your video — Upload an MP4, MOV, MKV, or WebM file. The tool infers the container from the file extension and keeps that same container on output — an MP4 stays an MP4, a MOV stays a MOV. No format conversion happens.
- Step 3Pick the strip mode — The only control is a Mode select with two values. default removes all GPS / device / date / encoder metadata but keeps the title and chapter markers. all additionally runs
-map_chapters -1 -fflags +bitexact, wiping chapter markers and the title and producing a bit-exact, deterministic file. Chooseallwhen you want nothing identifying left, including navigation chapters. - Step 4Run the scrub — FFmpeg runs
-i input -map_metadata -1 -c copy output(plus the chapter/bitexact flags inallmode). Because it is a stream-copy, no codec runs — the encoded bytes are copied straight through and only the container's metadata block is rewritten clean. - Step 5Download the clean video — Save the file — same resolution, same bitrate, same frames, with none of the source-revealing metadata. The output keeps the input's container extension.
- Step 6Verify the streams were untouched — To prove the scrub changed only metadata and not a single video byte, run the source and the output through file-integrity-monitor — the encoded payload differs only in the rewritten container header. To record a tamper-evident digest of the cleaned file, take a SHA-256 with multi-hash-fingerprinter.
What the strip removes, by source
Common fingerprints embedded by recording and editing software, and how -map_metadata -1 handles each. All of these are container/stream metadata tags — none of them are part of the encoded picture or sound, so removing them is always lossless.
| Source / device | Fingerprint embedded | Removed? | Notes |
|---|---|---|---|
| iPhone / iOS | GPS lat/long, com.apple.quicktime.make/model, creation date, software version | Removed | iOS writes GPS into the moov/udta QuickTime metadata; -map_metadata -1 clears all of it in one pass |
| Android phones | GPS location tag (ISO 6709 string), device make/model, capture timestamp | Removed | Stored as container tags — wiped wholesale, not field-by-field |
| DJI / action cams | Flight-controller / firmware string, model name, custom vendor tags | Removed | Vendor custom tags are metadata tags too and are dropped by -map_metadata -1 |
| Adobe Premiere / DaVinci / HandBrake | Encoder name + version (encoder / Lavf software stamp), export date | Removed | The 'who edited this' stamp goes with all other tags; Mode: all also adds +bitexact so even FFmpeg's own version string is suppressed |
| Title / chapters / author / copyright | Human-set title, chapter markers, author, copyright, comment fields | Kept in default, removed in all | default keeps title + chapters (useful navigation); Mode: all runs -map_chapters -1 to wipe them too |
Mode option contract
The tool exposes exactly one control — a Mode select. There are no presets, no per-field toggles, no drag-reorder. These are the only two values and the exact FFmpeg arguments each produces.
| Mode | FFmpeg arguments | Keeps title / chapters? | When to use |
|---|---|---|---|
default (default) | -map_metadata -1 -c copy | Yes — title and chapter markers preserved | Standard privacy scrub: strips GPS, device, date, and encoder tags but leaves navigation chapters and a human title intact |
all | -map_metadata -1 -map_chapters -1 -fflags +bitexact -c copy | No — title and chapters wiped | Maximum anonymisation: removes chapters, title, and even the encoder's identifying strings via bit-exact output |
Formats, output, and tier limits
Real input formats and tier file-size limits. This security entry requires a Pro plan; processing then runs through the Video Metadata Scrubber, so video-family streaming limits apply once the file is being scrubbed.
| Property | Value |
|---|---|
| Accepted containers | MP4, MOV, MKV, WebM |
| Output | Same container as input (extension preserved); lossless stream-copy |
| Engine | FFmpeg compiled to WebAssembly, running in your browser tab — no upload |
| Minimum plan | Pro (this tool is not on the Free tier) |
| Pro file size | Up to 10 GB per file (streaming) |
| Pro-media file size | Up to 100 GB per file; up to 50 files |
| Developer file size | Up to 100 GB per file; unlimited batch |
Cookbook
Concrete recipes for the privacy and forensic workflows this tool is built for. The ffprobe-style listings below show the metadata before and after the scrub; the footage itself is unchanged.
Strip iPhone GPS and device tags before publishing
A reporter recorded an interview on an iPhone. The MP4 carries GPS coordinates of the location and the phone's model — both of which could identify the source or the place. Mode: default removes them while keeping the file an MP4 at full quality.
Before (ffprobe -show_format excerpt): location : +40.7128-074.0060/ com.apple.quicktime.make : Apple com.apple.quicktime.model : iPhone 15 Pro creation_time : 2026-05-12T14:03:11.000000Z encoder : H.264 Scrub: Mode = default ffmpeg -i clip.mov -map_metadata -1 -c copy clip-out.mov After: (no location, no make/model, no creation_time, no encoder) Video stream: bit-identical, same H.264 bytes, full quality
Maximum anonymisation with Mode: all
An edited export still carries chapter markers named after the project, a title, and the editor's software stamp. For a leak or evidence file where nothing identifying should survive, Mode: all wipes chapters and title and suppresses encoder strings via +bitexact.
Before:
title : ProjectFalcon_FINAL_v3
Chapter #0: 00:00 'Intro' Chapter #1: 02:14 'Site B'
encoder : Lavf60.16.100
Scrub: Mode = all
ffmpeg -i clip.mp4 -map_metadata -1 -map_chapters -1 \
-fflags +bitexact -c copy clip-out.mp4
After:
(no title, no chapters, no encoder/Lavf stamp)
Deterministic output: re-running on the same input
produces byte-identical bytesScrub MKV and WebM — not just MP4
Matroska (MKV) and WebM hold metadata in their own tag structures. The same engine handles them; the output stays MKV or WebM. This corrects the long-standing myth that you must convert MKV first.
MKV:
ffmpeg -i recording.mkv -map_metadata -1 -c copy out.mkv
-> WRITING_APP, DATE_RECORDED, and any custom tags removed
WebM:
ffmpeg -i screencast.webm -map_metadata -1 -c copy out.webm
-> creation_time and software tags removed,
VP9/Opus streams copied untouchedProve the footage was not re-encoded
For an evidence workflow you may need to show that scrubbing changed only metadata, not a single picture byte. Compare the encoded streams of source and output with file-integrity-monitor, which reports byte-equality and the first-difference offset (the only difference is the rewritten container header).
Workflow:
1. Scrub source.mp4 -> source-clean.mp4 (Mode: default)
2. file-integrity-monitor: drop source.mp4 (A) + source-clean.mp4 (B)
-> reports first-difference offset inside the moov/header,
confirming the mdat (media payload) bytes are unchanged
3. multi-hash-fingerprinter: SHA-256 the clean file
-> record digest for chain-of-custodyBatch-clean a folder of clips before upload
Instagram, YouTube, and most platforms do not auto-strip GPS or capture dates from your source upload. On a Pro-media plan you can drop a batch of clips and scrub each one. Each output keeps its own container and quality.
Inputs (Pro-media, up to 50 files): drone-01.mp4, drone-02.mp4, walkthrough.mov, demo.webm ... Each processed: -map_metadata -1 -c copy drone-01.mp4 -> GPS + DJI firmware tag removed walkthrough.mov-> Apple make/model + GPS removed demo.webm -> creation_time + software tag removed All outputs: same container, same encode, fingerprints gone
Edge cases and what actually happens
MKV / WebM are fully supported
SupportedAn earlier version of this page said MKV needed a separate tool. That is wrong. The underlying Video Metadata Scrubber accepts MP4, MOV, MKV, and WebM, and -map_metadata -1 clears Matroska/WebM tags (WRITING_APP, DATE_RECORDED, creation_time) just like MP4-family atoms. The output stays MKV or WebM.
Title and chapters survive in default mode
By designMode: default deliberately keeps the human-set title and chapter markers because they are usually wanted navigation, not a privacy leak. If you need them gone, switch to Mode: all, which adds -map_chapters -1. There is no middle option to keep chapters but drop the title — the two modes are the only choices.
Audio and video streams are never altered
PreservedBecause the command is -c copy, the encoded H.264/H.265/VP9 picture and the AAC/Opus audio are copied byte-for-byte. The tool cannot transcode, downscale, or re-compress — it only rewrites the container's metadata block. If you need to actually change the encode (compress, resize, convert), that is a different video tool, not this one.
Pixel-burned-in data is not metadata and stays
Not removedTimecode, GPS, or watermark text burned into the picture (visible overlays, on-screen camera info) is part of the video frames, not the metadata block. -map_metadata -1 cannot touch it because removing it would require re-encoding. For visible faces or burned-in identifiers you need a redaction/blur tool, not a metadata stripper.
File over your tier's size limit
rejectedThis tool requires Pro. Pro allows up to 10 GB per file; Pro-media up to 100 GB and 50 files; Developer up to 100 GB and unlimited batch. A file above your tier's ceiling is rejected before processing — upgrade or split the file. There is no Free-tier access to this tool.
Corrupt or non-video file dropped
errorIf FFmpeg cannot demux the input — a truncated download, a renamed non-video, or an unsupported container — the run exits non-zero and the scrub fails with an error rather than producing a half-written file. Re-export or repair the source before scrubbing.
Re-running 'all' mode is deterministic
ExpectedMode: all adds -fflags +bitexact, which suppresses FFmpeg's own version/encoder strings and timestamps. The practical effect: scrubbing the same input twice produces byte-identical output, which is useful when you need a reproducible hash for an audit trail.
Embedded thumbnail / cover art
RemovedA poster-frame or cover-art image embedded as a metadata attachment is part of the metadata block and is dropped by -map_metadata -1. If you specifically want to extract and inspect what thumbnails a file hides before scrubbing, use hidden-thumbnail-extractor, which reads MP4 udta and JPEG APP1 previews.
Container is preserved, not converted
By designThe output uses the same extension as the input — the tool never converts MOV to MP4 or MKV to WebM. If a downstream system needs a different container, do the metadata scrub first, then run a separate format conversion; combining the two would change the encode.
Audio-only files are out of scope
Wrong toolThis is a video container tool. For an MP3's ID3v1/ID3v2 tags and embedded artwork, use audio-id3-ghoster instead — it is purpose-built for audio metadata and runs in the browser too.
Frequently asked questions
Is the video re-encoded or compressed?
No. The command is -c copy, a stream-copy. The encoded video and audio bytes are copied straight through; only the container's metadata block is rewritten. There is no generational quality loss, no bitrate change, and no codec work — which is also why it finishes in seconds even on large files.
What metadata does it actually remove?
Everything. -map_metadata -1 strips all metadata tags: GPS latitude/longitude, camera/device make and model, device serial strings, creation and modification dates, the encoder software name and version, copyright, author, and comment fields. It is a wholesale wipe of the metadata block, not a curated subset.
Does it support MKV and WebM, or only MP4?
It supports MP4, MOV, MKV, and WebM. The claim that MKV needs a separate tool is outdated — the same FFmpeg engine clears Matroska and WebM tags (WRITING_APP, DATE_RECORDED, creation_time) exactly as it clears MP4-family atoms. The output keeps the same container.
What is the difference between the default and 'all' modes?
default runs -map_metadata -1 -c copy: it removes all GPS / device / date / encoder metadata but keeps the title and chapter markers. all adds -map_chapters -1 -fflags +bitexact: it also wipes chapters and the title and suppresses encoder identifier strings, producing a deterministic, fully anonymised file.
Will video players and editors still open the cleaned file?
Yes. The container structure is valid and standard — only the metadata fields are emptied. Players, NLEs (Premiere, DaVinci, Final Cut), and platform uploaders all open it normally. The footage and audio are bit-identical to the source.
Does the title or chapter info get removed?
Only in Mode: all. In default mode the title and chapter markers are intentionally preserved because they are usually wanted navigation rather than a privacy leak. Switch to all if you need them gone.
Can it remove watermarks or on-screen timecode?
No. Anything burned into the actual picture — visible watermarks, on-screen GPS overlays, timecode text — is part of the video frames, not the metadata block, so a metadata stripper cannot touch it. Removing burned-in content requires re-encoding with a blur or crop tool.
Is the audio stream affected?
The audio stream itself is copied untouched (-c copy). Audio-related metadata that lives inside the video container's metadata block is removed along with everything else, but the AAC/Opus samples are bit-identical. For metadata inside a standalone MP3, use audio-id3-ghoster instead.
Does my video get uploaded to a server?
No. FFmpeg runs as WebAssembly inside your browser tab. Your footage never leaves the machine, which is what makes this suitable for source protection and evidence chain-of-custody work.
How can I prove the scrub didn't alter the footage?
Run the source and the cleaned file through file-integrity-monitor — it reports byte-equality and the first-difference offset, which will lie inside the rewritten container header, confirming the media payload (mdat) is unchanged. Record a SHA-256 of the clean file with multi-hash-fingerprinter for your audit trail.
What file sizes are allowed?
This tool requires Pro: up to 10 GB per file. Pro-media allows up to 100 GB per file and up to 50 files; Developer allows up to 100 GB per file with unlimited batch. It is not available on the Free tier. Files above your tier's ceiling are rejected before processing.
Why does the file size barely change after scrubbing?
Because metadata is a tiny fraction of a video file — the bulk is the encoded picture and sound, which a stream-copy leaves untouched. You will see a small size delta from the rewritten container header, not a large one. If you need a smaller file, that requires actual compression, which is a separate tool.
Privacy first
Every JAD Security operation runs entirely in your browser. Files, passwords, and PGP private keys never leave your device — verified by zero outbound network requests during processing.