Settings

1. The file

MP4, M4A and MOV; MP3; WAV; FLAC; Ogg. The file is read in this tab. Nothing is uploaded, and the copy on your disk is never written to.

Drop a video or audio file here, or open one A large file is read in one go, so give a two-gigabyte video a moment.

No file open yet.

What this does not take out

The encoder's own fingerprints are in the bitstream, and they stay. Metadata is a labelled field in a box, a chunk or a frame, and those are what this removes. The compressed picture and sound underneath carry their own marks: the choice of quantisation tables and slice layout, the exact group-of-pictures structure, the padding in the last frame, the LAME or Xing header that lives inside the first MPEG audio frame rather than beside it. A laboratory comparing two files can often say they came from the same encoder, the same settings and sometimes the same device, with every metadata field gone. Removing that would mean decoding and re-encoding the media, which is a different job, costs a generation of quality, and is not what this page does. If that matters to your situation, re-encode the file with a tool you have chosen and then run the result through here.

What this is, and what it is not

It walks the file, it does not guess at it. For MP4, M4A and MOV the whole ISO base media box tree is read: moov/udta/meta/ilst tags, the Apple QuickTime keys including make, model, software, creation date and location, the creation and modification times in mvhd and tkhd, any uuid box carrying an XMP packet, and the handler name on each track. For MP3 it is ID3v2.2, v2.3 and v2.4, which differ in their frame headers and in whether the sizes are syncsafe, plus ID3v1 and APEv2 at the tail. For WAV it is the RIFF chunk list with LIST/INFO, bext and iXML decoded. For FLAC and Ogg it is the Vorbis comment. The structure panel shows the tree, so you can check the reading against another tool.

Removing bytes from an MP4 moves everything after them. An MP4 keeps a table, stco or co64, of where in the file each run of samples begins, and a fragmented file keeps moof offsets in its index as well. Take a udta box out of the middle and every one of those numbers is now wrong, which is how most home-made strippers produce a file that opens and then plays nothing. Here each removed range is measured, every offset in those tables is moved by exactly the number of bytes removed before it, and the size field of every box that shrank is rewritten. If any offset would land inside something being removed, the rewrite is refused and the file is left alone.

It checks its own work before it offers you anything. The new file is parsed again with the same reader, the before and after lists are built from that second reading rather than from what the strip intended, and the bytes removed are added up and compared with the difference in file size. If those two numbers disagree, or if the new file no longer parses, nothing is offered for download and nothing on your disk has changed. Play the result here before you delete the original.

The encoder's fingerprints are not metadata and are not removed. See the panel above. Quantisation choices, frame structure and the LAME header inside the first audio frame all stay, because they are part of the compressed media rather than fields beside it. This page never re-encodes anything.

Ogg is rebuilt, not cut. An Ogg file is a chain of pages with their own checksums and sequence numbers, so the comment packet cannot simply be deleted. The header pages are rebuilt around an empty comment packet, every page after them is renumbered, and all the page checksums are recomputed. The audio packets are copied byte for byte. A file holding more than one logical stream, which is what a chained or multiplexed Ogg is, is refused rather than guessed at.

What it will not open. Matroska and WebM, AVI, and the raw camera formats are different containers and are not read here. Neither are still images: EXIF is a photo's problem and the EXIF tool covers it. A file the page cannot read is named as such rather than half-parsed.

It is not a promise of anonymity. Stripping the fields does not undo a file that was already shared, does not touch what a service recorded when you uploaded it, and does not change the media itself. Treat it as one step of several rather than the whole answer.

Questions people ask

Is the file uploaded anywhere?

No. It is read into memory by this tab, parsed here and rewritten here. Nothing is sent, which is why the page works with the network turned off.

Will the stripped video still play?

That is the whole point of the offset repair, and there is a Play it here first button so you can check before you save. If anything about the rewrite does not add up, the file is not offered to you at all.

Does it remove the GPS location from a phone video?

Yes, when the location is where a phone puts it, which is a QuickTime location tag in udta or in the Apple keys. Both are removed. The page lists what it found, so you can see the location entry go.

Why does it say it cannot rewrite my file?

The common reasons are a container it does not read, a metadata box sitting inside the media data, an offset table that points into something being removed, or an Ogg file holding several streams. In each case it refuses rather than hand you a broken file.

What about the creation date in mvhd?

It is shown but not removed, because zeroing it changes no box size and would be a silent edit to a structural field some players read as the duration anchor. If it matters, note that it is there; a re-encode is the reliable way to lose it.

Can it strip a .mkv or .webm?

No. Matroska is an EBML container with a different shape, and doing it properly is its own piece of work rather than a corner of this one.

What happens to album art?

It is metadata, so it goes: a cover in an MP4 ilst box, an APIC frame in ID3, a PICTURE block in FLAC. The before and after list shows it going.

Related tools