Given have two shapes for example. a star (blue) and arrow (no fill). The arrow has a green stroke.

How can I make the portion of the star which is behind the arrow transparent, but retain the green stroke on the arrow?

enter image description here

  • Delete the part of the star that is behind the arrow.
    – Ryan
    Commented Sep 26, 2014 at 20:30
  • 3
    * arrow → chevron
    – nayhem
    Commented Jul 20, 2015 at 7:27

5 Answers 5

  • Hold down the Command/Ctrl key and click the layer thumbnail for the arrow in the Layers Panel. This will load the arrow shape as a selection.

  • Choose Select > Inverse from the menu to invert the selection

  • Highlight the Star layer in the Layers Panel

  • Click the New Mask icon at the bottom of the Layers Panel new mask icon

This creates a mask which hides the portion of the star underneath the arrow shape.

It is difficult to know if the mask will be entirely correct because there are a couple of ways those shapes may have been created. The above assumes they are shape or vector layers. If the arrow is not a shape/vector layer, you may need to then grab a brush and paint black on the mask you just created in the center of the arrow to hide that portion of the star.


It's very Easy so, to make shape subtraction using Photoshop:

  1. draw two shapes (lets take the above example).

  2. make the arrow shape layer above the star shape layer.

  3. make a copy from the arrow layer and make it invisible.

  4. select both layers -visible arrow and the star- with (shift key).

  5. go to the top menu: Layer > Combine Shapes > Subtract Front Shape.

  6. now turn the invisible arrow layer to visible.

  7. Enjoy.


I think a great way to build this would be using a vector mask on a group, with the shape set to subtract — if the bottommost shape on a layer is set to subtract, it will remove the shape and fill to the edge of the canvas.

enter image description here

If you’d like to investigate further, here’s the PSD:

Vector Mask.psd.zip

  • 1
    Just some more information for people like me having two shapes. My solution: 1. Create a group and put both shapes inside. 2. Select the group and hit the "Add Vector Mask" button down right in Photoshop (white circle in rectangle) 3. CTRL-click on the shape you want to substract, so you see the mask selection 4. Fill this mask selection with the black paint bucket. This filling can be seen in the vector thumbnail, black areas from their will be transparent on the shapes. Hope that helps.
    – Avatar
    Commented Jun 27, 2016 at 12:43

As you need both subtraction and preservation of one obejct's stroke I may advice the following:

1. Select the path of your arrow by Path Seletion Tool A and copy it. Now make this shape layer invisible.

2. Go to the star shape layer, pick the P or U tool, and pick the "Subtract Front Shape" path operation (the right dropdown in my screenshot below).

3. Now paste the copied arrow path to this star layer using the Subtractive mode. You'll instantly see the result of this operation and will be able to move and change both of your shapes within one layer.

4. Make the arrow shape layer visible now!

Please let me know whether it was helpful :)

enter image description here


Easiest method (using any image/layer on top of another):

1) Highlight the layer you want to use the shape from (e.g. round shape on top of another) in the Layers panel at bottom right

2) Click the Paths tab at top of this panel (right above your layers at bottom right)

3) Click Make Work Path from Selection button (bottom middle - shaped kind of like a compass)

4) Go back to your layers, and highlight the layer you want to pull from (note: you cannot use background layers for this - simply duplicate layer and hide background, if needed)

5) Go to Paths tab on this layer

6) Right-click on your Work Path and click Make Selection...

7) Click the Delete button on your keyboard

You now have your image!

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