Open-source project
tasy5kg/CuteGIF avatar
tasy5kg/CuteGIF

CuteGIF is an Android video to GIF converter with an editor attached

Convert video to GIF. Simple and fast.

599 stars38 forksKotlinGPL-3.0

At a glance

What is it?
CuteGIF is a GPL-3.0 licensed Android app that converts video to GIF, and it puts crop, trim, speed, text overlay, background removal, resolution and colour controls plus a preview in front of the export. It is distributed as an APK from GitHub Releases rather than through a store, and the last push was on 2026-04-13 with the newest tagged build at 2024.3.
Who is it for?
CuteGIF fits an Android user who wants to turn a short clip into a GIF with trimming, speed and text applied, and who is comfortable sideloading an APK from a GitHub release rather than installing from a store.
Can I use it commercially?
Yes, with conditions. GPL-3.0 is a copyleft licence: if you distribute software that includes it, you must release that software's source code under the same licence. Running it internally without distributing it does not trigger that obligation.
Is it still maintained?
Activity is slowing. The repository last received commits 6 months ago.
What is it written in?
Mainly Kotlin, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on October 22, 2026, and from our analysis. They are not legal advice.

Editorial analysis

An Android app first, with FFmpeg behind it

CuteGIF is described as a simple and easy-to-use video to GIF tool for Android, and the repository topics say the same thing in two words: android and ffmpeg.

Those two tags define the shape of the project. It is a phone application, built with Kotlin, and it is built on top of FFmpeg for the actual media work. The primary language is Kotlin, and the repository layout is a standard Gradle Android project: an app directory, a build.gradle, gradle.properties, settings.gradle, a gradle wrapper with gradlew and gradlew.bat, an assets directory holding the localised images and README variants, a .editorconfig, and a COPYING file holding the licence.

The interesting part is that the app is not a thin front end over a single FFmpeg invocation. The feature list is closer to a small editor with an export button attached.

The headline capability is video to GIF, simple and easy-to-use. Around it sit video editing features: crop, trim, speed up, add text and remove background. Then output controls: custom GIF resolution, clarity, colour quality, frame rate and more. And then a preview of the effect before exporting, which is the feature that separates this from a command line one liner.

The last feature group is about the format itself. GIF split and GIF to Video are supported, so the app also goes backwards out of the animated format, and Motion Photo to GIF is listed, which is the Samsung and Google specific still image format that carries a short video clip.

The editing options are what make it more than a converter

It is worth separating the two halves of the feature list, because they answer different questions.

The editing half is crop, trim, speed up, add text and remove background. Each of these is a decision a user makes about which part of the source video should become the GIF, and each of them maps to something FFmpeg can do with a filter chain. Trim selects the time range, crop selects the region, speed changes the playback rate, text overlays a caption, and background removal is the one that requires a segmentation pass rather than a simple filter.

The output half is custom GIF resolution, clarity, colour quality and frame rate. This is the part that determines the file size, and it is the part where the trade is unavoidable. GIF is a palette based format limited to 256 colours per frame, so reducing the colour quality makes the file smaller and the banding worse, while raising the frame rate makes the motion smoother and the file much larger. Resolution scales the same way. A GIF that is 1080 pixels wide and 60 frames per second is a large file, and the app gives you the sliders to make that trade explicitly rather than hiding it behind a preset.

The preview before exporting exists precisely because those trades are not obvious in advance. You can see the banding and the choppiness before you commit to the file, which is the single feature that most justifies a GUI here.

You install it by downloading an APK, not from a store

The distribution story is short and specific. The README points at GitHub Releases for the APK file, and links the latest release.

That is the whole installation story. There is no store listing mentioned, no Play Store variant, and no F-Droid entry referenced. The project also asks readers who use WeChat to follow the author's official account so that they receive push notifications when new versions of CuteGIF are available, which is a distribution channel in its own right and tells you a good deal about where this project's users are.

The version scheme is also worth reading. The README states the latest version as 2024.3, and the tagged releases follow the pattern of a year and a build number: 2024.3_202403010 tagged on 2024-03-16, 2024.1_202401312 tagged on 2024-02-15, and 15.1_202308090 tagged in August 2023. The name embeds the date the build was made, so 202403010 is the first of March 2024, and the release tag was published fifteen days later.

The last push to the repository was on 2026-04-13, which is well after the newest tagged build, so the source tree has moved on from what is published. There is no tagged release newer than 2024.3 in the release history, and the README still names 2024.3 as the latest version, so a user picking up the APK from the releases page gets the 2024.3 build.

The copyright line credits the author with the years 2022 to 2024, which lines up with the release history and with a project that started in 2022 and last shipped a build in early 2024.

What the repository does not tell you

