Processed on this device

Compress Video for a Website Smaller file, faster page

There is no upload limit to beat here. The video is going on your own site, so the real constraint is what it does to the page: how long before it starts, how much bandwidth it spends on someone who never presses play, and how it behaves on a phone with a metered plan. This page has the Website upload preset, the numbers worth aiming at, and an honest account of what a single H.264 MP4 can and cannot do for web performance.

  • Built for page weight
  • No upload step
  • 1080p H.264 MP4

Drop videos or browse your device

MP4, MOV, M4V, MKV, AVI, WebM, WMV, TS, MTS, MPEG, 3GP, FLV and more

Up to 20 videos at once

Privacy-first No uploads Processed locally

Your video is processed in your browser's memory and never uploaded, so the ceiling is set by your device, not by us.

Strong compression with a widely compatible MP4 for CMS and portfolio uploads.

Privacy-first. No uploads. If this helps, share it.

Bigger files? Run it in the Cloud

This tool runs on this device for free. For a file over the device limit or a long video, the same tool runs on our servers, with up to 5 GB per file and 6 hours of video, faster, and with your files kept for up to 7 days, or as long as you choose with any pack or plan. From 1 credit a minute, with 10 credits free when you create an account.

  • The footage never leaves this tab

    The encode runs on your own processor, through FFmpeg compiled to WebAssembly. That matters when the clip is an unreleased feature, a client build or a demo recorded off a staging environment, because no copy of it exists anywhere but your machine.

  • Tuned for a cold page load

    The Website upload preset encodes H.264 at CRF 26, caps the shorter frame side at 1080p and puts audio at 96 kbps AAC. It is aimed at a clip a stranger has to load on a connection you know nothing about, not at an archive master.

  • A muted loop does not need audio

    Background video plays silent, so its audio track is overhead on every page load. In Custom mode, open Advanced settings and set Audio to Remove, and the track is left out of the file. On a loop nobody can hear, those are bytes removed with nothing lost.

Quick answer

How to compress a video for a website

There is no size cap to fit on your own site, so page weight is the target instead. Add the clip, leave the preset on Website upload, and it is re-encoded here to H.264 MP4 at CRF 26 with the shorter frame side capped at 1080p and audio at 96 kbps. For a silent background loop, switch to Custom and set Audio to Remove, which keeps the track out of the file entirely. The encode happens in this tab, so the only upload is the one you make to your own host.

  1. Add your clip
  2. Keep the Website upload preset
  3. Upload the smaller MP4
What actually governs it

The numbers worth aiming at for web video

Nobody publishes a file size limit for your own website, which is exactly why web video gets out of hand. These are the factors that decide whether a clip is an asset or a tax on every visitor, with the targets that tend to hold up in practice.

What governs itPractical targetWhy it matters
Hero or background loopUnder 2 MB, better near 1 MBThis is the clip everyone downloads whether they care about it or not, so it is the one to be strict with. A quiet 5 to 10 second loop at 1080p can land there once it is compressed and the audio is gone. Busy footage will not, and that is usually a sign the shot is wrong for a loop rather than a sign to spend more bitrate.
Resolution for a full width player1080p is the ceiling worth servingAbove 1080p the extra pixels rarely survive the browser window, but the bandwidth is spent anyway. The preset caps the shorter frame side at 1080p and leaves smaller clips at their own size rather than upscaling them.
Audio on a muted loopTake the track out entirelyA background video is muted by browser policy, so the audio is never heard, yet it is still downloaded and still decoded. Custom mode can delete it outright, and since nobody was ever going to hear it, nothing goes with it.
Poster imageAlways set oneWithout a poster the player is a blank rectangle until enough video arrives, and on a phone that blocks autoplay the poster is the only thing anyone sees. This tool does not export a poster frame, so pull one from your editor or take a screenshot of the frame you want.
When one file stops being enoughRoughly a minute, or any real libraryA single MP4 hands every visitor the same bitrate on every connection. Past a short clip, or once you have more than a handful of videos, adaptive streaming through HLS or DASH, or a proper video host, does a job no single file can.

None of these are published limits. They are working rules of thumb, and they move as connections, devices and browser defaults change, so measure your own page rather than trusting the table. Last verified on 15 August 2026.

The usual mistake

Compressing the file is only half the job

The most common web video mistake is not the encode, it is the markup around it. A 2 MB clip with preload set to auto and no poster is still 2 MB the browser has been told it may fetch for a visitor who never presses play, competing for bandwidth with the fonts, CSS and images that decide when the page looks finished. Set preload to none or metadata, give the element a poster, and hold off loading anything below the fold until it comes near the viewport. Compression makes the file cheaper. The attributes decide whether it is fetched at all.

