Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?


Failed to load latest commit information.
Latest commit message
Commit time
November 4, 2023 20:57
September 22, 2023 14:22
September 21, 2023 17:05
June 20, 2022 00:08
May 20, 2023 17:33
June 6, 2022 02:03
September 20, 2021 16:15

Master Build StatusLatest ReleaseFriendly Chat



Chafa is a command-line utility that converts image data, including animated GIFs, into graphics formats or ANSI/Unicode character art suitable for display in a terminal. It has broad feature support, allowing it to be used on devices ranging from historical teleprinters to modern terminal emulators and everything in between.

The core functionality is provided by a C library with a public, well-documented API.

Both library and frontend tools are covered by the Lesser GPL license, version 3 or later (LGPLv3+).

The official web pages and C API documentation can be found online. Check out the gallery for screenshots.


Chafa is most likely packaged for your distribution, so if you're not going to hack on it, you're better off using official packages. If you want to build the latest and greatest yourself, read on.

You will need GCC, make, Autoconf, Automake, Libtool and the GLib development package installed to compile Chafa from its git repository. If you want to build the command-line tool chafa and not just the library, you will additionally need development packages for:

  • FreeType2. Often packaged as libfreetype6-dev or freetype2-devel.
  • libjpeg (optional). Look for libjpeg-dev, libjpeg62-devel or libjpeg8-devel.
  • librsvg (optional). Look for librsvg2-dev or librsvg-devel.
  • libtiff (optional). Look for libtiff5-dev or libtiff-devel.
  • libwebp (optional). Look for libwebp-dev or libwebp-devel.

If you want to build documentation, you will also need gtk-doc.

Start by cloning the repository:

$ git clone

Then cd to the toplevel directory and issue the following shell commands:

$ ./
$ make
$ sudo make install

That should do it!

Python bindings

Erica Ferrua Edwardsdóttir maintains excellent Python bindings for Chafa. If Python's your thing, check them out. They are easy to use and come with a detailed tutorial.