G'MIC - GREYC's Magic for Image Computing: A Full-Featured Open-Source Framework for Image Processing
Banner Institutions GREYC CNRS ENSICAEN UNICAEN

A Full-Featured Open-Source Framework for Image Processing



Latest stable version: 3.5.5        Current pre-release: 3.6.0 (2025/08/04)

Download
Roddy
Roddy, the mascot of the 'Rodilius' filter in G'MIC, artwork by Mahvin.

Roddy, the mascot of the 'Rodilius' filter in G'MIC
(artwork by Mahvin)

GALLERY G'MIC Online
10 Years 11 Years 13 Years
15 Years 16 Years

Here you can download the sources of G'MIC and find pre-compiled binaries of the different interfaces for various architectures.


GIMP

G'MIC-Qt plug-in for GIMP 3.0

GIMP

G'MIC-Qt plug-in for GIMP 2.10

Photoshop 8bf Affinity Photo 8bf PaintShop Pro 8bf
PhotoLine 8bf XnView 8bf

G'MIC-Qt plug-in for Photoshop / Affinity Photo / PaintShop Pro /
PhotoLine / XnView (8bf)

Paint.NET

G'MIC-Qt plug-in for Paint.NET

  • Windows:
Python

G'MIC-Qt plug-in for Python

$ pip install gmic
Win64

G'MIC for Windows - Other interfaces

Debian64

G'MIC for Debian - All interfaces (.deb packages)

Ubuntu64

G'MIC for Ubuntu - All interfaces (.deb packages)

Source

G'MIC source code

OpenFX

G'MIC OpenFX plug-ins

Other Means

Packaging Status Latest Packaged Version(s)

  • Packages for Fedora: should be available here.
Src - Linux

The source code of G'MIC is shared between several github repositories with public access. The code from these repositories are intended to be work-in-progress though, so we don't recommend using them to access the source code, if you just want to compile the various interfaces of the G'MIC project. Its is recommended to get the source code from the latest .tar.gz archive instead.

Here are the instructions to compile G'MIC on a fresh installation of Debian (or Ubuntu). It should not be much harder for other distros. First you need to install all the required tools and libraries:

$ sudo apt install git build-essential libgimp2.0-dev libcurl4-openssl-dev libfftw3-dev libtiff-dev libjpeg-dev libopenexr-dev libwebp-dev qtbase5-dev qttools5-dev-tools

Then, get the G'MIC source :

$ wget https://gmic.eu/files/source/gmic_3.5.5.tar.gz && tar zxvf gmic_3.5.5.tar.gz && cd gmic-3.5.5/src

