How it works
What it changes, and what it leaves alone
You are about to hand a video file to a web page, so it is reasonable to want to know what happens to it. The short version: one number in the header is rewritten, everything else is copied across untouched, and the file never leaves your browser.
The one thing it changes
An MP4 states how long it is in two separate places. Each track — video, audio — carries its own duration, and the movie as a whole carries one too. Normally they agree.
This tool writes the movie-level figure as unknown, and leaves every per-track duration exactly as it was. Players, editors and phones read the per-track values, so they behave completely normally: the video plays, seeks and scrubs as it always did.
An ingest pipeline that reads the movie header to work out how big a job your video is gets no answer. Our reading is that a file it cannot size up does not get put through the usual re-encode. That last sentence is inference — we cannot see inside anyone's servers. The measurements below are not inference.
How we know it does anything
The same 1080 × 1920 clip, uploaded four times, one variable changed at a time:
| Movie duration | Audio | Result | |
|---|---|---|---|
| A | normal | re-encoded to 48 kHz | dropped to 540p |
| B | normal | untouched | dropped to 540p |
| C | unknown | untouched | full quality |
| D | unknown | re-encoded to 48 kHz | full quality |
The audio changed nothing. The duration field decided it every time — which is why this tool does the one thing and refuses to do the other.
What it leaves completely alone
Everything else. Specifically:
- Every frame of video, copied byte for byte. The tool never decodes your picture, so it has no way to soften it — not slightly, not at all, not even if you run the same file through twice.
- Every sample of audio, likewise. No resampling, no re-encoding, no second lossy generation. The reference tool this was modelled on resamples audio to 48 kHz; we tested that and it changes nothing, so we do not do it.
- Edit lists, which are what keep audio sync correct and the first frame at the right moment. Drop those and you get a frame of offset and a few milliseconds of drift.
- Your metadata, unless you tick the box asking for it to go.
This is checked rather than asserted. Every build runs a harness that hashes the raw video bitstream before and after, compares every decoded frame, and fails if a single byte moved. The same harness runs in the browser and on a server, and both produce byte-identical output.
Your video never leaves your browser
There is no upload. There is no server to upload to. The whole thing is a few hundred lines of JavaScript that run inside your tab, reading the file straight from your disk.
Which has some pleasant consequences: there is no file size limit, no queue, no account, and no stranger holding a copy of your unreleased video. It works with your network cable unplugged. A 2 GB file is as fine as a 20 MB one, and neither costs anyone bandwidth.
What it cannot do
It cannot improve your video. Nothing can. Once detail has been thrown away by an encoder it is gone, and any tool promising to restore it is either guessing at the missing pixels or lying. This one only stops further loss.
It also cannot help with a file that was already soft when it arrived. If your export looked bad before you got here, see why your TikTok videos look blurry and the export settings that matter.
The metadata option
Under Advanced there is an option to strip your editing app's metadata. It is off by default, for two reasons. It makes no difference to quality — we tested it both ways. And the block it removes contains an editing app's declaration of which AI features an edit used, so deleting it is a platform-rules decision rather than a technical one, and it should be yours to make deliberately.
There is more on what is actually in that block in CapCut and TikTok quality.
Honest limits
- It depends on a quirk, not a feature. This behaviour could be changed by the platform at any time, without notice. The badge on the home page says when it was last tested against a real upload, and warns you when that gets stale.
- MP4 and MOV only. Ordinary files from any editor or phone. A fragmented MP4 or an unusual container is rejected with a clear message rather than quietly mangled.
- It is one step of three. Editing inside TikTok, or uploading the wrong way, undoes it. The method on the home page covers the rest.