Discord Video Compressor
Calculate compression settings from duration and a custom MB target, then inspect the actual size, playback and conversion report.
1 MB = 1,000,000 bytes. Presets are not service or plan limits. Check your upload screen. Entering a shorter duration does not trim the video.
Equivalent FFmpeg command
CLI command for your current settings. Updates live as you change controls.
Pick a file and adjust settings — the command appears here. What changes when you compress a video?
One 10-second clip, encoded with three settings. Compare file sizes and a frame at three seconds.
Original Compressed Method and raw data
Measured 2026-09-10. 1080p, 30 fps, 10 seconds; source has no audio. Windows / FFmpeg 8.1 / H.264 / fast preset. One run per setting; no phone or browser speed measurements. Frames are resized to 960px and cannot show full-resolution detail or motion. This is lossy compression.
Big Buck Bunny © Blender Foundation · CC BY 3.0 · Encoded and resized frames
What this tool does
- Custom targets from 0.1 to 500 MB
- Choose a resolution limit and keep or remove audio
- One oversize retry with an explicit final size result
- Selected media and conversion reports are not uploaded
How to use
- 1
Check the limit
Check the actual limit in Discord. Presets are not a current pricing-plan table.
- 2
Choose the file and settings
Confirm the detected duration, target, resolution and audio setting.
- 3
Inspect the result
Check size, small text, motion and audio before downloading and sharing.
What each setting means
Recommended settings
Common pitfalls
Symptom: Output exceeds target
Cause: Rate-control variation, overhead, or an incorrect duration.
Fix: Check duration. After the single retry, trim or adjust the target if still over.
Symptom: Within target but cannot send
Cause: Possible destination limits, permissions, network or service issues.
Fix: Read the Discord error and test whether another small file has the same problem.
Equivalent FFmpeg commands
Reference commands you can run on the desktop FFmpeg CLI.
Historical log: 2026-09-11, 1 successful example executions and 0 excluded (desktop FFmpeg 8.1, fixtures). This log does not verify later edits, browser controls or visual quality.
ffmpeg -i input.mp4 -map 0:v:0 -map 0:a:0? -c:v libx264 -b:v 1138k -maxrate 1252k -bufsize 2276k -preset fast -pix_fmt yuv420p -c:a aac -b:a 128k -movflags +faststart output.mp4 Browser support & limits
- Inputs up to 500 MB and 7200 seconds; some devices fail on smaller files.
- MP4 / H.264 / AAC output. Proper HDR tone mapping, alpha and retaining every audio track are out of scope.
- Program downloads, ads and analytics may use the network separately from selected media.
Privacy
This tool runs ffmpeg.wasm directly in your browser. Files never leave your device — everything runs locally. Read the privacy policy →
Frequently asked questions
Is the selected size guaranteed?
No. Output can still exceed the target after one retry. The final size badge uses actual output bytes.
Will it finish on a phone?
That depends on memory, the source and browser. The 500 MB input limit is not a completion guarantee. Try a short source first.
What is in the report?
Input/output bytes, entered duration, target size, commands, exit codes and elapsed time. It does not verify quality or Discord upload acceptance.
Does this also fix variable frame rate?
This tool does not explicitly request CFR. Investigate VFR or sync issues separately with the dedicated tools.
Related tools
Related FFmpeg recipes
In depth: context unique to this tool
A budget is not a measurement
The tool checks actual output bytes after budgeting. If it retries, that command and result are also recorded. You can download the local report and compare settings on your own source.
Size is not a quality metric. Check readable subtitles and UI text, fast motion and speech. A file that fits but loses important information has not met the sharing goal.