The README is a consumer facing document, and the absence of certain information matters when you are evaluating it.

There is no documented list of the FFmpeg build options, no mention of which FFmpeg version is bundled, and no note about how the app packages the binary for the different Android ABIs. The build.gradle and gradle.properties are in the repository, so the configuration is readable in principle, but the README does not walk through it.

There is also nothing about batch conversion, about a share intent that other apps can target, or about a command line interface. The feature list is entirely about a person picking a video on a phone, editing it, previewing it and exporting it. That is a coherent product decision rather than a gap, but it does mean the app cannot be scripted.

The documentation does not describe the export settings in terms of the GIF standard itself, so whether the output uses a global colour table per frame or a local table, or how dithering is handled, is not stated. The app exposes clarity and colour quality as user facing controls, which is what a user can act on, and that is where the documentation stops.

What is documented is the honest, practical part: a Chinese and an English README, a set of screenshots in the assets directory, a praise wall, the star history chart, and the copyright and licence statement. This is a project that expects to be downloaded, tried, and used, and that expects feedback to arrive through the issue tracker rather than through a forum.

Where CuteGIF is the wrong tool

Four situations rule it out.

The first is any task that needs scripting or repetition. Converting forty clips to the same specification is a command line job, and the natural tools for it are FFmpeg invoked directly with a palette generation pass per clip, or a wrapper that loops. CuteGIF has no such mode, and driving a phone app forty times by hand is not a pipeline.

The second is a requirement for reproducible output. Every setting is chosen on the device, and the encoding is done on the device, so the same source video on two different phones with different app builds can produce different files. For a workflow where the GIF is part of a published artifact that has to look the same everywhere, that is a problem, and the fix is to run the encoder yourself with fixed parameters.

The third is a large file. A GIF of a full screen phone recording at 30 frames per second will be enormous, and a phone app is not the place to manage a multi hundred megabyte output. The colour reduction and resolution controls help, but the format's ceiling is the format's ceiling, and a desktop encoder with a palette pass gives more control over the result.

The fourth is anything where the GPL matters. The project is licensed under GPL-3.0, and an app that ships FFmpeg, which is also GPL, is a GPL work. That is fine for a personal tool you install on your own phone, and awkward if you want to reuse the code in a product, especially a proprietary one, because the copyleft terms reach the derived work.

The alternative worth naming is FFmpeg itself, which does the same conversion with a palette filter and gives you every codec parameter as a flag. The difference in approach is that CuteGIF hides the FFmpeg pipeline behind sliders and a preview, and FFmpeg exposes it entirely. For a person making one GIF to post in a chat, the app is the right tool. For a person who needs forty consistent GIFs, the command line is.

Editorial conclusion

CuteGIF fits an Android user who wants to turn a short clip into a GIF with trimming, speed and text applied, and who is comfortable sideloading an APK from a GitHub release rather than installing from a store. It is the wrong choice if you need batch conversion, scripting or a command line, because it is a phone app rather than a tool you can drive from a script, and it is the wrong choice if you need a result that has to be identical across devices, since the encoding settings it exposes are chosen on the phone. Before you install it, check three things: that the build you download is the one you want, since the newest tagged release is 2024.3 from 2024-03-16 while the repository was last pushed on 2026-04-13, that you are comfortable with the GPL-3.0 licence for an app that links FFmpeg, and that the size of the resulting GIF is something you have actually checked, because GIF is a 256 colour format and the app's own resolution and colour quality controls are the only levers you have.

Frequently asked questions

How do I install CuteGIF on Android?

The README directs users to download the APK file from the project's GitHub Releases page, linking the latest release. There is no store listing mentioned in the documentation, so the app is sideloaded from the release artefact.

What version of CuteGIF is the latest?

The README states the latest version is 2024.3. The tagged releases are named with a year and build number, with 2024.3_202403010 published on 2024-03-16 and 2024.1_202401312 on 2024-02-15. The last push to the repository was on 2026-04-13.

What can CuteGIF do besides converting video to GIF?

It offers video editing including crop, trim, speed up, add text and remove background, plus controls for GIF resolution, clarity, colour quality and frame rate, and a preview of the effect before exporting. GIF split and GIF to Video are also supported, along with Motion Photo to GIF.

What licence is CuteGIF released under?

The project is licensed under the GPL-3.0 license, with the full text in the COPYING file at the repository root, and the copyright line credits the author for the years 2022 to 2024.

Official sources

  1. Issues
  2. License: GPL-3.0
  3. README
  4. Releases
  5. tasy5kg/CuteGIF on GitHub
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/tasy5kg-cutegif.svg)](https://hysenlabs.com/projects/tasy5kg-cutegif)

Was this useful?