This tool does the encode and nothing else. It cannot write your markup, export a poster frame, or produce WebM, VP9 or AV1 alternatives, so treat the smaller MP4 as one part of the fix rather than the whole of it.

Phones

What a hero video costs on mobile data

Phones are where a heavy clip hurts most: a slower connection, a metered plan and a battery paying for the decode. It is also where the clip is least likely to be seen, because a wide 16:9 loop behind a narrow layout is mostly cropped away by the surrounding CSS. Plenty of sites are better off showing a still image below a certain width and keeping the video for larger screens.

  • Autoplay only works when the video is muted, and on iOS the element also needs the playsinline attribute, which is one more reason a background loop should not be carrying an audio track at all.

  • Low Power Mode on iPhone and data saver modes on Android can stop an autoplaying loop from ever starting, so the poster image has to hold the layout on its own.

  • To hand phones a lighter file, list two sources and put a media condition on the larger one. Browsers walk the list in order and take the first source they can play whose condition matches, so leave the small file last with no condition on it. Chrome and Firefox restored support for this in version 120 and Safari has had it throughout. One difference from picture is worth knowing: the choice is made once, when the video loads, so resizing the window or rotating the phone does not swap the file. Compress the clip twice here, once at 1080p and once at 720p.

Get a page ready clip in three steps

Nothing here touches a server.

  1. 01

    Add the video

    Drag in MP4, MOV, MKV, AVI or WebM, or pick files from your device. The batch limit is 20 files at 1.75 GB each, enough to redo every video on a page in one sitting.

  2. 02

    Keep the Website upload preset

    It encodes H.264 at CRF 26, caps the shorter frame side at 1080p and puts audio at 96 kbps AAC. For a silent background loop, switch to Custom, open Advanced settings and set Audio to Remove. Custom also takes a target size in MB when your page budget is fixed.

  3. 03

    Upload it to your own host

    The output is an MP4 carrying H.264 video and AAC audio, the pairing every browser plays without a fallback source. Check the size on the result card, then set a poster and a sensible preload value on the element.

Why compress before it goes on the page

A page has a bandwidth budget and video spends it faster than anything else on it. The file size is the part you control before a single visitor arrives.

Video outweighs everything else on the page

One uncompressed hero clip can be heavier than all the HTML, CSS, JavaScript, fonts and images put together. Nothing else on a typical site is a single decision away from saving that much.

Most site builders serve exactly what you upload

Media libraries in common CMS and site builder tools resize images but often pass video straight through, so the 300 MB export from your editor becomes the file every visitor downloads. Compressing first is the only step between your master and the wire.

A muted loop pays for audio it never plays

Silent autoplay is a browser rule, not a style choice, so the audio in a background video is never heard. It is still bytes on the wire and still work for the decoder. Dropping it takes weight off every page load and leaves the picture exactly as it was, and Custom mode here can do it.

One file is the right answer up to a point

H.264 MP4 is the most widely playable single file there is, which is what a short loop, a product demo or a hero clip actually needs. It is not adaptive: everyone gets the same bitrate whatever their connection, and there is no lower rung to fall back to. For long video, a library, or anywhere quality should follow the network, HLS or DASH through a video host will beat any single file, this one included.

If the video plays as a silent background, remove the audio track first and it gets smaller for free.

Is the source format the problem rather than the size? Convert it to MP4 first.

Privacy

Web video is often work you have not shipped yet

The clip destined for a site is frequently something that is not public yet: an unreleased product demo, a client build behind a staging URL, a founder recording, footage covered by an NDA. Handing that to a compressor run by strangers, in exchange for a few megabytes, leaves unreleased work sitting on infrastructure you cannot audit.

The encode here happens in the page you are reading, with FFmpeg compiled to WebAssembly doing the work on your own processor. Nothing is queued, nothing is written to a bucket for someone to clear out later, and there is no account here for a history to accumulate in. When you close the tab, the only copies of that clip are the ones you started with.

What that means in practice

  • You make the only upload there is, straight to your own host or CDN
  • The footage, its file name and the site it is for stay on your machine
  • Nothing is added to the output: no watermark, no branding, no signup
  • Your device does the encoding, so a long clip keeps this tab busy for a while

Web video troubleshooting

Frequently asked questions

Add the clip, leave the preset on Website upload and download the result. It is re-encoded in your browser to H.264 MP4 at CRF 26 with the shorter frame side capped at 1080p. Nothing is sent to us, so the file only travels when you publish it to your own host or CDN.

Web video guidance on this page last reviewed on 15 August 2026.