How to turn a screen recording into a GIF on a Mac
Four steps from a screen recording to a GIF that fits in a pull request.
A GIF is still the easiest way to show a UI change where video players do not reach: a README, a pull request, a changelog entry, a support reply. The catch is that GIFs get heavy fast, so the recording has to be short and the edit tight. This guide does it with Capta, a free macOS screen recorder that trims pauses and adds zooms automatically, then exports GIF directly.
Record just the moment
Press ⌥⌘R to open the capture panel and record a window or an area so the GIF only contains the part that matters. Perform the one action the GIF is about: the click, the drag, the result. Five to fifteen seconds is plenty. Stop with ⌥⌘R.
Trim on the filmstrip
In the editor, drag the trim handles on the filmstrip so the clip starts a beat before the action and ends right after the result. Pauses are already cut and typing is already sped up, so the trim is usually two drags. Shorter GIFs are smaller files and loop better.
Pick a size and a background
In Style, pick a solid or a simple gradient. Mesh and photo backgrounds look great in MP4 but a GIF has 256 colours per frame, so busy backgrounds dither and bloat the file. Keep padding small. The automatic zooms help here too: a zoomed-in GIF at a small size stays legible.
Export as GIF, or copy to the clipboard
Press Export and choose GIF. Square or 16:9, and pick the smallest size that still reads. For Slack, an issue tracker or a support reply, choose the clipboard as the destination and paste. For a README or a GitHub release, save the file and drag it into GitHub's editor, which uploads it and writes the image tag for you.
GIFs have no sound. If the clip needs narration or the app's audio, export MP4 instead; GitHub, Slack and most trackers play MP4 inline now.
Keeping the file small
- Under ten seconds. Loops feel snappier and the file stays a few megabytes.
- Record an area, not the whole screen. Fewer pixels per frame is the biggest lever.
- Plain background, small padding. Gradients and shadows dither in 256 colours.
- Let the zoom do the work. A 1.6× zoom on the button means a smaller export still shows the click.
The settings that decide the size
Three numbers set the size of a GIF, and the Export sheet exposes each one. Frames per second: 12 is the sweet spot for UI, 8 still reads for a slow screen, 20 only for fast animation. Width: 640 px fits a README column and Slack; 800 px if the text is small; anything wider is usually an MP4 job. Length: under ten seconds keeps most GIFs under 3 MB at 640 px. Capta also lets you choose whether the GIF loops; a demo of a single action reads better looping, a step-by-step reads better once.
Two things Capta does on its own help more than any slider: the automatic zoom makes the part that matters large in a small frame, and the dead-air cut removes the seconds where nothing happened, which are the most expensive seconds in a GIF.
Common questions
Why does my GIF look grainy? A GIF holds 256 colours per frame. Gradients, photos and mesh backgrounds dither. Pick a solid or a two-colour gradient background in Style and the dithering disappears.
Can I include the pointer and clicks? Yes. The cursor is drawn by Capta, so it stays sharp at any size, and click ripples show where you pressed. Switch the pointer style in the Pointer tab; the spotlight style works well in a small GIF.
Does GitHub play MP4 too? Yes, in issues, pull requests and releases, and the file is a tenth of the size. A README on the repository front page is the one place where a GIF still wins, because it needs no player.
When to use MP4 instead
Anything longer than about fifteen seconds, anything with narration or app audio, and anything that will be watched on a phone. Capta exports MP4 from the same recording in one click, up to 4K at 60 fps, and Share gives you a view-only iCloud link if the file is too big to attach.
One shortcut to record, one click to export.