Gimp

gimp.org
Gimp Icon

A free, open source, cross-platform image editor. GIMP is a powerful tool for photo retouching, image composition, and image authoring. It is highly customizable, and supports a wide range of file formats.

Open Source

Gimp Source Code

Author

GNOME

Description

Read-only mirror of https://gitlab.gnome.org/GNOME/gimp

Homepage

https://gitlab.gnome.org/GNOME/gimp

License

NOASSERTION

Created

03 Jun 12

Last Updated

26 Feb 26

Latest version

soc-2012-unified-transform-before-gsoc

Primary Language

C

Size

831,271 KB

Stars

5,983

Forks

850

Watchers

5,983

Language Usage

Language Usage

Star History

Star History

Recent Commits

  • Alx Sa (18 Feb 26)

    path: Add gimp_vector_layer_convert () When we copy and paste a vector layer, we need to reattach its path to the (potentially) new image. Similar to what we did for NDE filters in 8db97f4e, we convert the existing path if necessary before continuing with the gimp_item_convert () process. This prevents several CRITICALs, for instance when copying a group that contains vector layers rather than the vector layers directly.

  • Jehan (25 Feb 26)

    Revert "Issue #15824: waterpixels filter on a selection appears to hang GIMP." This reverts commit d91a8b2abec31a52071cb0956580375ae9c25992. As reported by Liam on #15824, this commit was clearly wrong and reintroduced the old cropping bug with multiple filters. Reverting. The next commit was likely good, though the real hanging bug is β€” as far as my test go β€” in the GEGL op itself. This second commit 75e665f0ed was improving things, but obviously, as the bug is still in the op, it can still be triggered. We'll have to fix the source bug next.

  • Alx Sa (24 Feb 26)

    dialogs: Replace custom widget in Path Export dialog This patch replaces adding a custom widget to the Path Export dialog with a built-in combobox from gtk_file_chooser_add_choice (). This makes our code more compatible with a future port to native file dialogs in GTK3, without a loss of functionality.

  • Alan Mortensen (25 Feb 26)

    Update Danish translation

  • Alan Mortensen (25 Feb 26)

    Update Danish translation

  • Bruno Lopes (24 Feb 26)

    libgimp: Set _NT_SYMBOL_PATH for plug-ins when relocatable This concludes 63f5ea9d by adding support to CodeView symbols from plug-ins with DrMingw. (Should not be needed but DrMingw is buggy).

  • Bruno Lopes (25 Feb 26)

    .gitlab: Update security template

  • Jehan (25 Feb 26)

    Issue #15824: better detect the first filter. Ah my previous commit was working fine with a selection in the "Use the selection as input" case, but was still hanging when "Use the entire layer as input" was chosen. The detection of whether we were the first filter was not working fine when adding a new filter. Now this should work in all cases. I don't revert the previous commit, because I think it's fine anyway. When we have a selection, unconditionally adding a cropping-before node on the selection boundaries seems logical to me. Hopefully it doesn't bring back any of the cropping issues we had on filters, but so far I could not reproduce any.

  • Jehan (25 Feb 26)

    Issue #15824: waterpixels filter on a selection appears to hang GIMP.

  • Bruno Lopes (25 Feb 26)

    .gitlab: Remove .testing subdomain from URLs The updated bug report pages were merged on master branch of WGO.

  • Jehan (25 Feb 26)

    plug-ins: also introspect libgimpui enum values into Script-Fu. Since libgimpui also use GIMP_ as prefix in C, we won't ever have name clashing with libgimp, so I also remove this prefix in Script-Fu. E.g. GIMP_ASPECT_SQUARE is ASPECT-SQUARE in Script-Fu.

  • Alx Sa (24 Feb 26)

    text: Reverting 03443ffc Resolves #11409 After Jehan's update to gimp_drawable_filter_refresh_crop () in 0157a958, it no longer calls the cropping functions which this commit was intended to work around. Additionally, thanks to other changes in the filter code since then, reverting this commit resolves an issue where some Render filters would not update as you typed more characters.

  • Jehan (24 Feb 26)

    NEWS: update.

  • Jehan (24 Feb 26)

    Issue #13368: pressure curve is missing from the GimpDeviceInfoEditor. This was happening on Wayland in my tests, and apparently on Windows too, according to the report. I widely simplified the code. Now we don't list of axis anymore, and therefore we don't allow to change these (which was not working anyway, for as long as I remember, at least on Linux, both X11 and Wayland). As for the pressure curve, we just show it unconditionally for any device of type "Pen". It may mean that it might show on some rare stylus devices with no pressure support, but in such case, it will just be a bogus curve (it won't break the device). And then we'll avoid all the flimsy heuristic trying to guess if a device is supposed to have pressure sensitivity, which especially became bad in Wayland as we have this information only on proximity. It means that if you don't approach the stylus and were trying to set up your pen's pressure curve with a mouse, no curve would appear! Add to this that gdk_device_list_axes() seems very broken on Wayland and was always returning GDK_NONE for all axis (even when only using it on various device signal handlers, per advices by Carlos on IRC), at least anyhow I tried to make it work, our heuristic to detect when an axis should be ignored was completely broken on Wayland as well. A simpler logic should work better and makes the code simpler to read too. It's also one less usage of GtkListStore, which is good for future GTK versions where it got deprecated!

  • Alx Sa (23 Feb 26)

    core: Update filter area if changed Previously, we only updated an NDE filter's `filter_area` if the filter itself contained a width or height property. However, the filter_area is also used by GimpDrawableFilter to indicate where we should draw the filter, and needs to be updated if we scale/rotate/shear the layer and change its dimensions. This patch moves the code so that the filter_area width and height is always updated if we pass a GeglRectangle in to gimp_drawable_filter_refresh_crop ().

  • Bruno Lopes (24 Feb 26)

    build/linux: Explain a bit type2-runtime peculiar check

  • Bruno Lopes (24 Feb 26)

    build/linux: Add comment about colored output on Flatpak

  • Jehan (24 Feb 26)

    app: make explicit that "White Balance" auto effect works in linear space. This commit doesn't actually changes anything, but it fixes the gimp_histogram_new() call, since the argument is supposed to be a GimpTRCType, not a boolean. Yet GIMP_TRC_LINEAR is the first value in the enum type, so it's indeed the same as FALSE. I also set the "trc" property to "gimp:levels" config object explicitly, to the same TRC value as the histogram, so that this doesn't depend on the default anymore (which is linear too, right now; so this part doesn't change a thing here again), and therefore would survive to any possible default change in the future. Note that it was considered to set this all to non-linear, just as it used to be in 2.10, as requested in #15738. After discussing it with Øyvind on IRC, we concluded that working in linear space may be a nicer default for this feature, as we'd be doing a "meaningful rebalancing of photon count per component". Now there may be cases where doing a white-balancing in non-linear may yield better result, of course. For these case, you may still go to "Levels", set to non-linear, and hit "Auto Input Levels". This is exactly the same code runing (but in non-linear space). The "White Balance" action still needs to be the simple non-GUI option and keeping work in linear seems like the more appropriate default here.

  • Alx Sa (23 Feb 26)

    widgets: Hide move handle in Text Editor window Since the Text Editor window uses the same GimpTextStyleEditor widget as the on-canvas editor, it also shows the Move handle (which doesn't work in the Text Editor window). This patch simply hides it so it doesn't confuse users.

  • Alx Sa (23 Feb 26)

    plug-ins: Fix warning in Qbist dialog_save () It is possible for qbist_info.path to be NULL, which makes gtk_file_chooser_set_filename () throw a warning about a NULL filename in save_dialog (). This patch adds the same guard to that call as QBist already has in load_dialog (), to make sure we have an existing file name before trying to set it.

  • Bruno Lopes (22 Feb 26)

    build/linux: Update openexr and libwmf modules

  • Alx Sa (22 Feb 26)

    core: Adjust logic for gimp_drawable_filter_refresh_crop () In 0157a958, we prevent the NDE crop refresh code from running unless the filter's crop enabled is TRUE. However, this prevents the width and height settings built into certain filters from running, separate from the crop nodes in GimpDrawableFilter. This patch moves the check to only cover the calls to gimp_drawable_filter_set_crop (). This should fix the width/height update issue without causing a regression to #14442.

  • Bruno Lopes (22 Feb 26)

    .gitlab: Update performance template

  • Bruno Lopes (22 Feb 26)

    .gitlab: Update feature template From https://gimp.org/bugs/report.html: > Related to bug reports are enhancement requests. It is recommended to discuss enhancements with developers first, for instance on IRC or in the forums. This is to make sure that the enhancement requests that are filed are well-specified and aligned with the overall goals the developers have for GIMP.

  • Bruno Lopes (22 Feb 26)

    .gitlab: Detailed report instructions were moved to gimp-web See: https://gitlab.gnome.org/Infrastructure/gimp-web/-/commit/d2c4038abdf3f118596b0d434edd804a9f9a28bd Our practice of writing everything on the template made the page on gimp-web fall into oblivion. This was suboptiomal since the template got very big and hard to read, with many reporters not filling it at all. So, let's try to improve cleaning the template and directing them to gimp-web, which have images and such that should clarify how to make good reports.

  • Alx Sa (21 Feb 26)

    core: Fix GEGL warning after bucket fill In 6279d7b7, I did not free the GEGL buffer created by gimp_pickable_get_buffer_with_effects (). This resulted in an "EEEEeEeek! 1 GeglBuffers leaked" warning on exit, which of course could cumulate. This patch makes to sure to clear out the src_buffer both times it's used.

  • Bruno Lopes (21 Feb 26)

    gitlab-ci: Only push image to Registry if it was changed This is pretty obvious and will speed up Snap builds a bit, since the Ubuntu/Snap image is the biggest on Container Registry.

  • Bruno Lopes (21 Feb 26)

    gitlab-ci: Build Docker images without OCI runtime chroot is closer to how Kaniko behaved and it is how the FD ci-templates behave on gimp-web and gimp-web-devel CI.

  • Alexander Alexandrov Shopov (21 Feb 26)

    Update Bulgarian translation

  • Alexander Alexandrov Shopov (21 Feb 26)

    Update Bulgarian translation

Gimp Website

Website

GIMP - GNU Image Manipulation Program

GIMP - The GNU Image Manipulation Program: The Free and Open Source Image Editor

Redirects

Does not redirect

Security Checks

All 65 security checks passed

Server Details

  • IP Address 151.101.65.91
  • Location San Francisco, California, United States of America, NA
  • ISP Fastly Inc.
  • ASN AS54113

Associated Countries

  • US
  • FI

Safety Score

Website marked as safe

100%

Blacklist Check

www.gimp.org was found on 0 blacklists

  • ThreatLog
  • OpenPhish
  • PhishTank
  • Phishing.Database
  • PhishStats
  • URLhaus
  • RPiList Not Serious
  • AntiSocial Blacklist
  • PhishFeed
  • NABP Not Recommended Sites
  • Spam404
  • CRDF
  • Artists Against 419
  • CERT Polska
  • PetScams
  • Suspicious Hosting IP
  • Phishunt
  • CoinBlockerLists
  • MetaMask EthPhishing
  • EtherScamDB
  • EtherAddressLookup
  • ViriBack C2 Tracker
  • Bambenek Consulting
  • Badbitcoin
  • SecureReload Phishing List
  • Fake Website Buster
  • TweetFeed
  • CryptoScamDB
  • StopGunScams
  • ThreatFox
  • PhishFort

Website Preview

Gimp Reviews

More Image Editors

About the Data: Gimp

API

You can access Gimp's data programmatically via our API. Simply make a GET request to:

https://api.awesome-privacy.xyz/creativity/image-editors/gimp

The REST API is free, no-auth and CORS-enabled. To learn more, view the Swagger Docs or read the API Usage Guide.

About the Data

Beyond the user-submitted YAML you see above, we also augment each listing with additional data dynamically fetched from several sources. To learn more about where the rest of data included in this page comes from, and how it is computed, see the About the Data section of our About page.

Share Gimp

Help your friends compare Image Editors, and pick privacy-respecting software and services.
Share Gimp and Awesome Privacy with your network!

View Image Editors (8)