I want to give the middle full opacity but let the border effect that is already existing.


Each layer in GIMP can have the transparency for each pixel specified in two ways, that add to each other:

If you imported a PNG file with transparency, you background layer already has an alpha channel - you can keep that untouched - Just right click on the layerś thumb on the Layers Dialog ctrl + L and pick Add Layer Mask - that way a mask is created. It behaves as a grayscale image, where black means transparency and white means opacity - you can select if you are painting on the actual layer or on its maks by clicking on the respective thumbnails - Just select the mask and paint it gray (by dragging and dropping a shade of gray on the canvas, or using the bucket fill) - and you have extra, prortional transparency for the whole image, without touching the original transparency levels.

Kitten with layer mask active


One option might be to convert a color in your image to transparency:

enter image description here

Go to Layer -> Transparency -> Color to Alpha

This way you can choose exactly what you want to be transparent by making it a certain color and then converting that color to transparency.


If I understand the question, you are starting with a colored area that is partially transparent throughout, but at the outside edges it gradually becomes completely transparent (so the edges appear "feathered" or "anti-aliased"); and you want to make the colored area completely opaque, except for the outside edges, which you still want to gradually become completely transparent, in the same proportion to their original transparency (to retain a similar "feathered" or "anti-aliased" appearance at the edges)?

If so, one way is to duplicate the original layer on top of itself, so that each partially transparent pixel adds to itself proportionally.

  • Since the pixels around the outside edge were originally less opaque than the pixels in the middle, the outside pixels will add to themselves less than the more opaque pixels in the middle.

Create additional duplicates of the original layer until the middle area reaches the desired opacity.

  • But don't add too many duplicate layers, because even after the middle area reaches complete opacity, the outside pixels will continue adding to themselves with each new duplicate layer, until they eventually become completely opaque themselves (and you will lose the "feathered" or "anti-aliased" appearance at the edges).

Note: This method applies to the entire layer, so to apply it to a specific selection, you would need to first move the selection to its own new layer (for example, using Select > Float, then Layer > To New Layer).

Gimp Layers

Before duplicating layers

Approximately 50% transparency in the center of the circle:


After adding 5 duplicate layers

Approximately 0% transparency in the center of the circle (but still with "feathered" or "anti-aliased" edges):


  • Using a layer mask is so much simpler than this.... – xenoid Feb 19 at 0:11
  • Sorry @xenoid, I can't figure out how to increase opacity (decrease transparency) using a layer mask; for me, even with the layer mask completely white (full opacity), the original image retains its 50% transparency from its alpha channel. Can you provide instructions for how to do it? – Chris Tollefson Feb 19 at 2:08
  • It depends how you initialize the mask. If you use Transfer the layer's alpha channel you have full control. If you use other options, this is in addition (multiplication, actually) to the existing alpha, so you cannot increase the opacity. So the quickest method is to transfer the alpha channel, and use Curves/Levels/Brightness-Contrast to alter the channel. – xenoid Feb 19 at 10:33
  • Thanks @xenoid; using Levels > "Auto" on the layer mask (transferred from alpha channel) gave me the desired effect - and I think it's more mathematically accurate too. I know layer masks were mentioned in other answers here, but your suggestion was the key for me, so I think it would make a good answer to the OP's question, if you're willing to post it? – Chris Tollefson Feb 20 at 8:11
  • Posted as an answer... – xenoid Feb 20 at 10:09

Not sure what you mean with "border effect" but here is how to have a transparent senter with a feathered border:

  1. Layer > Transparency > Add Alpha Channel adds a transparent layer to the image if not yet present.

  2. Select area with border effect (here Feather).

  3. Press Del or select Edit > Clear to remove selected area leaving the transparent layer in the background.

    enter image description here

  • I mean the .png I oopen in Gimp already has a good anti-aliasing effect (it's an Android star icon that I try to colorize, never though it would be that complex). I try your solution, brb – Poutrathor Nov 29 '13 at 11:55
  • As far as I understand, your idea is to remove the picture and to keep only the alpha channel layer? Can I add a layer over an image to increase opacity unifomly? – Poutrathor Nov 29 '13 at 12:01
  • Its the other way round: I removed the selection from the image to leave a transparent hole. Anything you paint on that transparent area will become the opacity of the paint tool used. So yes, you can add a layer to that image. – Takkat Nov 29 '13 at 12:09

Changing a transparency is done by editing the layer mask.

  • You create the layer mask with Layer>Mask>Add layer mask
  • If you only want to increase the transparency of some parts initialize the mask to white. What is white in the mask will have the initial opacity, and black will be fully transparent.
  • If you want full control, use the Transfer the layer's alpha channel. White will be fully opaque, and black will be transparent.
  • You can tell if you are editing the mask or the layer by looking as the bottom of the image window, next to the zoom indicator. It will either say {layer name} or {layer name} mask. You can switch between the two by clicking on their preview in the Layer list, or using Layer>Mask>Edit layer mask
  • The mask is a greyscale image that can be edited with the paint tools (brush, bucket, etc...) or any color tool such as Curves, Levels, and Brightness-Contrast, but also other tools and filters (you can render plasma on it, for instance).
  • The selection applies to the tools when editing the mask. The selection being global to the image, you can use on the mask a selection you obtained elsewhere (by editing the layer itself, for instance, or another layer).

For example, to make a partially-transparent area completely opaque in the middle while proportionally increasing the opacity of existing feathered edges:

  1. Activate the layer and add a layer mask to it, initializing the layer mask to "Transfer layer's alpha channel".

    • Layer > Mask > Add Layer Mask > Transfer layer's alpha channel
  2. Make sure the layer mask is activated for editing.

    • Layer > Mask > ✓ Edit Layer Mask (selected)
  3. Select the area of the layer where the transparency is to be modified.

  4. Use the "Levels" tool to automatically scale the selection in the layer mask proportionally from black to white (thereby scaling the selection's transparency from fully transparent to fully opaque).

    • Colors > Levels > Auto

If your goal is to adjust the alpha levels only, while keeping colors and relative opacity, do this:

  • Create a selection. For example, select by color with a threshold
  • Colors > Levels
  • Select Channel: Alpha
  • Adjust the output sliders. The image will be adjusted immediately. For example, to decrease relative opacity, grab the slide the solid white triangle left.

Tested in gimp 2.10.8

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.