Compress a video or image to an exact file size
Wexporting compresses an image, video, or GIF to an exact size limit — under 8 MB for Discord, exactly 1 MB for an upload cap — in a few clicks. It is powered by FFmpeg but does the bitrate math and two-pass encoding for you, so there is no command line.
The hard way: raw FFmpeg
FFmpeg is the best media engine there is, but it cannot hit an exact file size on its own. To land a video at, say, 8 MB you have to compute the bitrate by hand, run a two-pass encode, and often repeat it when the result overshoots:
# 1. work out the bitrate by hand: # (target_MB * 8192) / duration_sec - audio_kbps # 2. first pass ffmpeg -y -i in.mp4 -c:v libx264 -b:v 1350k -pass 1 -an -f null /dev/null # 3. second pass ffmpeg -i in.mp4 -c:v libx264 -b:v 1350k -pass 2 -c:a aac -b:a 128k out.mp4 # 4. overshot 8 MB? recompute the bitrate and run it again.
The easy way: Wexporting
Wexporting runs those same FFmpeg encoders under the hood, but you just type the size you need. Add a file, choose Target Size Mode, enter 8 MB (or 1 MB, or whatever your limit is), and export. Wexporting handles the bitrate calculation and two-pass encoding automatically and processes everything locally on your PC, so your files never leave your device.
What people use it for
- Compress a video to under 8 MB or 10 MB for Discord.
- Shrink an attachment to fit an email or upload size cap.
- Get an image to exactly 1 MB for a form or marketplace.
- Produce web-optimized WebP, AVIF, WebM, and MP4 assets that load fast.
Several sizes in one pass
Wexporting can target multiple sizes at once — for example 1 MB, 2 MB, and 3 MB in a single pass — and combine this with batch processing to do it across many files. For the full feature breakdown, see how Target Size Mode works, and the supported formats.
Which file types support a target size?
Target sizing works across Wexporting's supported formats — images (AVIF, WebP, PNG, JPG), video (MP4), and animated loops (GIF, WebM) — all converted locally on your PC.