Skip to content
Plaintools

Video compressor

Compress and transcode video files directly in your browser using client-side WebAssembly. No video is uploaded to any cloud server or third-party service. Set a target file size (e.g. 8MB for Discord, 25MB for email attachments) or use quality presets (CRF) and resolution scaling to reduce file size while maintaining visual clarity.

Client-only video compression. Videos are re-encoded directly inside your browser tab with WebAssembly. No files leave your machine.

Select a video to compress

Drag and drop an MP4, MOV, WebM, or MKV file here, or click to browse.

Converts to web-optimized H.264 + AAC MP4 with faststart streaming headers.

Video compressor example

Shrink a 45MB screen recording for Discord

Load a 45MB 1080p MP4 recording. Set compression mode to Target Size (8 MB) or CRF 28 with 720p scaling. The in-browser WebAssembly engine re-encodes the file to an 7.6MB H.264 MP4 with faststart streaming headers.

Video compressor how-to

  1. Stay on this page. Video compressor runs in the tab.
  2. Enter or drop your input here. The file or text is not posted to a server.
  3. Copy or download the result when it appears.

Related tools

Convert

Image compressor

Compress JPEG, PNG, and WebP images with adjustable quality, scaling, and live file size preview.

Convert

GIF compressor

Compress animated and static GIFs in your browser by downscaling dimensions, quantizing colors, and dropping frames.

Convert

Audio converter

Convert audio files to MP3, WAV, AAC, OGG, and FLAC client-side using WebAssembly. Files never leave your device.

People also use

Convert

HEIC converter

Convert iPhone HEIC/HEIF photos to JPEG or PNG in the browser.

Convert

PDF to JPG converter

Convert PDF pages into high-resolution JPG images client-side. Download single pages or a multi-page ZIP.

Convert

Picture to text converter

Extract text from images using optical character recognition (OCR) client-side with Tesseract.js. Files never leave your device.

Convert

PDF to PNG converter

Convert PDF pages into high-resolution, lossless PNG images client-side. Download single pages or a multi-page ZIP.

Video compressor FAQ

Is my video uploaded to a cloud server?
No. Transcoding runs entirely on your local machine using a WebAssembly build of FFmpeg inside a browser Web Worker. Your video never leaves your browser tab.
Which video formats are supported?
You can input MP4, MOV, WebM, MKV, AVI, and M4V video files. Output is always encoded to universally compatible H.264 video with AAC audio in an MP4 container.
What does CRF mean in video compression?
CRF stands for Constant Rate Factor. Lower values (like 22) preserve higher visual quality but produce larger files. Higher values (like 30 or 34) yield smaller files with higher compression.
Can I compress videos to meet Discord, Slack, or email attachment limits?
Yes. Choose 'Target File Size' and select 8MB (Discord free tier), 16MB (Slack), or 25MB (Gmail/Outlook). The tool automatically calculates the necessary video bitrate to hit the size threshold.
Why does in-browser video compression take time?
Video encoding is compute-intensive. In the browser, FFmpeg runs inside a WebAssembly sandbox executing on CPU cores without native GPU hardware acceleration. Short clips take a few seconds, while multi-minute clips may take a couple minutes.
How do I compress video locally from the command line?
Install FFmpeg and run ffmpeg -i input.mp4 -c:v libx264 -crf 26 -preset slow -c:a aac -b:a 128k -movflags +faststart output.mp4. For target file size: calculate bitrate (kbits = targetMB * 8192 / seconds - audioBitrate) and pass -b:v ${bitrate}k.