You are now ready to compile the G'MIC interfaces:

  • gmic (command-line tool),
  • gmic_gimp_qt (plug-in for GIMP),
  • ZArt and
  • libgmic (G'MIC C++ library).

Just pick your choice:

$ make cli # Compile command-line interface
$ make gimp # Compile plug-in for GIMP
$ make lib # Compile G'MIC library files
$ make zart # Compile ZArt
$ make all # Compile all of the G'MIC interfaces

and go out for a long drink (the compilation takes time).

Note that compiling issues (compiler segfault) may happen with older versions of g++ (4.8.1 and 4.8.2). If you encounter this kind of errors, you probably have to disable the support of OpenMP in G'MIC to make it work, by compiling it with:

make OPENMP_CFLAGS="" OPENMP_LIBS=""

Also, please remember that the source code in the git repository is constantly under development and may be a bit unstable, so do not hesitate to report bugs if you encounter any.

Src - Windows

On Windows, compiling executables of the different G'MIC interfaces is not that hard. It requires the following steps:

  • Set up of the compiling environment:

    • Install MSYS2, from https://www.msys2.org/.
    • Launch MSYS terminal (MSYS2 MinGW 64-bit), then update default installed packages with:
      $ pacman -Syu
    • Install required additional packages (beware, it will take a lot of time and disk space, around 3GB):
      $ pacman -Sy mingw64/mingw-w64-x86_64-qt5 mingw64/mingw-w64-x86_64-gimp mingw64/mingw-w64-x86_64-pkgconf mingw64/mingw-w64-x86_64-gcc mingw64/mingw-w64-x86_64-fftw make git
    • Add /mingw64/bin to $PATH, by adding following line in file $HOME/.bash_profile:
      PATH="/mingw64/bin:${PATH}"
    • Close terminal, and relaunch it. Now all required tools to compile are avalaible from the terminal.
    • Retrieve source code of G'MIC interfaces:
      $ wget https://gmic.eu/files/source/gmic_3.5.5.tar.gz && tar zxvf gmic_3.5.5.tar.gz && cd gmic-3.5.5

  • Compilation of gmic (CLI interface):

    • Go to src/ source folder:
      $ cd src/
    • Compile with provided Makefile:
      $ make cli
      You may want to disable Link-Time-Optimization to save memory usage when compiling, because g++ eats a lot of memory when LTO is enabled. In that case, type:
      $ make FLTO="" cli
      instead.
    • When compilation succeeds, G'MIC CLI executable can be found in current directory, i.e. gmic/src/gmic.exe.
    • Copy needed DLL for the gmic.exe executable. They are all found in /mingw64/bin/:
      $ cd /mingw64/bin/ && cp libgcc_s_seh-1.dll libwinpthread-1.dll libgomp-1.dll libstdc++-6.dll libcurl-4.dll libbrotlidec.dll libbrotlicommon.dll libcrypto-1_1-x64.dll libidn2-0.dll libiconv-2.dll libintl-8.dll libunistring-2.dll libnghttp2-14.dll libpsl-5.dll libssh2-1.dll zlib1.dll libssl-1_1-x64.dll libzstd.dll libfftw3-3.dll libjpeg-8.dll libpng16-16.dll libtiff-5.dll liblzma-5.dll PATH_TO_EXE/

  • Compilation of gmic_qt (stand-alone Qt-based interface):

    • Go to gmic-qt/ source folder:
      $ cd gmic-qt/
    • Generate Makefile with qmake:
      $ qmake HOST=none
      For an unknown reason, qmake sometimes takes a lot of time to end, hanging 5 minutes or so without displaying any messages. But at the end, it just works, so be patient!
    • Compile with generated Makefile:
      $ make -j4 release
    • When compilation succeeds, G'MIC-Qt executable can be found in directory release/gmic_qt.exe.
    • Copy needded DLL for the gmic_qt.exe executable:
      $ cd /mingw64/bin/ && cp libgcc_s_seh-1.dll libwinpthread-1.dll libgomp-1.dll libstdc++-6.dll libcurl-4.dll libbrotlidec.dll libbrotlicommon.dll libcrypto-1_1-x64.dll libidn2-0.dll libiconv-2.dll libintl-8.dll libunistring-2.dll libnghttp2-14.dll libpsl-5.dll libssh2-1.dll zlib1.dll libssl-1_1-x64.dll libzstd.dll libfftw3-3.dll libpng16-16.dll Qt5Core.dll libdouble-conversion.dll libicuin67.dll libicuuc67.dll libicudt67.dll libpcre2-16-0.dll Qt5Gui.dll libharfbuzz-0.dll libgraphite2.dll libfreetype-6.dll libbz2-1.dll libglib-2.0-0.dll libpcre-1.dll Qt5Network.dll Qt5Widgets.dll PATH_TO_EXE/
    • Copy required Qt platform files:
      $ cp -rf /mingw64/share/qt5/plugins/platforms PATH_TO_EXE/

  • Compilation of gmic_gimp_qt (plug-in for GIMP):

    Same as above, but invoke qmake with:

    $ qmake HOST=gimp

  • Compilation of gmic_paintdotnet_qt (plug-in for Paint.NET):

    Same as above, but invoke qmake with:

    $ qmake HOST=paintdotnet
Testing Features

In order to check if G'MIC works correctly on your system, you may want to execute the command and filter testing procedures. Assuming the CLI tool gmic is installed on your system, here is how to do it (on an Unix-flavored OS, adapt the instructions below for other OS):

$ mkdir -p testing && cd testing
$ gmic it https://gmic.eu/gmic_stdlib.\$_version parse_cli images
$ gmic it https://gmic.eu/gmic_stdlib.\$_version parse_gui images

These commands scan all G'MIC stdlib commands and G'MIC-Qt filters, and generate the images corresponding to the execution of these commands, with default parameters. Beware, this may take some time to complete!

G'MIC - GREYC's Magic for Image Computing: A Full-Featured Open-Source Framework for Image Processing

G'MIC is an open-source software distributed under the CeCILL free software licenses (LGPL-like and/or
GPL-compatible). Copyrights (C) Since July 2008, David Tschumperlé - GREYC UMR CNRS 6072, Image Team.