How to convert a screen recording to GIF on Mac
By Ziad Ziadeh, Snapline’s developer · Published 5 September 2026 · Last updated 24 September 2026
The short version
- macOS records the screen (⇧⌘5, QuickTime Player) but only ever saves a QuickTime movie. Neither recorder can save or export a GIF.
- Free route: record with ⇧⌘5, then drop the .mov on Gifski (free, open source) or run ffmpeg in Terminal. Both give you width and frame rate; the Gifski app shows an estimated size before it converts, while ffmpeg only tells you the size when it's done.
- Screenshot apps that record straight to GIF: CleanShot X (quality, frame rate and resolution settings, GIF trimming) and Capso (free, macOS 15 or later). Screen Studio exports optimized GIFs from its edited demos. Shottr doesn't record the screen.
- Snapline records and converts in one app: press ⌥⌘R, then click GIF on the finished recording. The Trim Editor opens in Convert mode with a crop, a range, Chat, Docs and Full presets or your own size, frame rate, speed, dithering and loop, and quotes the file's size before you click. A finished GIF plays in Snapline, and Adjust GIF re-cuts it from the recording in place.
What macOS gives you (and doesn't)
macOS can record your screen, but its recorder saves a movie, not a GIF. Press ⇧⌘5, choose Record Selected Portion or Record Entire Screen, and stop from the menu bar; QuickTime Player's File → New Screen Recording opens the same Screenshot toolbar. Either way the result is a QuickTime movie, a .mov. Neither app has a GIF export: QuickTime's Export As menu offers movie resolutions and Audio Only. So "screen recording to GIF" on a Mac is two steps, record and then convert, unless the recorder converts itself.
| Method | Records the screen | Converts an existing movie | Size and frame rate controls | Size known before converting | Cost model |
|---|---|---|---|---|---|
| ⇧⌘5 / QuickTime Player | Yes, to .mov | No GIF output | n/a | n/a | Free, preinstalled |
| Gifski | No | Yes: drag a video in | Width, frame rate, quality | Yes: the Mac app shows an estimated size | Free, open source |
| ffmpeg | No (it can, but not practically) | Yes, from Terminal | Anything, as filter arguments | No: each attempt is a full encode | Free, open source |
| Kap | Yes: GIF, MP4, WebM or APNG | Yes: Open Video… (MP4, MOV, M4V) | Size, frame rate | No | Free, open source; last release October 2022 |
| CleanShot X | Yes, straight to GIF or MP4 | Not stated on its site | Quality, frame rate, resolution; GIF trimming | Not stated on its site | Paid: one-time license for the core app |
| Capso | Yes, MP4 or GIF | Not stated on its site | Quality presets (Maximum, Social, Web); trim in its editor | Not stated on its site | Free; macOS 15 or later |
| Screen Studio | Yes, then edit before export | Not stated on its site | Export presets; optimized GIF export | Not stated on its site | Subscription |
| Snapline (⌥⌘R, then GIF) | Yes, to MP4 with pause and trim | Its own recordings | Presets or size, 10 to 30 fps, speed, dither, loop | Yes: estimated size, range and time, live | One-time license; free to try |
Free route 1: Gifski
Gifski is a free, open-source GIF encoder with a Mac app on the App Store and a command-line version. It doesn't record anything; it takes a video you already have and encodes it with a palette built from the video itself, which is why its output looks better than most converters.
- Record with ⇧⌘5 and stop from the menu bar. The .mov lands on the Desktop by default.
- Open Gifski and drag the movie onto its window.
- Choose a width (the height follows), a frame rate and a quality level, then click Convert.
- Read the estimated size the app shows before you click Convert, then check the finished file in Finder. If it's too big for where it's going, convert again narrower or at a lower rate.
The command-line version needs ffmpeg to feed it a video (piped in, or split into PNG frames first) unless it was built with video support, so for a one-off the app is the easier route.
Free route 2: ffmpeg in Terminal
If you already use Homebrew, ffmpeg does the whole job from Terminal and gives you every knob. Install it with brew install ffmpeg, then:
ffmpeg -i recording.mov \
-vf "fps=15,scale=800:-1:flags=lanczos,split[a][b];[a]palettegen[p];[b][p]paletteuse" \
recording.gif
The two filters that matter are palettegen and paletteuse: without them ffmpeg quantizes every frame to a generic 256-colour palette and the result bands and speckles. fps=15 and scale=800:-1 are the size levers; change them and run again until the file fits. Adding -ss and -t before -i trims to a start time and a length. It works, and it's scriptable, but every attempt is a full encode with no preview, and a 30-second Retina clip at full size can take a while to find out it came out at 40 MB.
Kap and GIPHY Capture, the recorders from old threads
Two names come up in every old thread about GIF recording on a Mac. Kap is a free, open-source recorder that exports GIF, MP4, WebM or APNG and can also open an existing video; it's a nice tool, but its last release, 3.6.0, dates from October 2022, and users have reported Screen Recording permission trouble on recent macOS versions. GIPHY Capture is the other: a free GIF-first recorder whose App Store listing shows an update in July 2026, captures of up to 30 seconds, and a file-size preview before saving. If Kap already works on your Mac, fine; if not, pick from the routes above and below.
Where the free routes stop
They all share the same shape: record in one place, convert in another. That's fine for a clip a month. It wears when GIFs are part of how you work: Gifski quotes an estimate first, but with ffmpeg the interesting question ("will this fit under the issue's upload limit, or does it need to be 20 percent smaller?") is only answered after the encode, and the answer is usually "convert again." The recording and the GIF also end up as two unrelated files, so the trim you made in one doesn't apply to the other, and a keystroke overlay you recorded is something you have to remember to carry across.
Apps that record straight to GIF: CleanShot X, Capso, Screen Studio
Some recorders skip the convert step by writing the GIF themselves. Not every screenshot app does: Shottr doesn't record the screen at all, and video and GIF recording sit on its own feature-request poll. Three that do, each described from its maker's own site:
CleanShot X
CleanShot X records a window, an area, or the full screen as either an MP4 or a GIF, with quality, frame rate and resolution under your control, GIF trimming, and GIF optimization you can switch off. It is the most direct answer on a Mac to "record my screen as a GIF." Its site doesn't mention a size estimate before the file is written, so check the finished file's size before you share it. It is paid: a one-time license for the core app, with cloud plans by subscription.
Capso
Capso, free with its source on GitHub, records MP4 or GIF, with a recording editor for trimming, zoom suggestions and cursor smoothing, export quality presets (Maximum, Social, Web), and an option to copy the finished file to the clipboard ready to paste. It needs macOS 15 or later.
Screen Studio
Screen Studio, a subscription recorder for polished demos, exports its edited recordings as video up to 4K at 60 fps or as optimized GIFs, with export presets that choose the settings for where the clip is going. It's the right tool when the GIF is a product demo with automatic zooms, and more than a quick bug-report clip needs.
Which one to use
- Free, from a recording you already have: Gifski.
- Record straight to GIF: CleanShot X if you'll pay, Capso if you're on macOS 15 or later and want free.
- A polished demo GIF with zooms: Screen Studio.
- Keep the MP4 and make the GIF from it, with the size quoted before you convert: Snapline, below.
Record and convert in one app: Snapline
Snapline records the screen to MP4 and converts the finished recording to a GIF from the same card, with the size quoted before the conversion runs:
- Press ⌥⌘R (rebindable) to record a region, a window or a whole display. Pause and resume from the menu bar; paused time is simply absent from the file. Trim the finished take in place if it needs a tighter start and end; the GIF is made from the trimmed length.
- Click GIF on the recording's card, or choose Convert to GIF… on the recording in History or the Shelf. The Trim Editor opens in Convert mode: a crop layer over the player, the range on the scrubber, and the GIF options in a panel under it. Drag the crop to keep only the part of the screen that matters, and set In and Out for the seconds you want; both narrow the GIF without touching the recording.
- Pick a preset or set the options yourself. Chat is 800 px wide at 10 fps, small enough to paste anywhere; Docs is half the recording's width at 15 fps, the size it occupied on screen on a Retina display, smooth enough to follow a cursor; Full is every pixel at 20 fps. Anything else reads as Custom. Nothing is ever upscaled past the recording.
- Read the estimate. The window reads the recording once, runs ten short stretches of it through the real encoder, and quotes the file's size (with a range when the range is wide enough to matter) and how long the conversion will take. It updates as you change any option. Past 10 MB a warning appears under the estimate (GitHub, for one, caps GIF attachments at 10 MB); Convert stays enabled. Other destinations have different limits.
- Press Return. Convert is the default button, so the remembered options cost one keypress. If you'd rather skip the editor, untick Show these options each time and the GIF button converts straight away with the options you last used; Settings → Recording holds the same controls and brings the editor back.
- Play it, and re-cut it if you like. The finished GIF opens in Snapline's own player, with a frame scrubber and a counter that reads position over total in frames and seconds. A GIF made in Snapline 2.36 or later remembers the recording it came from: while that recording is still in History, Adjust GIF… on the GIF's card, tile or player reopens the editor on that recording with the GIF's crop and range already set, and Replace GIF writes the new one in place, same entry, same file name. The export runs beside the original and is swapped in only when it succeeds, so a cancel or a failure leaves the GIF you had untouched.
Because Snapline made the recording, everything in it carries into the GIF: the trim, the optional click rings and keystroke capsule, and any zoom you pressed during the take with ⌥⌘Z; the overlays and the zoom are drawn into the frames themselves. Recordings up to three minutes convert; the default GIF (800 px, 10 fps, looping, no dither) uses the same settings earlier versions used, so nothing you relied on changed. Snapline is free to try in full for 14 days, requires macOS 14 or later, and after the trial capture unlocks with a one-time license: no subscription, no account.
Every GIF option, and what it does to the file
GIF size depends on dimensions, frame count, colors, and motion. GIF uses LZW compression for indexed pixels; encoders can also avoid repeating unchanged regions. There is no exact width-times-frames formula for file size. The options below control the trade between detail and bytes.
| Option | Choices | What it does | Effect on size |
|---|---|---|---|
| Size | Full, Half, 800 px, or a custom width | Full keeps every pixel of the recording (2× on Retina). Half is the size the content occupied on a Retina screen. A custom width sets the pixels directly; never upscaled past the source. | Half the width means one quarter of the pixels per frame; encoded size depends on the content. |
| Frame rate | 10, 15, 20, 25 or 30 fps | How many frames per second the GIF holds. 10 suits a UI walkthrough; 15 reads a moving cursor; 20 to 30 is for fluid motion. | Higher rates add frames; the byte increase depends on how much changes. |
| Speed | 1×, 1.5×, 2× | Plays the recording faster by sampling it further per frame. Frame delays are unchanged, so a 2× GIF of a 20 s take lasts 10 s. | Fewer frames (1/speed as many); the byte savings depend on how much changes. |
| Dither gradients | Off or on | An ordered pattern that smooths banding in shading and photos. Keyed to pixel position, so still regions stay skipped between frames. | Can increase size. Compare the estimate with it on and off. |
| Loop forever | On or off | Off plays once and stops on the last frame. | None. |
GIF stores frame delays in hundredths of a second. At 15 fps, a fixed 7-centisecond delay makes 150 frames last 10.5 seconds; a fixed 6-centisecond delay makes them last 9 seconds. Snapline uses a repeating 7, 6, 7-centisecond schedule, totaling 20 centiseconds per three frames and 10 seconds for 150 frames. Its other offered rates use the same cumulative-timing calculation.
Getting a GIF under 10 MB
GitHub’s GIF attachment limit is 10 MB. Limits differ by file type and destination. To reduce a GIF’s size:
- Narrow it. 800 px wide is legible for UI text and reduces the pixel count compared with a full-width Retina recording. In Snapline that's the Chat preset; in ffmpeg it's scale=800:-1.
- Drop the frame rate. 10 fps for a walkthrough, 15 if the cursor matters. Going from 30 to 10 reduces the frame count by two thirds; the byte savings depend on the content.
- Trim. Remove pauses and unnecessary sections; cut the pause at the start and the fumbling at the end. Snapline's trim editor does this in place and the GIF follows.
- Speed it up. A 1.5× or 2× GIF of a slow demo is often easier to watch and uses fewer frames.
- Leave dithering off unless the recording has gradients or photos in it.
Snapline estimates size by encoding samples of the recording. The final file may differ from the estimate, so check its size before uploading. If the GIF is still too large, share the MP4 instead.
Questions
How do I convert a screen recording to a GIF on a Mac?
Record with ⇧⌘5 or QuickTime Player, which gives you a .mov, then convert it with a free tool: drop it on Gifski, or run ffmpeg with the palettegen and paletteuse filters. Or record in Snapline and click the GIF button on the finished recording, which opens the Trim Editor in Convert mode and quotes the file's size before it converts.
Can the built-in Mac screen recorder save a GIF?
No. ⇧⌘5 and QuickTime Player record to a QuickTime movie (.mov) only. Turning that movie into a GIF takes a second tool, or a recorder that converts itself.
Which Mac screen recorders save straight to GIF?
CleanShot X records straight to GIF, with quality, frame rate and resolution settings. Capso, which is free, records MP4 or GIF. Kap does too, but its last release was in October 2022. Screen Studio exports GIFs from its edited recordings. Snapline records an MP4 and converts it to a GIF with the size estimated first. Shottr doesn't record the screen at all.
Why is my screen recording GIF so large, and how do I make it smaller?
GIF uses LZW compression, but detailed, changing frames can still produce large files. Dimensions, frame count, palette, dithering, and motion all affect the result. Shrink the width first (800 px is plenty for a chat or an issue), then drop the frame rate to 10 or 15 fps, then trim the clip. Snapline's Convert to GIF editor shows the estimated size as you change each of these, so you can stop when it fits.
What size GIF will GitHub, Slack and chat apps play inline?
GitHub limits GIF attachments to 10 MB. Other file types and chat apps have different limits; check the destination’s requirements. Snapline warns in the Convert to GIF editor when the estimate passes 10 MB; the conversion still runs if you want it.
What frame rate should a screen recording GIF use?
10 fps is enough for a UI walkthrough and keeps the file small; 15 fps reads a moving cursor smoothly; 20 to 30 fps is for motion that has to look fluid, with two to three times the frames of 10 fps. Players may clamp very short delays, so playback timing can vary between apps.
Why does a 15 fps GIF drift out of time?
GIF stores frame delays in hundredths of a second. At 15 fps, a fixed 7-centisecond delay makes 150 frames last 10.5 seconds; a fixed 6-centisecond delay makes them last 9 seconds. Snapline uses a repeating 7, 6, 7-centisecond schedule, totaling 20 centiseconds per three frames and 10 seconds for 150 frames. Its other offered rates use the same cumulative-timing calculation.
Should I turn on dithering for a screen recording GIF?
Only if the recording has gradients, photos or video in it. Dithering smooths banding in shaded areas at the cost of a larger file; the increase depends on the content. Flat UI with text usually looks cleaner without it.
How long can a screen recording GIF be?
There is no format limit, but size and encode time grow with every second. Snapline converts recordings up to three minutes long; past that, share the MP4 instead.
Can I convert a MOV to GIF on a Mac for free?
Yes. Gifski is free and open source and takes a .mov directly; ffmpeg is free and does the same from Terminal. Both are covered step by step above.