Send a video on WeChat without a second round of compression
WeChat transcodes large videos by itself; compress to 720p with Balanced first and you keep control of the quality.
Guide
Video Compression takes large files from a phone, a camera or a screen recording down to a size that can be sent in WeChat, uploaded to cloud storage or attached to an email. It is the “Video compression” tab of the audio/video workbench and re-encodes with H.264 through ffmpeg in the browser; whatever the source container is (MOV, MKV or AVI), the output is always MP4 (H.264 + AAC), named _compressed.mp4.
Updated 2026-09-094 min read
Video Compression takes large files from a phone, a camera or a screen recording down to a size that can be sent in WeChat, uploaded to cloud storage or attached to an email. It is the “Video compression” tab of the audio/video workbench and re-encodes with H.264 through ffmpeg in the browser; whatever the source container is (MOV, MKV or AVI), the output is always MP4 (H.264 + AAC), named <original-name>_compressed.mp4.
It shares the same encoder as Video Format Converter. The difference is that the three presets here bundle CRF (constant rate factor — the higher the number, the harder the compression and the worse the picture), a resolution cap and an audio bitrate: HD priority is CRF 21 at the original resolution with 128 kbps audio; Balanced is CRF 26 capped at 720p with 128 kbps audio; Extreme compression is CRF 31 capped at 480p with 96 kbps audio. Resolution is only ever reduced, never enlarged, so a 720p source under Balanced will not be stretched.
<original-name>_compressed.mp4. Several videos can be submitted one after another and the queue processes them serially.| Input | Output | Notes |
|---|---|---|
1080p MOV from a phone, 3 minutes, about 480 MB |
Balanced → 720p MP4, usually down to a few tens of MB |
The actual ratio depends on how complex the picture is |
An MP4 that is already 720p, with Balanced selected |
Resolution unchanged, re-encoded at CRF 26 only |
scale only takes effect when the source height is above the cap |
Custom CRF 34 + 480p |
Smallest file, but text edges look visibly mushy |
Picture quality falls off quickly above CRF 30 |
WeChat transcodes large videos by itself; compress to 720p with Balanced first and you keep control of the quality.
A screen capture comes out as a few hundred megabytes of WebM; HD priority keeps text sharp while the size still drops noticeably.
Extreme compression at 480p squeezes a few minutes of demo video under 25 MB.
For H.264, CRF 18 is close to visually lossless, 23 is the usual default and 26 shows no obvious difference on a phone; above 30, text and fine texture turn mushy. Every 6 points roughly halves the size.
When the source bitrate was already very low (a video forwarded through WeChat, for instance), the target quality of CRF 21 sits above the source and re-encoding adds size. Switch to Balanced or raise the CRF.
Yes. The command maps only the default video stream and audio stream, so subtitle tracks and a second audio track inside an MKV never reach the output.
The video is processed locally in the browser by ffmpeg.wasm and its contents are never uploaded to any server; the first use downloads about 31 MB of ffmpeg engine files from a CDN (the site's asset domain or jsDelivr), and that request does not include your file.
Updated 2026-09-09
HD, balanced and extreme presets, or set your own CRF and resolution
Everything runs locally in your browser; files are never uploaded to a server