GNU Image Manipulation Program, commonly known by its acronym GIMP (/ɡɪmp/ GHIMP), is a free and open-source raster graphics editor[4] used for image manipulation (retouching) and image editing, free-form drawing, transcoding between different image file formats, and more specialized tasks. It is extensible by means of plugins, and scriptable. It is not designed to be used for drawing, though some artists and creators have used it in this way.[5]
GIMP is released under the GPL-3.0-or-later license and is available for Linux, macOS, and Microsoft Windows.[6]
In 1995, Spencer Kimball and Peter Mattis began developing GIMP—originally named General Image Manipulation Program—as a semester-long project at the University of California, Berkeley for the eXperimental Computing Facility.[7] The acronym was coined first, with the letter G being added to -IMP as a reference to "the gimp" in the scene from the 1994 film Pulp Fiction.[8]
1996 was the initial public release of GIMP (0.54).[9][10] The editor was quickly adopted and a community of contributors formed. The community began developing tutorials and artwork and sharing better work-flows and techniques.[11]
In the following year, Kimball and Mattis met with Richard Stallman of the GNU Project while he visited UC Berkeley and asked if they could change General in the application's name to GNU (the name of the operating system created by Stallman), and Stallman approved.[12] The application subsequently formed part of the GNU software collection.[13]
The first release only supported Unix systems, such as Linux, SGI IRIX and HP-UX.[7][14] Since then, GIMP has been ported to other operating systems, including Microsoft Windows (1997, GIMP 1.1)[14] and macOS.
A GUI toolkit called GTK (at the time known as the GIMP ToolKit) 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 until GIMP 0.60.[10][15]
GIMP's mascot is called Wilber and was created in GIMP by Tuomas Kuosmanen, known as tigert, on 25 September 1997. Wilber received additional accessories from other GIMP developers, which can be found in the Wilber Construction Kit, included in the GIMP source code as /docs/Wilber_Construction_Kit.xcf.gz
.[16]
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,[17] on public mailing lists and in public chat channels on the GIMPNET IRC network.[18]
New features are held in public separate source code branches and merged into the main (or development) branch when the GIMP team is sure they won't damage existing functions.[17] 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 (major) number is incremented only for major developments (and is currently 2). The second (minor) 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 (micro) number is incremented before and after each release (resulting in even numbers for releases, and odd numbers for development snapshots) with any bug fixes subsequently applied and released for a stable version.
Previously, GIMP applied for several positions in the Google Summer of Code (GSoC).[19][20] From 2006 to 2009 there have been nine GSoC projects that have been listed as successful,[19] 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 (end 2008 in 2.8 and master),[21] and a JPEG 2000 plug-in (mid 2009 in 2.8 and master).[22] 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.[23][24] Third Public 2.9-Development version is Version 2.9.6.[25] One of the new features is removing the 4 GB size limit of XCF file.[26][27] 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.[28] Improvements in performance and optimization beyond bug hunting were the development targets for 2.10.0.[29] MacOS Beta is available with Version 2.10.4.[30]
The next stable version in the roadmap is 3.0 with a GTK3 port.[31] 2.99-Series is the development Series to 3.0. Jehan Pages, the lead developer and maintainer of GIMP, stated that GIMP 3.0's release is tentative for May 2024 and plans to announce the release at the next Libre Graphics Meeting conference.[32]
GIMP developers meet during the annual Libre Graphics Meeting.[33] Interaction designers from OpenUsability have also contributed to GIMP.[34]
Major version | Latest minor version | Initial release | Significant changes and notes |
---|---|---|---|
0.x | ? | 1995-11-21 | First release |
0.54 | 0.54.1 | 1996-01-31 | 0.54 features some improvements over earlier versions and many bug fixes. Also made a slight modification to the way the file overwrite dialog works. |
0.60 | ? | 1996-07-?? | Creation of GIMP Tool Kit |
0.99 | 0.99.31 | 1997-02-26 | Porting plug-ins |
Legend: Old version, not maintained Old version, still maintained Latest version Latest preview version Future release |
Major version | Latest minor version | Initial release | Significant changes and notes |
---|---|---|---|
1.0 | 1.0.3 | 1998-06-05 | Switch from Motif to GTK+ 1.x. Support for image layers. Introduction of the XCF file format. New memory manager with disk caching of tiles to support large images. New plug-in/extension API and introduction of the Procedural Database (PDB). Introduction of Script-Fu. |
1.2 | 1.2.5 | 2000-12-25 | Improvements to the user interface |
Legend: Old version, not maintained Old version, still maintained Latest version Latest preview version Future release |
Major version | Minor version | Initial release | Significant changes and notes |
---|---|---|---|
2.0 | 2.0 | 2004-03-23 | Switch to GTK+ 2.x graphical toolkit. Introduction of tabs and docks system, improvements to Script-Fu scripting, text re-editing, CMYK color support. |
2.0.1 | ? | ||
2.0.2 | ? | ||
2.0.3 | ? | ||
2.0.4 | ? | ||
2.0.5 | ? | ||
2.0.6 | ? | ||
2.2 | 2.2 | 2004-12-19 | Plugin support, keyboard shortcut editor, previews for transform tools. New GIMP hardware controllers support. Improvements to drag and drop and copy and paste to other applications. The last major version to support Windows 98/Me. |
2.2.1 | ? | ||
2.2.2 | ? | ||
2.2.3 | ? | ||
2.2.4 | ? | ||
2.2.5 | ? | ||
2.2.6 | ? | ||
2.2.7 | ? | ||
2.2.8 | ? | ||
2.2.9 | ? | ||
2.2.10 | ? | ||
2.2.11 | ? | ||
2.2.12 | ? | ||
2.2.13 | ? | ||
2.2.14 | ? | ||
2.2.15 | ? | ||
2.2.16 | ? | ||
2.2.17 | ? | ||
2.4 | 2.4 | 2007-10-24 | Color management support, scalable brushes, new and rewritten selection tools and crop tools. Many user interface changes including full screen editing and a new icon theme. Increased file format support. Improved printing quality. Improved interface for external device input. |
2.4.1 | ? | ||
2.4.2 | ? | ||
2.4.3 | ? | ||
2.4.4 | ? | ||
2.4.5 | ? | ||
2.4.6 | ? | ||
2.4.7 | ? | ||
2.6 | 2.6 | 2008-10-01 | Partial implementation of GEGL, and first iteration of UI re-design. |
2.6.1 | 2008-10-09 | ||
2.6.2 | 2008-10-30 | ||
2.6.3 | 2008-11-22 | ||
2.6.4 | — | Unreleased version. | |
2.6.5 | 2009-02-15 | ||
2.6.6 | 2009-03-17 | ||
2.6.7 | 2009-08-14 | ||
2.6.8 | 2009-12-10 | ||
2.6.9 | 2010-06-23 | ||
2.6.10 | 2010-07-08 | ||
2.6.11 | 2010-10-04 | ||
2.6.12 | 2012-02-01 | ||
2.8 | 2.7.1 | 2010-07-03 | Single-window mode. Multi-column dock windows. Other UI improvements. Save/Export separation. Layer groups. Tools drawn with Cairo. On canvas text editing. Simple math in size entries. Various improvements. |
2.7.2 | 2011-04-15 | Various bugfixes. | |
2.7.3 | 2011-08-22 | Various bugfixes. UI improvements. OS X improvements. | |
2.7.4 | 2011-12-13 | Various bugfixes. | |
2.7.5 | 2012-03-14 | Various bugfixes. | |
2.8rc1 | 2012-04-08 | Updated code from 2.7.5. | |
2.8 | 2012-05-03 | Layer groups, on-canvas text editing, optional single window mode. UI improvements. Various bugfixes. | |
2.8.2 | 2012-08-24 | Various bugfixes. | |
2.8.4 | 2013-02-05 | Various bugfixes. OS X version released on 10 February. | |
2.8.6 | 2013-06-21 | Various bugfixes. | |
2.8.8 | — | Unreleased version. | |
2.8.10 | 2013-11-28 | Improved OS X support. | |
2.8.12 | — | Unreleased version. Re-released as 2.8.14 with a critical bugfix. | |
2.8.14 | 2014-08-26 | Fixed libtool versioning. | |
2.8.16 | 2015-11-22 | Layer groups support in OpenRaster files. Layer groups support fixed for PSD files. UI improvements. Various bugfixes. Windows installer received an important bugfix on 5 June 2016. | |
2.8.18 | 2016-07-14 | Vulnerability (CVE-2016-4994) fixed in XCF loading code. Various bugfixes. | |
2.8.20 | 2017-02-01 | Various bugfixes. Windows and macOS versions released on 7 February. | |
2.8.22 | 2017-05-11 | Various bugfixes. | |
2.10 | 2.9.2 | 2015-11-27 | First dev release in the 2.9.x series. GEGL port. New and improved tools. File format support improvements. Better color management. Layers blending improvements. Metadata improvements. |
2.9.4 | 2016-07-13 | Second dev release in this series. New UI, usability improvements, new themes. Better color management. GEGL improvements. Various other improvements and bugfixes. | |
2.9.6 | 2017-08-24 | Third dev release. Various performance improvements and bugfixes. | |
2.9.8 | 2017-12-12 | Fourth and final dev release. On-canvas gradient editing. Wayland support (Linux). GUI and usability improvements. File format support improvements. | |
2.10 | 2018-04-27 | Nearly fully ported to GEGL, including for filters. New color management. Various improved tools. New image formats (OpenEXR, RGBE, WebP, HGT). Basic HiDPI support. New themes. Various bug fixes. | |
2.10.2 | 2018-05-20 | Various bugfixes. | |
2.10.4 | 2018-07-04 | Simple horizon straightening. Asynchronous fonts loading. Various bugfixes. | |
2.10.6 | 2018-08-19 | Vertical text layer. New filters. Various bugfixes. | |
2.10.8 | 2018-11-08 | Various bugfixes. | |
2.10.10 | 2019-04-07 | Line art detection. GEGL improvements. Various bugfixes. | |
2.10.12 | 2019-06-12 | Various bugfixes. | |
2.10.14 | 2019-10-31 | File format improvements (HEIF, TIFF, PSD). MacOS compatibility improvements. Various bugfixes. | |
2.10.16 | — | Unreleased version. Re-released as 2.10.18 with a critical bugfix. | |
2.10.18 | 2020-02-24 | New 3D transform tool. Various bugfixes. No macOS port. | |
2.10.20 | 2020-06-11 | Various bugfixes. No macOS port. | |
2.10.22 | 2020-10-07 | Improved HEIC support. AVIF support improvements. Various bugfixes. MacOS version released on 25 December. | |
2.10.24 | 2021-03-29 | File format improvements (HEIF, PSP, TIFF, JPEG, PNG, PDF, DDS, BMP, PSD). "Negative Darkroom" for negatives.[35] Many bugfixes. | |
2.10.26 | — | Unreleased version. Re-released as 2.10.28 with a critical bugfix. | |
2.10.28 | 2021-09-18 | Various bugfixes. | |
2.10.30 | 2021-12-21 | File format improvements (PSD and AVIF). MacOS improvements backported from 2.99.8. Other improvements. | |
2.10.32 | 2022-06-14 | Features backported from 2.99.8, like TIFF support improvements and JPEG XL support. Various bug fixes and improvements. | |
2.10.34 | 2023-02-27 | Features backported from 2.99.14. File format improvements. Template selector in Canvas Size dialog backported from 2.99.6. Improved color-picking. Various macOS improvements. GEGL and babl improvements. Experimental ARM builds for Windows.[36] | |
2.10.36 | 2023-11-05 | Support for ASE and ACB palettes. FG to transparent transition. Better image ratio support for GIFs. Various bugfixes and other enhancements. | |
2.10.38 | 2024-05-05 | Features backported from 2.99.x. Improved support for Windows tablets. Various bugfixes. Possibly the last release in the GIMP 2 series. | |
Legend: Old version, not maintained Old version, still maintained Latest version Latest preview version Future release |
Major version | Minor version | Initial release | Significant changes and notes |
---|---|---|---|
3.0 | 2.99.2 | 2020-11-06 | |
2.99.4 | 2020-12-25 | ||
2.99.6 | 2021-05-08 | ||
2.99.8 | 2021-10-20 | ||
2.99.10 | 2022-02-25 | ||
2.99.12 | 2022-08-27 | ||
2.99.14 | 2022-11-18 | ||
2.99.16 | 2023-07-09 | ||
2.99.18 | 2024-02-21 | ||
3.0.0-RC1 | TBA | ||
3.0 | TBA | Complete port from unmaintained old GTK+ 2.x to maintained GTK+ 3.24[37] or GTK 4.0, better hiDPi and Wacom support, Wayland support on Linux, multiple layer selection support, extensions in Python 3, JavaScript, Lua and Vala. 2.99.8 is available as the 4th public prerelease.[38] (after 2.99.2,[39] 2.99.4,[40] and 2.99.6[41]) 2.99.10 is fifth prerelease with many improvements in core.[42] 2.99.12 is 6th release and a huge milestone to 3.0 with many new features and new formats.[43][44] XCF saving of native GIMP data is in 2.99.14 much improved with multi threading.[45] many improvements and bug fixing in 2.99.16 on road to 3.0[46][47] 2.99.18 with 35 issues possibly last preview to 3.0 [48]
Some blocker bugs: 6 (as of November 2023[update]) on road to 3.0.[49] | |
3.0.2 | TBA | ||
3.2 | 3.2 | TBA | Non-destructive editing, non-destructive filters, animation and multi page support, macros with script recording, extensions, space invasion, canvas and tools are main points.[50][51][52] |
Legend: Old version, not maintained Old version, still maintained Latest version Latest preview version Future release |
The current version of GIMP works with numerous operating systems, including Linux, macOS and Windows. Many Linux distributions, such as Fedora Linux[53] and Debian,[54][55] include GIMP as a part of their desktop operating systems.
GIMP began to host its own downloads after discontinuing use of SourceForge in 2013.[56] The website later repossessed GIMP's dormant account and hosted advertising-laden versions of GIMP for Windows.[57]
In 2022, GIMP was published on the Microsoft Store for Windows.[58]
Lifewire reviewed GIMP favorably in March 2019, writing that "[f]or those who have never experienced Photoshop, GIMP is simply a very powerful image manipulation program," and "[i]f you're willing to invest some time learning it, it can be a very good graphics tool."[59]
GIMP's fitness for use in professional environments is regularly reviewed; it is often compared to and suggested as a possible replacement for Adobe Photoshop.[60][61]
GIMP 2.6 was used to create nearly all of the art in Lucas the Game, an independent video game by developer Timothy Courtney. Courtney started development of Lucas the Game in early 2014, and the video game was published in July 2015 for PC and Mac. Courtney explains GIMP is a powerful tool, fully capable of large professional projects, such as video games.[62]
The single-window mode introduced in GIMP 2.8 was reviewed in 2012 by Ryan Paul of Ars Technica, who noted that it made the user experience feel "more streamlined and less cluttered".[63] Michael Burns, writing for Macworld in 2014, described the single-window interface of GIMP 2.8.10 as a "big improvement".[64]
In his review of GIMP for ExtremeTech in October 2013, David Cardinal noted that GIMP's reputation of being hard to use and lacking features has "changed dramatically over the last couple years", and that it was "no longer a crippled alternative to Photoshop". He described GIMP's scripting as one of its strengths, but also remarked that some of Photoshop's features – such as Text, 3D commands, Adjustment Layers and History – are either less powerful or missing in GIMP. Cardinal favorably described the UFRaw converter for raw images used with GIMP, noting that it still "requires some patience to figure out how to use those more advanced capabilities". Cardinal stated that GIMP is "easy enough to try" despite not having as well developed documentation and help system as those for Photoshop, concluding that it "has become a worthy alternative to Photoshop for anyone on a budget who doesn't need all of Photoshop's vast feature set".[65]
The user interface has been criticized for being "hard to use".[66]
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.[67] Also, as of 2024 and version 2.10, a fundamental and essential difference between GIMP, on one hand, and major commercial software like Photoshop and Serif Affinity Photo, on the other, is that very few of GIMP's editing operations occur as non-destructive edits, unlike the main commercial software.
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 (hue, saturation, value) are supported this way.[68][69] 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.
GIMP selection tools include a rectangular and circular selection tool, free select tool, and fuzzy select tool (also known as magic wand). 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 (SIOX), 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 (also known as Bézier curves). Users can use paths to create complex selections, including around natural curves. They can paint (or "stroke") the paths with brushes, patterns, or various line styles. Users can name and save paths for reuse.
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:
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 (analogous to a transparency) is called a layer.[70] 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 (or layer mask). 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.[71]
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.[72][73]
GIMP has approximately 150 standard effects and filters, including Drop Shadow, Blur, Motion Blur and Noise.
GIMP operations can be automated with scripting languages. The Script-Fu is a Scheme-based language implemented using a TinyScheme interpreter built into GIMP.[74] GIMP can also be scripted in Perl,[75][76] Python (Python-Fu),[77][78] or Tcl, using interpreters external to GIMP.[79] New features can be added to GIMP not only by changing program code (GIMP core), but also by creating plug-ins. These are external programs that are executed and controlled by the main GIMP program.[80][81] MathMap is an example of a plug-in written in C.[citation needed]
There is support for several methods of sharpening and blurring images, including the blur and sharpen tool. The unsharp mask tool is used to sharpen an image selectively – it sharpens only those areas of an image that are sufficiently detailed. The Unsharp Mask tool is considered to give more targeted results for photographs than a normal sharpening filter.[82][83] The Selective Gaussian Blur tool works in a similar way, except it blurs areas of an image with little detail.
GIMP-ML is an extension for machine learning with 15 filters.[84]
The Generic Graphics Library (GEGL) was first introduced as part of GIMP on the 2.6 release of GIMP. This initial introduction does not yet exploit all of the capabilities of GEGL; as of the 2.6 release, GIMP can use GEGL to perform high bit-depth color operations; because of this, less information is lost when performing color operations.[85] When GEGL is fully integrated, GIMP will have a higher color bit depth and better non-destructive work-flow. GIMP 2.8.xx supports only 8-bit color, which is much lower than digital cameras, e.g., produce (12-bit or higher). Full support for high bit depth is included with GIMP 2.10. OpenCL enables hardware acceleration for some operations.[86]
CTX is a new rasterizer for vector graphics in GIMP 3.0. Some simple objects, like lines and circles, can be reduced to vector objects.[87][88]
GIMP supports importing and exporting with a large number of different file formats.[89] GIMP's native format XCF is designed to store all information GIMP can contain about an image; XCF is named after the eXperimental Computing Facility where GIMP was authored. Import and export capability can be extended to additional file formats by means of plug-ins. XCF file size is extended to more than 4 GB since 2.9.6 and new stable tree 2.10.x.[citation needed]
File formats | |
---|---|
Import and export | GIMP has import and export support for image formats such as BMP, JPEG, PNG, GIF, TIFF[90] and HEIF,[91] along with the file formats of several other applications such as Autodesk flic animations, Corel PaintShop Pro images, and Adobe Photoshop documents. Other formats with read/write support include PostScript documents, X bitmap image, xwd, and Zsoft PCX. GIMP can also read and write path information from SVG files and read/write ICO Windows icon files. |
Import only | GIMP can import Adobe PDF documents and the raw image formats used by many digital cameras, but cannot save to these formats. An open source plug-in, UFRaw (or community supported fork nUFRAW), adds full raw compatibility, and has been noted several times for being updated for new camera models more quickly than Adobe's UFRaw support. |
Export only | GIMP can export to MNG layered image files (Linux version only) and HTML (as a table with colored cells), C source code files (as an array) and ASCII art (using a plug-in to represent images with characters and punctuation making up images), though it cannot read these formats. |
Because of the free and open-source nature of GIMP, several forks, variants and derivatives of the computer program have been created to fit the needs of their creators. While GIMP is cross-platform, variants of GIMP may not be. These variants are neither hosted nor linked on the GIMP site. The GIMP site does not host GIMP builds for Windows or Unix-like operating systems either, although it does include a link to a Windows build.
GIMP's functionality can be extended with plugins. Notable ones include:
It took us a little while to come up with the name. We knew we wanted an image manipulation program like Photoshop, but the name IMP sounded wrong. We also tossed around XIMP (X Image Manipulation Program) following the rule of when in doubt prefix an X for X11 based programs. At the time, Pulp Fiction was the hot movie and a single word popped into my mind while we were tossing out name ideas. It only took a few more minutes to determine what the 'G' stood for.
LinuxWorld: Why did you write GTk as part of GIMP? Mattis: The original version of the GIMP (0.5) used Motif.