Graphic Design Stack Exchange is a question and answer site for Graphic Design professionals, students, and enthusiasts. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have an white icon that needs to be colorized to a specific color. How do I do it in GIMP?

Keep in mind that it has semi transparent borders and transparent background, so using the bucket or selections is a no-go.

Also, I would appreciate if someone could extend the answer to "how to paint something that's has transparent borders without tools that use thresholds?", as this has been a question to me for a long time, and I really hate non seamless alternatives, like thresholds and feathering.

This is the icon:

share|improve this question
Presuming that this tool works the same way it does in photoshop: ( and then just go crazy with the hue slider... ) – Joonas May 13 '13 at 7:33
That will not change white colors. And nevertheless, I need something that colorizes to a specific color. Trial and error is not an option =( – esauvisky May 13 '13 at 7:40
Can you give us an example of the icon as it is, and of what you'd (approximately) want it to look like? It's kind of hard to tell from your description what you actually mean. (I'm visualizing a white shape on a transparent background, but I suspect that's not what you really mean.) In any case, I suspect that the answer will involve layer masks, and possibly Color to Alpha, but it's hard to be sure. – Ilmari Karonen May 13 '13 at 18:18
It is indeed white shape on transparent background. I'll edit the post. – esauvisky May 14 '13 at 5:12

Just use Colors->Map->Color Exchange. Then select white as "From color" and whatever you want to change it to as "To color". Here as an example I changed your picture to red:

red logo

share|improve this answer
This is indeed a nice feature, however it doesn't works that well with gradients and fuzzy borders, even when using thresholds. I'm using another approach, which isn't perfect either, but I'll post it as an answer anyways. – esauvisky Jul 14 '13 at 19:27
@esauvisky Maybe you should post the icon you actually want to manipulate then. As you can see, for the example you had it worked pretty much perfectly. – Christian Jul 14 '13 at 20:54

What you want to do is change the color of the image while keeping the transparency intact. The solution is simple: turn the transparency into a layer mask.

Specifically, with your example image, follow these steps:

  1. Open the image in GIMP. Change the color mode to RGB (Image → Mode → RGB).

  2. Convert the transparency to a layer mask (Layer → Mask → Add Layer Mask..., choose "Transfer layer's alpha channel" in dialog).

  3. By default, you'll be editing the layer mask after adding it. Switch to editing the layer content either using the menu (uncheck Layer → Mask → Edit Layer Mask) or simply by clicking the left thumbnail in the Layers dialog.

  4. Paint whatever color of texture you want the logo to have over the layer content, e.g. using the Bucket Fill tool (with "Fill whole selection" selected).

  5. Save the result as PNG, optionally after reapplying the layer mask (Layer → Mask → Apply Layer Mask). If you don't apply the mask, GIMP will do it automatically when exporting to PNG (and will pop up a dialog saying so).

Depending on what you paint over the layer content, the result might look something like, say, one of these images:

Red RGB plasma Landscape

share|improve this answer

The best way I've found to do it is using HSV and Colors->Colorize, but it's still imperfect:

  1. Grab the Hue and Saturation values for the color you want.
  2. Go to Colors->Colorize and set Hue and Saturation to these values.
  3. Manually fiddle with Lightness until it reaches the color you want.

At least this way you avoid color and border artifacts.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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