This page's code did not start.

Opening index.html directly from a folder blocks JavaScript modules, so nothing will happen when you choose a video. Serve the folder over http instead:

powershell -ExecutionPolicy Bypass -File serve.ps1

Then open http://localhost:8080/.

Video Compressor

Say how big it may be. The tool works out the rest, and measures the result before you get it.

Language: English
View source
Your videos are processed in your browser. No processing upload.

The video you choose is decoded, drawn smaller, encoded again and written back out in memory on this machine, by your own browser's codecs and code served from this address. Nothing here can make an upload, and there is no server on the other end of this page to receive one. A gigabyte never goes up to come back small.

Live check: checking…

Offline: checking…

Don't take our word for it: open DevTools, watch the Network tab, and compress something. Not one request carries a video, a frame, or a filename. Or unplug from the internet and compress it anyway.

1 Choose the video

2 Say how big it may be

The sound is copied as it is and the container takes a little, so what is left over the length of the clip is what the picture may spend. The picture is then shrunk until every frame gets enough of it to look like one, down a ladder of the sizes people know, never up.

A rung is a ceiling: the picture is never made larger than it came, and a big frame at a small number is a smeared frame.

Leave the sound out The sound is copied through untouched otherwise, at whatever it already costs. Dropping it gives all of the number to the picture.

MB

Frame size

3 Compress it

View as Markdown

How to compress a video to a size that will send

  1. Choose the video. One clip at a time, MP4 or MOV. It is read straight off your disk by the browser, and the page says what it is: how long, how big, what frame size, and what it spends per second.
  2. Say how big it may be. Type a number of megabytes, or press the limit you were given — 8, 16, 25, 50, 100 — or half or a quarter of what the file is. The line underneath says what that buys: the frame size and bitrate the clip's length and sound leave room for, and what the result should come out at. Leave the sound out if you would rather all of the number went to the picture.
  3. Overrule the frame size if you want to. The number picks a rung of the ladder on its own. Pick one yourself when you know better — a screen recording that must stay readable at 1080p, a clip that only needs to be watched on a phone — and the bitrate is spread over that instead. A rung is a ceiling: the picture is never made larger than it came.
  4. Compress it, and read the line that says it was measured. The picture is decoded, drawn smaller and encoded again, frame by frame, with a bar that says where it is. Then the finished file is measured against the number and opened again here to check its length; if it came out over, it is encoded once more, tighter, and the page says so. The result plays from memory under the download, so you can see it survived.

The longer version

How to compress a video to a size that will send What a size limit actually costs a video, where the megabytes go, why the frame size drops before the picture goes to mud, how to lose as little as the number allows, and how to do it in your browser without the upload.

Questions

How small can a video get?

As small as the number you type, down to the point where nothing watchable fits — and the page tells you where that is. The sound is copied as it is, so it costs what it costs (about a megabyte a minute for ordinary stereo), and the picture needs a few hundred kilobits a second at the smallest frame size to be a picture at all. Leaving the sound out gives its share to the picture, which for a short clip with a tight limit is often the difference.

Why did the frame size change?

Because a bitrate only means something relative to how many pixels it has to paint. Two megabits a second is generous at 720p and mud at 4K, so once the number has decided the bitrate, the frame is stepped down the ladder until each frame gets enough bits to look like a picture. A smaller clear picture beats a large smeared one, and it is what every service that compresses uploads does silently. Here it is said before it starts, and you can pick the rung yourself.

Will the quality be worse?

Re-encoding the picture can lose detail or introduce artefacts. The chosen bitrate, frame size, source and scene complexity all affect what is visible; a size limit does not specify an exact amount of quality loss. The audio is copied unchanged. Play the result, compare important text and motion, and keep the original.

What format does it write?

MP4 with H.264 video and the original audio track copied through. H.264 in MP4 is widely supported, but playback also depends on whether the receiving player supports the copied audio codec and the video profile. Test the finished file in its destination app. This tool does not write WebM, HEVC or AV1.

Which files does it read?

MP4 and MOV — what phones, cameras and screen recorders write — with H.264, HEVC, VP9 or AV1 inside, as long as your browser will decode them. An iPhone HEVC clip opens wherever the machine has a licence for HEVC, which is most machines. WebM, MKV and AVI are not read here yet; the page says so when it meets one rather than failing vaguely.

How long does it take?

As long as your machine takes to encode the clip. With a hardware encoder — most laptops and every recent phone — it is faster than the clip is long; a minute of 1080p usually takes less than a minute. Without one it is slower, and a long 4K clip is a long wait either way. The bar says which frame it is on, and cancelling stops it at once and writes nothing.

Why did it take two passes?

Because an encoder lands near the bitrate it is asked for rather than on it, and on a busy clip it can land over. The file is asked for a little under the number and measured; if it still came out over, the bitrate is worked out again from how far it missed and the clip is encoded once more. Two passes are always enough, and the page says when it took two.

Are my videos uploaded anywhere?

No. The clip is read, decoded, encoded and written by your own browser on your own hardware, and the page's Content-Security-Policy names every address it may contact — none of them belongs to this site. The simplest way to satisfy yourself is to unplug from the network and use the page anyway. On a tool for files this size, that is also the fastest way: the upload is usually longer than the encoding.

Does it work on a phone?

On a phone whose browser can encode video, yes, and a phone's own hardware encoder is quick. What a phone lacks is memory: the finished file is held in memory until you save it, so a very long clip may be more than a phone can hold. Cut it first with the Video Trimmer, or compress it on a laptop.

Is there a size limit, and does it cost anything?

There is no limit written into the tool. The clip is read from your disk in pieces, so a file larger than your memory is fine going in; the limit is the finished file, which is held in memory until you download it, and a laptop will take a few hundred megabytes of result without complaint. It is free, there is no account, no sign-in and no trial. The site carries advertising, which is what pays for it; the ads are not given anything about your videos.

Does it work offline?

Yes. Load the page once, then disconnect from the internet and it keeps working. That is also the simplest way to prove nothing is being uploaded: a tool that sent your video away to be compressed would stop the moment you unplugged.