Back to Blog
·8 min read·quickvid-compress

How to compress video for Discord, iMessage, and email on Mac

Every chat app has a different upload limit, and every codec choice has a different trade-off. A practical guide to shrinking videos on macOS for the platforms you actually share to.

Discord caps free uploads at 25 MB. Nitro Basic gets you 50 MB. Nitro proper gets you 500 MB. iMessage soft-limits at around 100 MB but the recipient's email-gateway fallback often chokes around 25. Slack's free tier caps file uploads at 1 GB but most workspaces have admin-set lower limits. Email survives roughly 25 MB at Gmail and 35 MB at Outlook for the message, less if there's a corporate filter in the way.

Your 247 MB screen recording isn't shipping anywhere until you compress it. Here's how to do that on a Mac, properly, without compromising the bits you care about.

What "compress" actually means

When you "compress" a video, you're doing one (or more) of three things:

1. Re-encoding with a more efficient codec. Switching from older H.264 to newer HEVC (H.265) or AV1 typically shrinks file size 30–50% at the same visual quality. Modern Macs and iPhones decode HEVC in hardware; most current browsers do too. 2. Lowering the bitrate. Reducing how many bits per second the codec uses. Goes too far and you get artifacts (blocky, smeared video). Done right, the difference is invisible. 3. Reducing resolution or framerate. 4K screen recording? Most viewing platforms downscale it anyway. 60fps screen recording of mostly-static content? 30fps is fine.

Knowing which lever to pull saves you a lot of frustration. A 247 MB 4K@60fps screen recording will typically shrink to ~80 MB at 1080p@30fps with HEVC — looking identical on Discord — and might even shrink further when re-encoded H.264 if your audience is on older devices.

Three real options for Mac

1. QuickVid Compress (the one-click answer)

Full disclosure: QuickVid Compress is one of the apps I make. The reason it exists: I got tired of opening HandBrake for the third time that week just to ship a Loom recording into Discord.

The workflow: 1. Drop video file into QuickVid 2. Pick a mode (Recommended is fine for 90% of cases) 3. Save the compressed output to the same folder

Default behavior: H.264 at a Discord-friendly bitrate. The Pro tier unlocks HEVC, custom output directory, batch processing, and a "Tiny" mode for when you really need to fit under 25 MB.

Free tier is enough for occasional compression. Pro is a one-time purchase, no subscription.

Best for: occasional sharing, no patience for codec choices.

Honest QuickVid vs HandBrake comparison →

2. HandBrake (the open-source standard)

HandBrake has been the answer to "how do I compress a video" on Mac for over a decade. Free, open source, scriptable, with truly granular control.

Worth using if:

  • You need fine control over codec (AV1, VP9, specific HEVC profiles)
  • You're managing chapter markers, subtitle tracks, audio passes
  • You're scripting workflows from a shell (HandBrake ships a CLI)
  • You value zero-cost over zero-configuration

The learning curve is real. The first time you open HandBrake there are ~40 settings on screen and choosing wrong makes your video look bad or be huge or both. The second time you open it you've forgotten which preset worked last time. By the tenth time you have a saved preset and HandBrake is fast and great.

Best for: regular video work, scripted pipelines, codec specialists.

