Skip to content

Free Video Compressor & Converter

Compress MP4, MOV, AVI, MKV & WebM up to 95% — no upload, runs entirely in your browser.

Drop a video or browse

MP4, MOV, AVI, WebM, MKV & more

Files stay on your device
Settings
CRFLower = higher quality
26
23–26 recommended · 0 = lossless · 51 = smallest
Speed presetFaster = larger file
Resize1.000 = original size
Audio bitrateAAC codec
Compression
Progress0%

TL;DR

Free browser-based video compressor using FFmpeg WebAssembly H.264 encoding. Accepts MP4, MOV, MKV, AVI, WebM, WMV, FLV. Outputs H.264 MP4. CRF range 0–51 (recommended 23–26). Typical reduction: 70–95%. Includes trim, crop, resolution scaling. Files never leave your device. No account or watermark. Works offline.

What Is Browser-Based H.264 Video Compression?

Browser-based video compression uses FFmpeg compiled to WebAssembly to re-encode video with the H.264 (AVC) codec directly in your browser — without sending a single frame to a server. H.264 is the most widely deployed video codec in the world, used by YouTube, Netflix, and over 91% of video developers according to the 2023 Bitmovin Video Developer Report. LocalSquash gives you full control: drop in an MP4, MOV, MKV, AVI, WebM, WMV, or FLV file and adjust the CRF value (0 to 51), encoder speed preset, output resolution, audio bitrate, and even trim or crop the clip before encoding. The result is an H.264 MP4 that plays on every device, downloaded directly from memory — no cloud, no queue, no size cap beyond your device's RAM.

What Do CRF, Bitrate, and Encoder Presets Mean?

CRF — Quality Target
CRF (Constant Rate Factor) sets the perceptual quality target for every frame. H.264 accepts values 0-51; lower numbers mean higher quality and larger files. CRF 18-22 is near-lossless for archival. CRF 23-26 hits the sweet spot for streaming and sharing. CRF 28-35 produces small files suitable for preview clips where extreme compression is acceptable.
Encoder Speed Preset
The speed preset (ultrafast → veryslow) trades encoding time for compression efficiency. At the same CRF, a slow or veryslow preset produces a noticeably smaller file than veryfast because the encoder spends more time analyzing motion and choosing optimal block sizes. For desktop use, “medium” or “slow” is a practical default.
Resolution & Framerate
Halving the linear resolution (e.g., 4K → 1080p) cuts the pixel count to one-quarter, which typically reduces bitrate by 60-75% at equal quality. Framerate is preserved by default; dropping from 60 fps to 30 fps saves roughly 30-40% additional data for motion-heavy content. Cropping removes unwanted edges and reduces the total pixels the encoder must process.

How to Compress a Video Online in Four Steps

1

Drop or select your file

Drag any video — MP4, MOV, MKV, AVI, WebM, WMV — onto the upload area, or click to browse. The file stays on your device; nothing is uploaded.

2

Edit the video (optional)

Use the timeline scrubber to cut unwanted seconds from either end. Use the crop overlay to remove black bars or reframe for portrait/square social media formats.

3

Dial in codec settings

Set CRF (23-26 recommended), pick an encoder speed preset, optionally scale the resolution, and adjust audio bitrate.

4

Encode and download

Click “Compress Video”. FFmpeg.wasm encodes the file locally. When the progress bar completes, the compressed MP4 downloads automatically.

Why Does LocalSquash Output H.264 MP4?

LocalSquash encodes to H.264 (libx264) inside an MP4 container because H.264 is the most universally supported video codec — it plays natively on every phone, smart TV, browser, desktop OS, game console, and streaming platform without any codec installation. At CRF 23-26 it typically produces files 50-80% smaller than the uncompressed source while keeping visual quality indistinguishable from the original in most viewing conditions.

The CRF slider covers the full H.264 range of 0-51. CRF 0 is mathematically lossless (very large files, useful for archival masters). CRF 18-22 is visually lossless for most content. CRF 23-26 is the practical sweet spot for everyday sharing. CRF 28-35 trades visible quality for aggressively small files, suitable for preview clips or platforms with strict size caps. CRF 51 is the lowest possible quality and only makes sense for testing purposes.

Video Compression FAQ — Common Questions Answered

Free HandBrake Alternative — Compress Video in Your Browser

HandBrake is the gold standard for desktop video compression, but it requires downloading and installing software. LocalSquash offers the same core FFmpeg H.264 encoding engine that powers HandBrake, running directly in your browser via WebAssembly. If you need to compress video with HandBrake-level quality but don't want to install anything, LocalSquash is the fastest way to get started. Upload your file, set CRF and speed preset just like HandBrake, and download the compressed MP4 — all without leaving your browser tab.

Unlike HandBrake, LocalSquash processes files entirely on your device with zero server involvement, making it ideal for sensitive footage. HandBrake remains the better choice for batch encoding, H.265/AV1 codecs, and advanced subtitle handling. For single-file compression where privacy and convenience matter, LocalSquash delivers HandBrake-grade H.264 output with no install, no account, and no learning curve.

Convert WebM, MKV & MOV to MP4 — FFmpeg in Your Browser

Need to convert WebM to MP4, convert MKV to MP4, or convert MOV to MP4? LocalSquash handles all three with the same FFmpeg engine used by professionals on the command line. Instead of typing ffmpeg -i input.webm output.mp4, simply drag your file onto the upload area. The conversion produces H.264 MP4 with AAC audio — the most universally compatible format across all devices and platforms.

WebM → MP4

WebM files (VP8/VP9 video) from screen recorders and browsers convert seamlessly to H.264 MP4. Ideal for sharing recordings that won't play on iOS or older devices. Equivalent to ffmpeg convert webm to mp4.

MKV → MP4

MKV (Matroska) containers are common for downloaded video but lack broad device support. Converting MKV to MP4 re-muxes or re-encodes the video into a universally playable container. Same as ffmpeg convert mkv to mp4.

MOV → MP4

Apple's QuickTime MOV files from iPhones and Final Cut Pro often use HEVC or ProRes codecs. Converting MOV to MP4 with H.264 ensures playback everywhere. Replaces ffmpeg convert mov to mp4.

How to Get the Smallest Video File Size

Two-pass thinking in a one-pass tool

True two-pass encoding (where the encoder scans the full video once before encoding) is not available in the browser, but you can approximate it: compress once at CRF 26, check the output size, then re-compress the original at CRF 24 or CRF 28 depending on whether you need a smaller or larger file.

Trim before you encode, not after

Every second of video you trim off before encoding is a second the encoder never processes. For a 10-minute clip where you only need the middle 3 minutes, trimming first reduces encoding time by ~70% and guarantees the unused footage never goes through the codec at all.

Match resolution to delivery platform

Instagram Reels caps at 1080×1920. Discord's 8 MB free-tier limit almost always requires 720p or lower at CRF 28-32. WhatsApp re-encodes anything you send anyway, so encoding at 720p CRF 28 before upload avoids double compression artefacts. YouTube accepts 4K, so there is no reason to downscale before uploading there.

Screen recordings compress far more than camera footage

Screen recordings consist of large uniform areas and predictable motion, which H.264 compresses extremely well. A 200 MB screen recording often compresses to under 20 MB at CRF 28 with no visible quality loss. Camera footage of outdoor scenes with lots of natural texture and motion is harder to compress — expect 40-60% reduction rather than 90%.