Compress Video
Reduce video file size for email, sharing, or storage — choose a preset or dial in custom settings.
100% in your browser — files never leave your device
How video compression works here
Most online video compressors route your files through a server. Your footage gets uploaded, processed on hardware you don't control, then downloaded back. That approach is slow and exposes your content to a third party.
This tool runs FFmpeg.wasm — a full build of FFmpeg compiled to WebAssembly — directly in your browser tab. The first time you use any media tool on nah.tools, the WASM binary (roughly 25 MB) downloads from a CDN and is stored in your browser cache. Subsequent uses are instant. Nothing leaves your device during compression.
The three built-in presets cover the most common use cases: shrinking a recording to fit under an email attachment limit, preparing a clip for social media upload, and reducing file size for web embedding while keeping good visual quality. The Custom preset exposes the underlying FFmpeg parameters — CRF, resolution cap, frame rate, and audio bitrate — so you have full control when the presets don't fit your needs.
Frequently asked questions
Does my video get uploaded to a server?
No. Compression runs entirely in your browser using FFmpeg.wasm — a WebAssembly build of FFmpeg. Your video never leaves your device. The first time you use any media tool, the FFmpeg.wasm binary (about 25 MB) downloads from a CDN and is cached by your browser for all future visits.
What codec does the compressor use?
The tool encodes output as H.264 (libx264) in an MP4 container. H.264 is supported by virtually every device and video player. Audio is re-encoded at the bitrate specified by the preset (96k for Email, 128k for Social and Web).
What do the presets actually do?
Each preset sets a CRF (Constant Rate Factor) value and maximum resolution. Email (CRF 32, 720p max, 30 fps) targets files under 25 MB for attachments. Social (CRF 26, 1080p max, 30 fps) balances quality and size for platforms like Twitter and Instagram. Web (CRF 23, 1080p max, original fps) keeps the best quality at a reasonable file size. Higher CRF = more compression = smaller file with some quality loss.
What if the compressed file is larger than the original?
The tool detects this automatically. If the re-encoded output would be larger than the original, it downloads the original file unchanged and shows a note explaining the situation. You can try a more aggressive CRF or lower resolution via the Custom preset.
What video formats can I compress?
FFmpeg.wasm can read most common video containers: MP4, MOV, AVI, MKV, WebM, and others. The output is always MP4 with H.264 video. If your source format is not recognized, you will see an error message.