3. ffmpeg (the power user's CLI)

```bash

Brew install if you don't have it

brew install ffmpeg

Re-encode to H.264 at a sensible Discord size

ffmpeg -i input.mov -c:v libx264 -crf 23 -preset medium -c:a aac -b:a 128k output.mp4

Try HEVC for ~30% smaller files (modern Macs / iPhones can play this)

ffmpeg -i input.mov -c:v hevc_videotoolbox -q:v 50 -tag:v hvc1 -c:a aac -b:a 128k output.mp4

Target a specific file size (e.g., 24 MB for Discord free tier)

bitrate ≈ (target_size * 8000) / duration_seconds

ffmpeg -i input.mov -c:v libx264 -b:v 1500k -c:a aac -b:a 96k -movflags +faststart output.mp4 ```

ffmpeg has every codec, every option, every workflow. If you live in the terminal, this is your tool.

Best for: command-line workflows, scripts, automation, GitHub Actions.

What I'd skip

The Mac App Store has many video-compression apps that are essentially thin wrappers around ffmpeg with subscription pricing. Two warnings:

  • Apps that ask for a subscription to compress a video. Compression is a finite, batch-able task. There's nothing recurring to pay for. (One-time Pro purchases for advanced features are fine; recurring subscriptions for basic compression are not.)
  • Apps that upload your video to compress it in the cloud. Some "free" tools achieve their "fast" compression by uploading to a server. Your raw screen recording — possibly containing sensitive UI, customer data, internal Slack — just went to someone else's machine. Run macOS's Privacy Report during compression to detect this.

Platform-specific tips

Discord (free tier — 25 MB limit)

  • Target: 24 MB output to leave headroom
  • Resolution: 1080p (or 720p if your source is mostly static text/UI)
  • Codec: H.264 — broadest device compatibility on Discord's clients
  • Audio: 96–128 kbps stereo AAC
  • In QuickVid: use "Recommended" or "Tiny" mode

Discord Nitro Basic / Nitro (50 / 500 MB)

  • Target: well under the cap; receivers' phones still chug on huge videos
  • Resolution: native or 1440p
  • Codec: H.264 still safest; HEVC if you know your audience is current

iMessage

  • Target: under 100 MB to avoid iMessage's silent fallback to email or "Mail Drop"
  • Codec: HEVC works perfectly across the Apple ecosystem (lighter files at the same quality)
  • Apple Photos will auto-compress further if it converts to iCloud Photos sharing — don't double-compress

Email (Gmail / Outlook ~25 MB)

  • Target: 20 MB output
  • Resolution: 720p or 1080p
  • Codec: H.264 for maximum compatibility (some corporate email gateways still fail on HEVC)

Slack (varies by workspace — assume 50 MB unless you've checked)

  • Generally treat like Discord Nitro Basic
  • Slack's preview player handles H.264 and HEVC; either works

How to verify the result before sharing

After compression:

1. Quick visual check: play it back. If your eyes don't catch artifacts in 10 seconds, your audience won't either. 2. File size: ls -lh output.mp4 (or right-click → Get Info on Mac) 3. Codec verification: mediainfo output.mp4 (after brew install mediainfo), or open the video in QuickTime → Window → Show Movie Inspector 4. Compatibility check: if you're sending to someone on an older device, send a sample to your own backup device first

The 80/20 rule for compression

For 95% of "I just need this video smaller" cases:

  • H.264 at CRF 23–25 — visually transparent for most content
  • 1080p resolution (downsample from 4K if your screen recording is that)
  • 30 fps if your content is mostly static; 60 fps if there's motion-critical action
  • AAC audio at 128 kbps for stereo

These four numbers handle nearly every Discord / iMessage / email / Slack situation. The remaining 5% of cases are when you need to hit an exact file-size target — that's the math at the top of the ffmpeg section, or use QuickVid's "Tiny" mode.

Closing

The reason QuickVid exists is that I was tired of looking up these defaults every time I needed to ship a 30-second screen recording. If you also resent the lookup tax, give it a try — free tier handles most use cases, no subscription.

If you want the full power and are willing to invest the learning, HandBrake is excellent. Either way, you can stop uploading to web-based "free" compressors that pay themselves in your data.

Get QuickVid Compress on the Mac App Store →

Questions or workflow gaps? Email me at obeliskclubclub@gmail.com. I read every message and the QuickVid roadmap follows directly from these conversations.

Frequently asked questions

How big can a Discord video be without Nitro?

Discord's free tier caps uploads at 25 MB per file. With Nitro Basic you get 50 MB, and with full Nitro you get 500 MB. For a typical 1-minute screen recording, H.264 at CRF 23 and 1080p downscaled to 720p reliably fits under the 25 MB free cap.

Should I use H.264 or HEVC for shared videos?

For maximum compatibility (Discord, email, Slack, older devices) stay with H.264 — it plays everywhere. For Apple-ecosystem audiences (iMessage, AirDrop, modern Mac users) HEVC is ~30% smaller at the same visual quality and decodes natively. For corporate email gateways and some Windows clients, H.264 is still the safer bet.

What's the simplest way to compress a video for email on Mac?

Drop the file into QuickVid Compress, pick Recommended mode, save. Done in 30 seconds with no codec menus. If you don't want to install an app, the command line is ffmpeg -i input.mov -c:v libx264 -crf 23 -preset medium -c:a aac -b:a 128k output.mp4 — produces a Gmail-friendly file from most sources.

Is there a free Mac video compressor that doesn't upload my videos?

Yes. QuickVid Compress has a free tier with unlimited Recommended-mode compression. HandBrake is free and open source. Both run entirely on your Mac. Avoid web-based "free" compressors that upload your video to their servers — your raw screen recordings may contain sensitive content.

How do I compress a video without losing quality?

Use H.264 at CRF 18-23 (lower = higher quality, larger files; 18 is visually lossless, 23 is web-grade). Keep the original resolution and framerate if possible. For HEVC, use a CRF of 23-28 for equivalent quality. Anything below CRF 18 produces files that are huge with no visible quality gain.

#mac#video-compression#discord#imessage#file-sharing

Written by

Peter Zhang

Building local-first Mac & iOS productivity apps at Obelisk Club.