explaingit

sindresorhus/gifski

8,382SwiftAudience · generalComplexity · 1/5LicenseSetup · easy

TLDR

A macOS app that converts video files into high-quality animated GIFs with per-frame color palettes, supporting MP4 and MOV files, available on the Mac App Store.

Mindmap

mindmap
  root((gifski))
    What it does
      Video to GIF
      High-quality output
      Per-frame palettes
    Settings
      Frame rate
      Resolution
      Quality slider
      Bounce loop
    macOS Integration
      Share extension
      Finder Quick Action
      Services menu
    Formats Supported
      MP4
      MOV
    Audience
      Mac users
      Content creators
      Developers
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Drag a video clip into Gifski on your Mac and export it as a high-quality GIF to share in Slack, Twitter, or a README.

USE CASE 2

Use the Finder Quick Action to convert a video to GIF without opening the Gifski app at all.

USE CASE 3

Create a bouncing GIF by enabling the reverse-loop option that plays frames forward then backward.

USE CASE 4

Set a specific output resolution and frame rate to produce a GIF that meets size limits for a particular platform.

Tech stack

SwiftRustXcode

Getting it running

Difficulty · easy Time to first run · 5min

Building from source requires both Xcode and the Rust toolchain, the Mac App Store version needs neither.

Free to use, modify, and distribute for any purpose including commercial use, as long as you keep the MIT license notice.

In plain English

Gifski is a macOS app that converts video files into animated GIFs. You drag in a video, adjust settings, and the app produces a GIF file you can share or embed anywhere. It is available on the Mac App Store and requires a recent version of macOS. The app produces high-quality GIFs by using a technique that creates a custom color palette for each frame rather than sharing one palette across the whole animation. This allows GIFs with thousands of colors per frame, which is far more than the 256-color limitation people typically associate with the format. Frame rates up to 50 FPS are supported, though the app caps at 50 because browsers automatically slow down anything higher. A quality slider lets you trade file size for visual fidelity when you need a smaller file. Gifski supports the video formats that macOS itself understands, including MP4 and MOV files using common codecs. It does not support WebM. The app includes settings for changing the output dimensions, speed, frame rate, cropping, and whether the GIF should loop. There is also a bounce option that creates a back-and-forth playback effect by duplicating the frames in reverse order. The app integrates with macOS in a few useful ways. A share extension lets you send a video directly to Gifski from any app that has a Share menu. A system service lets you convert a video from the Services menu in Finder or other apps. A Quick Action shortcut for Finder is also available so you can convert without opening the app at all. After conversion, you can copy or save the result with a keyboard shortcut. The source code is open under the MIT license. Building from source requires Xcode and the Rust programming language installed on your machine.

Copy-paste prompts

Prompt 1
How do I use Gifski's macOS share extension to convert a screen recording to a GIF directly from QuickTime Player?
Prompt 2
Show me how to build Gifski from source on macOS, including installing Xcode and the Rust toolchain as prerequisites.
Prompt 3
What Gifski settings should I use to make the smallest possible GIF file size while keeping it visually acceptable for embedding in a GitHub README?
Prompt 4
How do I use the Gifski Finder Quick Action to convert a video file to GIF without opening the main app window?
Open on GitHub → Explain another repo

← sindresorhus on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.