Video Metadata Remover: Strip AI Metadata from MP4 and MOV
What AI video metadata actually is, where it lives in an MP4 or MOV, and how to remove a TC260 AIGC label or C2PA credential by overwriting bytes — no re-encode, no quality loss, no upload.
A video metadata remover strips the AI provenance an image or video generator wrote into the file, and leaves the picture and sound exactly as they were. That last part is the one most tools get wrong. The common approach is to decode the file, drop the metadata, and encode again — which costs you minutes per clip, burns battery, and quietly re-compresses every frame. Our video metadata remover does neither: it finds the metadata boxes, overwrites those bytes, and hands the file back at exactly the same length.
This post is the overview. If you want the reference detail, go to what a TC260 label is, where a C2PA credential lives in video, or the step-by-step how to remove AI metadata from a video.
What counts as "video metadata"
Video is not an image with a longer header. MP4, MOV, M4V and the HEIF family all share the ISO base media file format, which is a tree of nested boxes: an ftyp box declaring the brand, an mdat box holding the actual frames and audio, and a moov box holding everything structural — including the metadata lists. Because the metadata lives in its own boxes, it can be located without ever decoding a frame.
That is the whole reason byte-level cleaning works on video. If the label sits in a box with a declared size, you can overwrite that box's contents and leave the size field alone. Everything else in the file — every sample offset in stco and co64, every index, every frame — stays valid because not one byte moved.
The two things we look for
A TC260 AIGC label. This is China's AI-generated content mark, standardised as GB/T 41819-2022. Chinese generators are required to carry it, so if your clip came out of Doubao, Kling, Jimeng, Hailuo or Qwen it probably has one. It lives in moov.udta.meta, as an AIGC key in a key table pointing at an item in a metadata list, and the item holds a small JSON document naming the producer. Some iOS MOV exports drop the key table entirely and leave the same JSON in a bare item — we handle both placements.
A C2PA Content Credential. This is the industry-wide signed manifest, the same one that appears in JPEGs. In video it does not go in the usual metadata list at all: it sits in a top-level uuid box keyed by a specific UUID, sitting beside mdat rather than inside moov. Producers write it into MP4, MOV and M4V alike.
What we remove, and what we deliberately keep
The cleaner only touches the two things above. It does not touch mdat, so your video and audio are byte-identical to the source. It does not re-encode, so there is no generational quality loss — the second-generation blur you get from re-saving is not a thing here.
It also does not try to be clever about anything else. There is no prompt stored in a TC260 label to strip, because the label is an identifier rather than a prompt record — that is the interesting difference from image workflows, where the full prompt often sits in XMP. A camera make, a creation timestamp, a caption: all left alone.
Why the file size never changes
Overwriting bytes is not deleting them, and that is the entire trick. A TC260 label is blanked with spaces in place. A C2PA uuid box has its four-character type retyped to free and its body zeroed — the ISO convention for a box that is present but ignorable, which is what makes a player skip it rather than choke.
Because no box size changes, no sample offset changes, and no byte is inserted or removed, the output is the same length as the input. If you are batch-processing a folder of clips, or feeding the result into a pipeline that expects stable file lengths, that matters.
We also stream the work in 4 MB chunks rather than reading the file into memory, so a 1 GB clip costs about as much memory as a 2 MB one. That is what lets the whole tool stay in your browser with no upload at all.
The honest caveat about proof
When we clean a file we re-scan the output and show you what is left — that check is real, and it is why the tool reports a failure rather than handing you a download if anything survived. We also show a SHA-256 of the moov box before and after, which is a convenient fingerprint that the metadata segment changed.
It is worth being precise about what that digest is not. It is not a whole-file checksum, for the practical reason that hashing a gigabyte in the browser is slow. And a top-level C2PA box sits outside moov, so a file where you removed only a C2PA credential will show an unchanged moov digest. The zero-traces rescan is what covers both cases; the digest is a fingerprint, not the proof.
Who this is for
If you generated the clip yourself, this is about making an informed call about what travels with the file. If you bought it or downloaded it, it is about knowing what the source embedded before you list it, repost it, or hand it to a client. If you are a platform, you are probably interested in the invisible watermark question instead — which is a different layer of the file entirely, and one this tool does not touch.
Use it on 3 videos a day without an account, or 5 with one. It runs entirely in the browser, and your file never leaves your device.