Compress video

Compress Video

Compress a video to a file size you choose, in your browser. A target size is not a wish — it is a bitrate, and bitrate times duration is the size exactly. Once that is fixed the only question left is whether the picture survives it, and that has a number too: bits per pixel per frame, shown before anything is encoded.

Bytes uploaded
0
Bits per pixel where footage stops showing artefacts
0.12
Quality gain from halving the height at the same size
Queues, watermarks, accounts
0

Step by step

How to use it

  1. 01Add the clip

    Drop an MP4, MOV, WebM or MKV. It is decoded by this page using the browser's own codecs — nothing is uploaded and there is no queue.

  2. 02Choose the size you need

    Set the target in megabytes — usually because something has a limit: 8MB for Discord, 25MB for most email. The bitrate follows from it arithmetically.

  3. 03Read whether it will survive

    The plan shows bits per pixel per frame for your settings. Above about 0.12 typical footage looks clean; below 0.06 it blocks and smears.

  4. 04Take the suggestion if it offers one

    When the target is too small for the resolution, the tool names a height that would carry it and offers one click to apply. Then compress and download.

Worked example

A minute of 1080p into an 8MB limit

The everyday case, and the choice that most compressors make badly on your behalf.

Given

Source
1080p30, 60s, 20 MB
Target
8 MB
Audio
Kept, 128 kbps

The same 8MB, spent two ways

Keep 1080p
  bitrate      1.00 Mbps
  bits/pixel   0.016   -> blocks and smears

Scale to 480p
  bitrate      1.00 Mbps   (unchanged)
  bits/pixel   0.081   -> holds together

Same file size. Five times the data per pixel.
Pixels at 1080p
62.2M per second
Pixels at 480p
12.4M per second
Better choice
480p, comfortably

Both files are 8MB. One is a mush of blocks at full resolution, the other is a sharp smaller video. Most compressors give you the first without mentioning the second exists.

Why this one

What this tool does differently

A target size is a bitrate

Bitrate times duration equals size. So asking for 8MB from a 60-second clip is asking for about 1.1 Mbps, and there is no estimating involved — the tool derives it, subtracts the audio track and a couple of percent for container overhead, and tells you the number.

Bitrate alone does not predict quality

2 Mbps is generous at 480p and starved at 4K, which is why a bitrate on its own tells you nothing. Bits per pixel per frame — bitrate divided by width times height times frame rate — is the figure that does, and it is the one every other compressor hides behind a quality slider.

Scaling down is usually the better trade

When a size limit is tight, most tools lower quality and hand back a blocky video at full resolution. Halving the height quarters the pixel count, so the same bitrate gives four times the data per pixel. The tool works out which height would carry your target and offers it in one click.

Trimming beats compressing

Because size is bitrate times duration, removing seconds removes bytes at no cost to the picture at all. If half the clip is not needed, cut it first and you may not need to compress at all.

The thresholds are rules of thumb

0.12 and 0.06 bits per pixel are where typical mixed footage looks clean and where it starts to break. A static talking head survives far below that; fast handheld motion through foliage needs more than either. Treat the verdict as a strong prior, not a measurement of your specific clip.

The judgement call

Which lever to pull

Three ways to fit a size, suited to different footage.

  • The plan says blocky and offers a height

    Scale down

    Halving the height quarters the pixel count, so the same bitrate delivers four times the bits per pixel. A smaller sharp video beats a large mushy one at the same file size, nearly always.

  • A screen recording or a slide presentation

    Halve the frame rate

    Static content barely changes between frames, so 15fps looks almost identical to 30 and hands every remaining frame twice the data. Do not do this to handheld footage or sport.

  • The clip is mostly someone talking

    Keep resolution, lower the size

    A static frame compresses far better than the thresholds assume — they are set for typical mixed footage. A talking head often survives well below 0.06 bits per pixel.

  • Only a few seconds matter

    Trim first

    Size is bitrate times duration, so halving the length halves the size at no quality cost at all. Cutting is always cheaper than compressing.

  • The target is bigger than the source

    Do nothing

    Re-encoding an already-compressed video always loses detail. Producing a larger file that looks worse is the one outcome with nothing to recommend it, and the tool says so rather than proceeding quietly.

Reference

The numbers behind it

Size formula
bitrate × durationWhich is why a target size determines the bitrate exactly.
Clean threshold
0.12 bits/pixelAbove this, typical footage shows no artefacts.
Trouble threshold
0.06 bits/pixelBelow this, most clips block and smear.
Halving the height
4× bits/pixelQuarter the pixels, same bitrate.
Audio budget
128 kbpsTransparent for speech; drop it to give the picture more.
Container overhead
~2%MP4 boxes and index tables, allowed for in the plan.

FAQ

Questions, answered plainly

How do I compress a video to 8MB for Discord?

Set the target to 8MB. The tool works out the bitrate that produces it and tells you whether your resolution can carry it — for a minute of 1080p it usually cannot, and it will offer a height that can. Scaling to 480p at the same 8MB gives each pixel about five times the data.

Is my video uploaded to a server?

No. The clip is decoded and re-encoded by this page using the browser's own codecs, the same ones the video player uses. Nothing is uploaded, there is no queue, no watermark and no size limit beyond your own memory.

Why does my compressed video look blocky?

Because the bitrate the target size allows is too low for the number of pixels being encoded. Every frame has a fixed budget, and spreading it across two million pixels leaves too little for each one. The fix is almost always to reduce the resolution rather than accept lower quality at full size.

What is a good bitrate for 1080p?

There is no single answer, which is the point — it depends on frame rate and content. As a working figure, 1080p30 wants roughly 7-8 Mbps to look clean and holds together down to about 3-4. Rather than memorising numbers, watch the bits-per-pixel figure: above 0.12 is comfortable, below 0.06 is trouble, at any resolution.

Will the output be exactly the size I asked for?

Within a few percent. The encoder targets an average bitrate rather than hitting a byte count exactly, so short clips in particular can land slightly over or under because container overhead is proportionally larger. The tool reports the real figure against the request once it has run.

Should I lower the frame rate?

Only for static content. Halving the frame rate hands every remaining frame twice as many bits, which is a clear win for screen recordings and slides. On handheld video or anything with real motion it produces visible judder, and the quality gained is not worth it.

Which browsers can do this?

Those with WebCodecs encoding: Chrome and Edge from 94, Firefox 130 on desktop, and Safari 26. The page says plainly when your browser cannot, rather than failing partway through an encode.