fileformer
search⌘KtranslateENexpand_moreupload_fileConvert
Converters8 file families · 44 direct conversions
What changes in a conversionarrow_forward
home/video-tools/compress-video

Compress video.
Pick how small.

Give it a size limit and it solves the bitrate, encodes in any of 20 formats (MP4 with your browser's own H.264 encoder, the rest with FFmpeg in WebAssembly) and re-encodes if the result comes out over. Or pick a quality. Every result is measured against the source before you download it.

The sum it solves firstsize ÷ length = bitrate
Size limit
Video length
3.1 Mb/svideo bitrate
720plargest that looks fine
0.114bits per pixel
After 128 kb/s audio and 2% for the MP4 index. At 30 fps; the tool below runs the same sum on your real video, then checks the result.
H.264WebCodecs encoder
20formats in and out
0 Buploaded
≤ 3passes to fit
PSNRmeasured
video_library
Drop a video here
or click to browse · all 20 formats below · stays on this device
movieGenerated sample
error
Open a video or use the generated sample (6 s, 1280×720 with fine lines and a moving ball, the kind of detail compression hurts first).
Open a video or use the generated sample.
compressAdd a video first
tuneCompression settings
Target sizeQuality
Must fit under
8 MB10 MB25 MB50 MB100 MB
Gmail’s attachment limit. 1 MB = 1,000,000 bytes here, so the file also fits limits that count 1,048,576. Aims 4% under to leave room for the MP4 index.
Save as.mp4 · H.264 + AAC
.mp4browsersameoriginal.webmweb.mkvarchive
searchAll 20 formatsexpand_more
search
.
No format matches.
Your browser’s own H.264 encoder: the fastest route, and the result plays everywhere.
Longest side
autosource19201280854
Frame rate
24253060
Audio
128k96k64kdrop
Length
whole10 s30 s
planopen a video
The plan appears once a video is open: bitrate, size and what that bitrate buys at this resolution.
result · measured from the finished filedownloadDownload
encoding passes
passasked forgot
PSNR at five points in the clip
~/controls

What each control really does.

A video's size is just bitrate × length. Everything here is a way of choosing that bitrate, or of spending it on fewer pixels.

straighten8-100 MB
Target size
Bitrate = (limit × 8 − index) ÷ seconds − audio. Encoders only average out roughly, so an overshoot triggers up to two corrective passes.
open a video to see the sum
tune0.05-0.2 bpp
Quality
Bits per pixel per frame is bitrate ÷ (width × height × fps). It makes quality comparable across resolutions: 0.08 at 720p is as good as 0.08 at 4K.
0.08 bpp is the usual H.264 sweet spot
photo_size_select_large854: source
Longest side
Halving the width quarters the pixels, so the same bitrate buys 4× the bits per pixel. With a tight limit, a sharp 720p beats a blocky 1080p.
auto picks the size for you
graphic_eq64-128 kb/s
Audio
Audio is a fixed cost per second. On a 10 MB limit for 2 minutes, 128 kb/s audio takes 1.9 MB, a fifth of the budget.
drop it for silent clips
~/measured-on-your-video

Find the sweet spot for this video.

A talking head needs a fraction of the bitrate a drone shot over trees does. So instead of guessing, this measures your footage.

movie012 secondstaken from your video
photo_size_select_small02640 pxsame size for every test
tune037 encodes0.02 to 0.22 bpp, H.264
difference04PSNRevery frame decoded and compared
open a video above firstscienceMeasure on this video
bits per pixelMB per minute at 640 pxPSNR, 25 to 50 dBquality
0.02 bpp138 kb/s at 640 px
- dB
0.035 bpp242 kb/s at 640 px
- dB
0.05 bpp346 kb/s at 640 px
- dB
0.07 bpp484 kb/s at 640 px
- dB
0.1 bpp691 kb/s at 640 px
- dB
0.15 bpp1037 kb/s at 640 px
- dB
0.22 bpp1521 kb/s at 640 px
- dB
SWEET SPOT
< 0.05 bppStatic screen recordings and slides stay sharp here.
0.05-0.1 bppWhere most phone and camera footage looks right.
> 0.1 bppGrain, water, leaves and confetti need this much.

The seven rows above fill in with real sizes and PSNR once measured; the sweet spot is the smallest row within 1.5 dB of the best.PSNR compares pixels exactly; it is not a model of human vision, but it moves the same way and is honest about what was measured. Click a row to compress at that bits-per-pixel.

~/formats, all 20, in and out

From today's web to 1990s archives.

Every one opens here and can be saved back as itself. Your browser reads what it can play; FFmpeg in WebAssembly reads and writes the rest. Pick a row to make it the output.

20formats, in and out
6read by your browser
14read by FFmpeg
Read-by is asked live from this browser with canPlayType. Saving as MP4 uses the browser's own H.264 encoder; every other format goes through FFmpeg.
formatwhat it is · best forread bysaved as
Common6 formats
.What is it →Best for:
.mp4What is it →MPEG-4 container using H.264, H.265 or AV1.Best for: Web, mobile, social and everyday sharing.The safest pick when it needs to play anywhere.your browserH.264 + AACSaving as .mp4
.aviWhat is it →Microsoft container dating back to 1992.Best for: Legacy Windows software and old hardware.Plays almost anywhere, but files run large.FFmpegMPEG-4 Part 2 + MP3Save as .avi
.mkvWhat is it →Open Matroska container with flexible tracks.Best for: Archiving and multi-language movies.Holds unlimited audio and subtitle tracks.your browserH.264 + AACSave as .mkv
.movWhat is it →Apple QuickTime container.Best for: Editing in Final Cut and iMovie on Mac.Native on Apple; may need codecs on Windows.FFmpegH.264 + AACSave as .mov
.wmvWhat is it →Windows Media container.Best for: Playback on Windows systems.Compact, but limited compatibility elsewhere.FFmpegWMV 8 + WMA 2Save as .wmv
.flvWhat is it →Adobe Flash Video container.Best for: Opening legacy web-video archives.Obsolete since Flash was retired in 2020.FFmpegSorenson H.263 + MP3Save as .flv
Web3 formats
.What is it →Best for:
.webmWhat is it →Open container using VP8, VP9 or AV1.Best for: HTML5 web video and streaming.Royalty-free; plays in all modern browsers.your browserVP8 + VorbisSave as .webm
.ogvWhat is it →Ogg container using the Theora codec.Best for: Open-source projects and Linux.Patent-free, less efficient than newer codecs.your browserTheora + VorbisSave as .ogv
.m4vWhat is it →Apple variant of MP4.Best for: iTunes, Apple TV and iOS.Like MP4, with optional Apple DRM.your browserH.264 + AACSave as .m4v
Professional5 formats
.What is it →Best for:
.mpgWhat is it →MPEG-1/2 program stream.Best for: DVD, VCD and broadcast video.A foundation of early digital video.FFmpegMPEG-2 + MP2Save as .mpg
.mpegWhat is it →MPEG-1/2/4 standard container.Best for: DVD, broadcast and streaming.The industry base for TV and cinema.FFmpegMPEG-2 + MP2Save as .mpeg
.vobWhat is it →DVD-Video container built on MPEG-2.Best for: DVD authoring and backups.Stores menus, subtitles and multiple audio tracks.FFmpegMPEG-2 + MP2Save as .vob
.mtsWhat is it →AVCHD camcorder format using H.264.Best for: Consumer HD camcorder footage.High-bitrate 1080p from Sony and Panasonic.FFmpegH.264 + AAC in TSSave as .mts
.m2tsWhat is it →Blu-ray transport stream.Best for: Blu-ray and AVCHD footage.H.264 up to 40 Mbps, 1080p to 4K.FFmpegH.264 + AAC in TSSave as .m2ts
Mobile2 formats
.What is it →Best for:
.3gpWhat is it →3GPP mobile container.Best for: Old phones and MMS messages.Heavily compressed for slow networks.your browserH.264 + AACSave as .3gp
.3g2What is it →3GPP2 mobile container.Best for: Legacy CDMA phones.The CDMA counterpart to 3GP.FFmpegH.264 + AACSave as .3g2
Legacy4 formats
.What is it →Best for:
.rmWhat is it →RealMedia streaming format.Best for: Opening 1990s web-video archives.Pioneered dial-up streaming, now obsolete.FFmpegRealVideo 2 + AC-3Save as .rm
.rmvbWhat is it →Variable-bitrate RealMedia.Best for: Early-2000s downloads and anime.Better quality per size than plain RM.FFmpegRealVideo 2 + AC-3Save as .rmvb
.asfWhat is it →Windows Media container.Best for: Windows Media streaming.The base format behind WMV and WMA.FFmpegWMV 8 + WMA 2Save as .asf
.swfWhat is it →Adobe Shockwave Flash.Best for: Old Flash animations and games.Discontinued after Flash reached end of life.FFmpegSorenson H.263 + MP3Save as .swf
~/next

If compressing isn't enough