GIMP


The GNU Image Manipulation Program, commonly known by its acronym GIMP, is a free and open-source raster graphics editor.
It is commonly used for photo retouching, image editing, free-hand drawing, and converting between different image file formats.
GIMP is freely available on Microsoft Windows, Linux and macOS. It is licensed under the GNU General Public License. The project is a non-profit supported by a community of volunteers. Users are encouraged to contribute.
GIMP supports plugins and scripting, allowing users to extend its features and automate tasks. While it is not primarily designed for drawing, some artists and creators still use it for that purpose.

History

In 1995, Spencer Kimball and Peter Mattis began developing GIMP as a semester project at University of California, Berkeley for the eXperimental Computing Facility. The software was originally named the General Image Manipulation Program. Kimball and Mattis formed the acronym GIMP by adding the letter G to "-IMP," inspired by a reference to "the gimp" in the 1994 film Pulp Fiction.
GIMP's first public release, version 0.54, came out in 1996. It attracted many users, and a community of contributors grew around it. These contributors produced tutorials, shared artwork, and introduced improved workflows and techniques.
During a visit to UC Berkeley in 1997, Richard Stallman of the GNU Project met with Kimball and Mattis where they asked him if they could change "General" in the program's name to "GNU". Stallman approved, and GIMP became part of the GNU software collection.
The initial release worked only on Unix-based systems such as Linux, SGI IRIX and HP-UX. Since then, GIMP has been ported to other operating systems, including Microsoft Windows and macOS.
A GUI toolkit called GTK was developed to facilitate the development of GIMP. The development of the GIMP ToolKit has been attributed to Peter Mattis becoming disenchanted with the Motif toolkit GIMP originally used. Motif was used up to GIMP 0.60.

Mascot

Wilber, the official mascot of GIMP, was created using GIMP by Tuomas Kuosmanen, known as tigert, on 25 September 1997.
Over time, other GIMP developers contributed additional accessories for Wilber, which are included in the Wilber Construction Kit. The kit is available in GIMP's source code at /docs/Wilber_Construction_Kit.xcf.gz.

Development

GIMP is primarily developed by volunteers as a free and open source software project associated with both the GNU and GNOME projects. Development takes place in a public git source code repository, on public mailing lists and in public chat channels on the GIMPNET IRC network.
New features are held in public separate source code branches and merged into the main branch when the GIMP team is sure they won't damage existing functions. Sometimes this means that features that appear complete do not get merged or take months or years before they become available in GIMP.
GIMP itself is released as source code. After a source code release, installers and packages are made for different operating systems by parties who might not be in contact with the maintainers of GIMP.
The version number used in GIMP is expressed in a major-minor-micro format, with each number carrying a specific meaning: the first number is incremented only for major developments. The second number is incremented with each release of new features, with odd numbers reserved for in-progress development versions and even numbers assigned to stable releases; the third number is incremented before and after each release with any bug fixes subsequently applied and released for a stable version.
Previously, GIMP applied for several positions in the Google Summer of Code. From 2006 to 2009 there have been nine GSoC projects that have been listed as successful, although not all successful projects have been merged into GIMP immediately. The healing brush and perspective clone tools and Ruby bindings were created as part of the 2006 GSoC and can be used in version 2.8.0 of GIMP, although there were three other projects that were completed and are later available in a stable version of GIMP; those projects being Vector Layers, and a JPEG 2000 plug-in. Several of the GSoC projects were completed in 2008, but have been merged into a stable GIMP release later in 2009 to 2014 for Version 2.8.xx and 2.10.x. Some of them needed some more code work for the master tree.
Second public Development 2.9-Version was 2.9.4 with many deep improvements after initial Public Version 2.9.2. Third Public 2.9-Development version is Version 2.9.6. One of the new features is removing the 4 GB size limit of XCF file. Increase of possible threads to 64 is also an important point for modern parallel execution in actual AMD Ryzen and Intel Xeon processors. Version 2.9.8 included many bug fixes and improvements in gradients and clips. Improvements in performance and optimization beyond bug hunting were the development targets for 2.10.0. MacOS Beta is available with Version 2.10.4.
The first release candidate for version 3.0, RC1, was released on 6 November 2024. After several more months of development, version 3.0 was completed and released on 16 March 2025. This represented the completion of seven years of development to complete a major overhaul of many of GIMP's features and dependencies.
GIMP developers meet during the annual Libre Graphics Meeting. Interaction designers from OpenUsability have also contributed to GIMP.

