Last updated
A video file shows you the film. It does not show you the notes stapled to it: the coordinates of the spot, the phone that filmed it, the minute it began, the app that exported it. This tool rebuilds the MP4 with only the streams, so those notes do not travel with the clip. Processing happens on our server and files are deleted within minutes.
Which boxes get what treatment
| Box or track | Content | Action |
|---|---|---|
mdat | Compressed video and audio | Copied bit for bit |
ftyp, rebuilt moov | Brand and the track index | Kept or regenerated for the copied tracks |
mvhd, tkhd, mdhd | Creation and modification times | Written empty |
udta, meta/ilst | Title, artist, comment, date, encoder | Removed |
©xyz | GPS written as text, like +37.7749-122.4194/ | Removed |
mdta keys | Android version and similar | Removed |
| Handler and track names | Labels like “VideoHandler” | Reset to neutral defaults |
| Timed metadata tracks | GPS, speed, sensor samples | Not copied |
uuid boxes, chapters | XMP edit history, C2PA credentials | Removed |
free, skip | Padding | Left behind |
Only video, audio and subtitle tracks are carried over; anything else is not.
Typical sources of leaks
- Android phones: position in
©xyz, system version, frame rate. - Action cameras: a telemetry track with GPS, acceleration and gyroscope data.
- Drones and dashcams: route data in extra tracks or in separate files.
- Editors and screen recorders: their own name and version, sometimes an XMP packet, always a creation time.
What our test clips showed
We created MP4s with a standard encoder plus a metadata writer, cleaned them with the production code and compared the streams. Video and audio matched exactly every time.
- Title, location, track titles, chapters and an XMP box disappeared, and the report found nothing left.
- Two audio tracks stayed in order, with language codes (
eng,fra) kept because they identify no one. Their titles were dropped. - Text subtitles kept their language code, lost their title.
- A fragmented streaming-style MP4 played normally and its video stream was identical.
- Cover art stored as a second video track is kept; look at that image yourself, since it may carry its own data.
- Rotation survives, so portrait clips stay upright.
One limit: some software encoders, x264 for example, write their name and settings inside the compressed stream. Removing that needs re-encoding, so it stays. It names software, not you.
Details people overlook
The output is named like the original with “-clean” appended, and your operating system stamps it with today's date. Neither is part of the video, but a file called beach-house-lahore.mp4 still says where it was shot, so rename it before sending.
For websites, one caveat: the index (moov) ends up after the media data, which makes some browsers fetch the end first. This command moves it forward without re-encoding:
ffmpeg -i clean.mp4 -c copy -movflags +faststart web.mp4Cleaning a clip
- Without an account you can clean 3 videos a month; a free account allows 10.
- Drag the MP4 into the page.
- Wait a few seconds for the copy and the re-scan.
- Download and read the report; “Verified clean” only appears at zero.
| Plan | Max file | Videos / month |
|---|---|---|
| Guest | 25 MB | 3 |
| Free | 25 MB | 10 |
| Starter | 100 MB | 100 |
| Pro | 500 MB | 1,000 |
| Business | 1,000 MB | 10,000 |
Larger than your plan? Do the same on your own computer:
ffmpeg -i input.mp4 -map 0:v -map 0:a -dn -map_metadata -1 -map_metadata:s:v -1 -map_metadata:s:a -1 -map_chapters -1 -c copy -fflags +bitexact clean.mp4-map 0:s? to keep them.ffprobe -v error -show_entries format_tags:stream_tags -of json clean.mp4
exiftool -a -G1 -s clean.mp4language, default handler names. No location, make, model, title, comment or creation_time.Related: all video formats, iPhone MOV, the metadata viewer to look before you clean, and the API and MCP server for whole folders.
FAQ
Is quality lost?
No. Streams are copied without decoding; in tests they were bit-identical to the originals.
Is the file uploaded?
Yes, over HTTPS, since video needs FFmpeg. The original is deleted when cleaning ends, the result within 15 minutes, and the content is never opened.
Does it clear Android GPS?
Yes: the ©xyz box, location tags and separate telemetry tracks.
What about the recording date?
Tag dates go and header times are written empty. A date shown in the picture or in the file name stays.
Why did track labels change?
Language codes stay; titles and handler names go, so “English commentary” becomes an untitled eng track. Subtitles remain.
Is cover art removed?
No, it is copied as it is. Replace the picture beforehand if it holds personal data.
Why can an encoder name still appear?
Some encoders write it into the compressed stream, which cannot change without re-encoding. It names software.
Does a portrait video stay upright?
Yes, rotation is kept.
Why is playback slow to start on my site?
The index sits at the end. Run the faststart command above, which re-encodes nothing.