Website review
This review may include AI-generated content and is not individually verified. Domain, certificate and other facts come from the observed data on this page.
What is G'MIC?
G'MIC (GREYC's Magic for Image Computing) is a free, open-source framework for digital image processing. It handles images broadly — 1D signals, 2D color images, and 3D or 3D-plus-time volumetric datasets — and offers several ways to work with them, from a command line to plug-ins inside familiar editors. It is distributed under the CeCILL license, which is LGPL-like and GPL-compatible.
The four interfaces
| Interface | What it is | Typical user |
|---|---|---|
gmic |
Command-line tool for scripting and batch work | Developers, researchers, automation |
| G'MIC-Qt | Plug-in with 640+ categorized filters for many editors | Photographers, digital artists |
| libgmic | Portable, thread-safe, multi-threaded C++ library (C API too) | Programmers embedding image processing |
| G'MIC Online | Browser-based service for applying effects to an image | Casual users, quick tests |
What that means in practice
A photographer who already edits in GIMP, Krita, Photoshop, Affinity Photo, Paint.NET, digiKam, PaintShop Pro or PhotoLine can add G'MIC-Qt and get a large filter library sorted into categories such as Artistic, Black & white, Colors, Contours, Deformations, Degradations, Details, Color Grading, Frames, Layers, Light & shadows, Patterns, Rendering, Repair and Sequences. That breadth is the main draw: instead of hunting for many separate plug-ins, you browse one menu.
A developer or researcher may get more value from the command line or libgmic, because both allow G'MIC's processing to be scripted, repeated, or built into another application. The trade-off is a steeper learning curve — the command-line tool is often described as a companion to ImageMagick or GraphicsMagick, which signals a similar scripting-first mindset.
If you only want to try a few effects without installing anything, G'MIC Online runs in the browser.
Where to start
Pick the interface that matches your existing workflow rather than the most powerful one. If you edit photos in GIMP or Krita, install the G'MIC-Qt plug-in and explore the filter categories. If you need repeatable, scripted processing, start with the gmic command line. Documentation, scripting tutorials, video tutorials and an image gallery are available from the project site at G'MIC, and community discussion happens on Pixls.us and GimpChat.
How do I install the G'MIC plug-in in GIMP, Krita, or Photoshop?
G'MIC reaches GIMP, Krita and Photoshop through its G'MIC-Qt plug-in, but the installation route differs per host application. The official download page at G'MIC is the place to get the correct build; pick the package that matches your operating system and host program rather than a generic archive.
How the three hosts differ
| Host | Typical approach | What to watch for |
|---|---|---|
| GIMP | Install a G'MIC-Qt build that matches your GIMP version and OS; on Linux it is often available through your distribution's package manager | A plug-in compiled for a different GIMP major version may not load |
| Krita | Use the G'MIC-Qt package intended for Krita, or a distribution package | Krita ships its own plug-in handling, so version pairing matters |
| Photoshop | Install the Photoshop-compatible G'MIC-Qt plug-in (the 8bf-style plug-in family) into Photoshop's plug-ins folder | Photoshop plug-in folders and OS permissions are the usual failure points |
A practical next step
Before installing, note two things: your host application's exact version, and your operating system. Then download the matching G'MIC-Qt package from the official site and follow its bundled instructions. After restarting the host, look for G'MIC under the filters or plug-ins menu — if it is absent, the mismatch is almost always version or install location, not a missing feature.
For command-line or scripting use instead of a GUI host, the separate gmic tool is the relevant interface; the plug-in is specifically the route for GIMP, Krita and Photoshop.
How do I use the gmic command-line tool to batch-process images?
Batch processing with the gmic command-line tool means writing one command that reads a whole set of inputs, applies the same operations to each, and writes the results out. Because gmic is a full image-processing pipeline in a single executable, you can chain many operations without leaving the shell.
The basic pattern
The command-line interface reads images, keeps them on a stack, and processes that stack in order. A typical batch run looks like this:
gmic input/*.jpg -apply_or_filter_here -output output/
You can substitute any of the filters available in the framework. The command line is described on the project site as a companion to ImageMagick or GraphicsMagick, so if you already use those tools, the mental model is similar: one invocation, many files.
Practical approaches
- Loop in the shell when each image needs a slightly different name or destination. This is the most transparent method and easiest to debug.
- Pass multiple inputs to one
gmiccall when the operation is identical for every file. The tool handles the list internally, which is usually faster than starting a process per image. - Use the same filter names you see in the GUI. The plug-in exposes more than 640 filters sorted into categories such as Artistic, Black & white, Colors, Contours, Deformations, Degradations, Details, Color Grading, Frames, Layers, Light & shadows, Patterns, Rendering, Repair and Sequences. Those names map onto command-line operations, so you can prototype visually and then script it.
A concrete scenario
Suppose you have a folder of product photos and want a consistent look: mild denoising, a color adjustment, and a resize. You would test the sequence on one image first, confirm the result, then run the same command across the folder. Keeping the filter chain in a small shell script or a Makefile makes it repeatable and version-controllable.
Choosing between interfaces
| Interface | Best for | Trade-off |
|---|---|---|
gmic command line |
Scripted, repeatable batches; server-side pipelines | Requires comfort with shell syntax |
| G'MIC-Qt plug-in | Interactive editing inside GIMP, Krita, Photoshop, Affinity Photo and similar hosts | Manual, one image at a time |
libgmic |
Embedding processing into your own software | Requires C++ or C programming |
The framework handles generic image datasets, from 1D signals up to 3D+t volumetric sequences, so the same batching approach works beyond ordinary 2D photos.
Next step
Start with one image, build the filter chain interactively in the plug-in or in a single command, and only then wrap it in a loop over your folder. Test on copies before overwriting originals. The official documentation, scripting tutorial and video tutorials are the right places to look up exact filter names and syntax at G'MIC.
What kinds of image filters and effects are available in G'MIC-Qt?
G'MIC-Qt ships with more than 640 filters, grouped into categories rather than presented as one flat list. The categories named on the project's own page include Artistic, Black & white, Colors, Contours, Deformations, Degradations, Details, Color Grading, Frames, Layers, Light & shadows, Patterns, Rendering, Repair, and Sequences.
What those categories mean in practice
- Artistic and Patterns are the generative and stylising side: painterly looks, textures, repeating motifs and similar effects that produce new imagery rather than correcting existing imagery.
- Black & white, Colors and Color Grading cover tonal and colour work, from straightforward desaturation and channel handling to graded looks.
- Contours, Details and Repair are the technical-retouching side: edge extraction, local detail work, and cleanup-oriented filters.
- Deformations and Degradations deliberately distort or damage an image, which is useful for glitch aesthetics, texture generation and testing how robust a pipeline is.
- Frames, Layers and Sequences are compositional: borders and framing, layer-oriented operations, and filters that treat a set of images as an ordered sequence — the last of these matters if you are working on animation frames or time-lapse material rather than a single still.
- Rendering and Light & shadows add synthetic elements and relighting-style effects.
Who gets the most out of it
The breadth suits two rather different users. A retoucher dipping into GIMP, Krita, Photoshop, Affinity Photo, PaintShop Pro, PhotoLine or Paint.NET gets a large menu of one-click effects inside a host they already know. A technical user — someone building a repeatable pipeline or scripting batch work — benefits more from the fact that the same filter set is reachable through the command-line gmic tool and the libgmic C++ library, so an effect explored interactively in the plug-in can be reproduced headlessly.
The trade-off is discoverability. Hundreds of filters behind a category tree means a lot of scrolling, and quality varies across community-contributed entries; the practical approach is to search by effect name, preview on a small crop, and keep notes on the few filters you actually reuse rather than browsing the whole catalogue.
If you want to see results before installing anything, G'MIC hosts an online service where you can apply the algorithms in a browser, and the same site links a gallery, a scripting tutorial and video tutorials for going further.
How can I write custom G'MIC scripts or filters?
G'MIC is scriptable at two levels, and which one you want depends on whether you are building a filter for other people or automating your own batch work.
The two scripting layers
| Layer | What you write | Where it runs | Best for |
|---|---|---|---|
| G'MIC command language | Pipelines of G'MIC commands, optionally wrapped as a custom command | gmic CLI, the G'MIC-Qt plug-in's custom command box, or .gmic files you load |
One-off processing, batch jobs, learning the syntax |
.gmic filter definition |
A command plus metadata (name, parameters, preview) | The G'MIC-Qt plug-in, so it appears as a slider-driven filter in GIMP, Krita, Photoshop, Affinity Photo and similar hosts | Filters you want to reuse or share with non-scripting users |
Learning the language
The official Scripting Tutorial and Technical Reference on the G'MIC site are the primary sources; the reference lists every command and its arguments, and the tutorial builds up from simple pipelines. Video Tutorials and the Wiki Pages cover specific techniques. The Image Gallery and Color Presets pages are useful for reverse-engineering effects you like, since many gallery images correspond to published commands.
For a first exercise, run the CLI on a single image and chain a few commands, then save the chain as a text file and load it with the plug-in's custom command field. Once that works, adding a parameter and a preview turns it into a proper filter.
Practical notes
- The plug-in exposes more than 640 filters across categories such as Artistic, Black & white, Colors, Contours, Deformations, Degradations, Details, Color Grading, Frames, Layers, Light & shadows, Patterns, Rendering, Repair and Sequences. Reading the source of an existing filter in one of those categories is the fastest way to learn the conventions.
- Because the same command language backs the CLI, the Qt plug-in and
libgmic, a script you debug in the terminal generally transfers to the plug-in and to embedded use in third-party software. - The Discussion Forum (Pixls.us) and GimpChat are where filter authors ask for help and share
.gmicfiles; the IRC channel and issue tracker are listed on the site for bugs.
Next step
Pick one effect you already apply by hand, express it as a CLI pipeline, then wrap it as a .gmic command with a name and parameters so it appears in the plug-in. If you would rather embed G'MIC in your own application than write filters, libgmic is the relevant interface instead.
How do I embed libgmic in my own C++ application?
Link against libgmic and drive it through its C++ (or C) API; it is the interface G'MIC provides specifically so third-party software can reuse the same processing engine rather than reimplementing filters.
What the library gives you
Per the project's own description, libgmic is a small, portable, thread-safe, multi-threaded C++ image processing library. A C API is available as well, which matters if your application is C, or if you want a stable boundary between your code and the C++ ABI. The engine underneath handles "generic image datasets" — from 1D scalar signals up to 3D+t sequences of multi-spectral volumetric images — so 2D color images are just one case, not a special case.
A workable integration path
- Build or obtain
libgmicfor your platform, then link it into your application. - Include the G'MIC header and create a
gmicinstance in your own code. - Feed it your image data (or a filename), then run G'MIC commands — the same command language the CLI uses — against that instance.
- Read the result back into your own buffer and release the instance when done.
- If you want your users to pick effects rather than type commands, expose a curated list of G'MIC commands as your own presets.
The scripting tutorial and technical reference on G'MIC are the two pages to read before writing code: the reference documents the API surface, and the scripting tutorial teaches the command syntax you will be passing in as strings. The wiki pages and video tutorials cover the same command set from a user's angle, which helps when you are deciding which filters are worth exposing.
Decisions worth making early
- Command strings vs. fixed pipeline. Passing user- or config-supplied command strings is flexible but needs validation; hard-coding a small set of commands is safer for a shipped product.
- C++ API vs. C API. Choose the C API if you want to avoid C++ name mangling and exception details crossing your boundary; choose C++ for convenience if the rest of your codebase is already C++.
- Threading. The library is described as thread-safe and multi-threaded, but confirm how that interacts with your own threading model — for example, whether you want one instance per worker thread or shared instances.
- Licensing. It is distributed under the CeCILL free software licenses, described as LGPL-like and/or GPL-compatible. Check which option applies to your use before shipping, especially for closed-source products.
Concrete scenario
You maintain a desktop photo tool and want G'MIC's artistic and repair filters without asking users to install a plug-in. You link libgmic, map each of your menu entries to a G'MIC command with sensible defaults, render a preview at reduced resolution, and apply the full-resolution pass only on confirmation. Users get the effects inside your existing UI; you inherit the engine's breadth instead of maintaining dozens of filters yourself.
Where to go next
Start by reproducing one CLI command you already trust — run it through libgmic in a throwaway program and diff the output against the gmic command-line result. If the images match, your build, linking and data handoff are correct, and you can expand from there. If you would rather not write code at all, the project also offers the G'MIC-Qt plug-in for GIMP, Krita, Photoshop, Affinity Photo and similar editors, plus a browser-based online service — useful reference points for what the library can do before you commit to embedding it.
User reviews (0)