Replace individual colors in multiple layers

The goal

Replace individual colors in a multi-layer Photoshop document in a way that is flexible and efficient enough to be done a multiple times in the production process—like when I need to update the colors or edit layer content. I have a palette of 5-10 colors used in many different layers (all layers are multi-color raster images), and I want to be able to arbitrarily replace them, without having to do a lot of manual work each time.

Is it possible to do this with adjustment layers (or anything else)?

How I tried and failed to do this with Adjustment Layers

Idea #1: For each color you want to replace, add a Replace color adjustment layer, configured to replace the old color with the new color.

Problem: There is no Replace color adjustment layer (as of CS6).

Idea #2: For each color you want to replace, add a color-changing Adjustment Layer (such as Hue/Saturation) with a Color range mask selecting the old color (let’s assume it’s yellow).

Problem: As soon as you add/move/recolor anything yellow in the layers below, the mask will no longer be accurate. The mask does not dynamically select yellow—it just stays the same as it was when you set it up. (I don’t know if it’s even possible to make a dynamically updating mask that’s tied to the content of lower layers, but I would love to hear how if it is.) So, if you want the mask to be updated, you have to manually update it. This tediousness is what I’m trying to avoid.

Is there a way to do this sort of color replacement, using adjustment layers, masks, or any other technique, like actions or scripts?


Here’s one way to achieve this:

  1. Use Select > Color Range (after this you can Save selection to keep this mask if you want)
  2. Create a new layer on top of all other layers with the color you want to replace, name the new layer something like ‘color overlay – blue’
  3. Use Paint Bucket to fill the color selection in the new layer

Now you have a color overlay layer for the color you wanted to replace, Also, when you select this layer and then Select > All, you will have the same mask you had when you used Color Range at the beginning of the process (i.e. you can use this layer to quickly overlay any color you want)

Source : Link , Question Author : supertrue , Answer Author : ckpepper02

Leave a Comment