Skip to content

Compress GIF for Discord on Mac

Compress GIF for Discord on Mac by trimming, cropping, reducing frame rate and width, rebuilding the palette, and checking current upload limits.

You exported a UI demo GIF for the team Discord. Upload fails at 12 MB. Discord caps attachment size per message, and animated GIF blows through that cap fast on full-screen captures. The fix is not a random online compressor that keeps your staging UI on someone else’s server. Trim the loop, crop to the panel, lower fps and width, then re-palette locally. Community managers and dev teams that post motion previews weekly benefit from one saved preset instead of guessing settings per channel.

Discord attachment limits for GIFs

Discord currently documents a 10 MB maximum for non-Nitro file uploads and says it is experimenting with different limits for some users. Nitro and experiments can change what your account accepts, so check the uploader before building a permanent preset.

Account or rollout stateWhat to do
Non-NitroUse the currently documented 10 MB maximum
Nitro or experimental limitRead the value shown by your uploader before export

Target slightly below the limit shown in your account. A 15-second full-width GIF can exceed even a larger cap without trimming.

Clip habitWhy upload fails
Full 1920 px screenToo many pixels per frame
15+ second loopLinear size growth
15 fps screen capMore frames than needed

Ask in the channel whether MP4 works for your use case. Modern video compression is usually much more efficient than GIF and preserves full color plus optional audio. See convert GIF to MP4 on Mac when video is acceptable. See lossy vs lossless compression to understand why GIF palette limits look muddy on gradients.

For creating GIF from screen recording, see video to GIF on Mac . For general GIF shrinking, see compress GIFs on Mac .

Settings that fit Discord caps

Hit Discord caps with a fixed order: trim duration, crop dead space, reduce width, lower fps, then palette encode.

Starting point for a 10 MB baselineSuggested settings
UI bug repro4 s, 640 px wide, 8 fps
Feature teaser6 s, 800 px wide, 10 fps
Emoji-style reaction2 s, 480 px wide, 8 fps
ParameterSmaller fileBetter readability
Duration3 to 5 s6 to 8 s max
Width480 to 640 px800 px
fps810 to 12
SourceCropped panelFull screen

Remove duplicate loops. Discord autoplays GIF; one clean cycle is enough for a repro or reaction.

Crop before scale when the action lives in one corner of the screen. See crop GIF on Mac for coordinate workflow.

Check file size in Finder before you post. If still over cap, drop fps to 8 or width to 480 px before you sacrifice more duration.

Compress for Discord with FFmpeg

Open Terminal (Applications → Utilities → Terminal). Install FFmpeg through Homebrew (install Homebrew first if brew is not found):

brew install ffmpeg

Discord-ready palette pipeline from MP4 source:

ffmpeg -i clip.mp4 -vf "fps=8,scale=640:-1:flags=lanczos,split[s0][s1];[s0]palettegen[p];[s1][p]paletteuse" -loop 0 discord.gif

Re-compress an existing oversized GIF:

ffmpeg -i big.gif -vf "fps=8,scale=640:-1:flags=lanczos,split[s0][s1];[s0]palettegen[p];[s1][p]paletteuse" -loop 0 discord-small.gif

With crop for panel-only repro:

ffmpeg -i big.gif -vf "crop=700:500:80:120,fps=8,scale=640:-1:flags=lanczos,split[s0][s1];[s0]palettegen[p];[s1][p]paletteuse" -loop 0 discord-cropped.gif
Still over the displayed limitNext lever
After 640 px 8 fpsTrim to 3 s
After trimWidth 480 px
After 480 pxExport MP4 instead

Trim in QuickTime before FFmpeg so you are not encoding idle frames at the start of the loop.

Batch compress a folder of meme or repro GIF files before a launch announcement:

mkdir discord-out
for f in *.gif; do
  ffmpeg -i "$f" -vf "fps=8,scale=640:-1:flags=lanczos,split[s0][s1];[s0]palettegen[p];[s1][p]paletteuse" -loop 0 "discord-out/${f}"
done

Verify text readability in the output on a Retina display before you post to a public channel.

When GetCompress fits recurring Discord GIF work

An FFmpeg palette recipe is enough for an occasional GIF, and MP4 is usually the better format when the channel accepts video. GetCompress is the better fit when teams repeatedly turn MOV, MP4, or oversized GIF sources into Discord-ready loops. Frame preview, trimming, width presets, and batch queues make the result easier to check without maintaining commands for every post.

It does not replace the source master or Discord’s current uploader rules. Verify the displayed limit and the final text readability before posting.

Buy GetCompress now for local media compression with reusable presets and no media upload.