Distribution

The current version of GIMP works with numerous operating systems, including Linux, macOS and Windows. Many Linux distributions, such as Fedora Linux and Debian, include GIMP as a part of their desktop operating systems.
GIMP began to host its own downloads after discontinuing use of SourceForge in 2013. The website later repossessed GIMP's dormant account and hosted advertising-laden versions of GIMP for Windows.
In 2022, GIMP was published on the Microsoft Store for Windows.

Features

Tools used to perform image editing can be accessed via the toolbox, through menus and dialogue windows. They include filters and brushes, as well as transformation, selection, layer and masking tools. GIMP's developers have asserted that it has, or at least aspire to it having, similar functionality to Photoshop, but has a different user interface.

Color

There are several ways of selecting colors, including palettes, color choosers and using an eyedropper tool to select a color on the canvas. The built-in color choosers include RGB/HSV/LAB/LCH selector or scales, water-color selector, CMYK selector and a color-wheel selector. Colors can also be selected using hexadecimal color codes, as used in HTML color selection. GIMP has native support for indexed color and RGB color spaces; other color spaces are supported using decomposition, where each channel of the new color space becomes a black-and-white image. CMYK, LAB and HSV are supported this way. Color blending can be achieved using the Blend tool, by applying a gradient to the surface of an image and using GIMP's color modes. Gradients are also integrated into tools such as the brush tool, when the user paints this way the output color slowly changes. There are a number of default gradients included with GIMP; a user can also create custom gradients with tools provided. Gradient plug-ins are also available.

Selections and paths

GIMP selection tools include a rectangular and circular selection tool, free select tool, and fuzzy select tool. More advanced selection tools include the select by color tool for selecting contiguous regions of color—and the scissors select tool, which creates selections semi-automatically between areas of highly contrasting colors. GIMP also supports a quick mask mode where a user can use a brush to paint the area of a selection. Visibly this looks like a red colored overlay being added or removed. The foreground select tool is an implementation of Simple interactive object extraction, a method used to perform the extraction of foreground elements, such as a person or a tree in focus. The Paths Tool allows a user to create vectors. Users can use paths to create complex selections, including around natural curves. They can paint the paths with brushes, patterns, or various line styles. Users can name and save paths for reuse.

Image editing

There are many tools that can be used for editing images in GIMP. The more common tools include a paint brush, pencil, airbrush, eraser and ink tools used to create new or blended pixels. The Bucket Fill tool can be used to fill a selection with a color or pattern. The Blend tool can be used to fill a selection with a color gradient. These color transitions can be applied to large regions or smaller custom path selections.
GIMP also provides "smart" tools that use a more complex algorithm to do things that otherwise would be time-consuming or impossible. These include:
  • Clone tool, which copies pixels using a brush
  • Healing brush, which copies pixels from an area and corrects tone and color
  • Perspective clone tool, which works like the clone tool but corrects for distance changes
  • Blur and sharpen tools
  • The Smudge tool can be used to subtly smear a selection where it stands
  • Dodge and burn tool is a brush that makes target pixels lighter or darker

    Layers, layer masks and channels

An image being edited in GIMP can consist of many layers in a stack. The user manual suggests that "A good way to visualize a GIMP image is as a stack of transparencies," where in GIMP terminology, each level is called a layer. Each layer in an image is made up of several channels. In an RGB image, there are normally 3 or 4 channels, each consisting of a red, green and blue channel. Color sublayers look like slightly different gray images, but when put together they make a complete image. The fourth channel that may be part of a layer is the alpha channel. This channel measures opacity where a whole or part of an image can be completely visible, partially visible or invisible. Each layer has a layer mode that can be set to change the colors in the image.
Text layers can be created using the text tool, allowing a user to write on an image. Text layers can be transformed in several ways, such as converting them to a path or selection.