How to contract a ‘Select All’ selection in Photoshop

Have you ever done a ‘Select all’ in Photoshop, then wanted to contract, or otherwise modify the selection? Did you wonder why most of the commands under the ‘Select’ > ‘Modify’ menu were greyed out? You’re not alone. I find this is a feature that leaves a lot of users scratching their heads and wondering why.

There is a reason, and it was done with good and helpful intention. Here’s a simple example:

Let’s say you wanted to modify the sky in an image. You draw a rectangular selection encompassing the top half of your image and reaching down to the horizon. However you want the horizon edge to be feathered, so you go to ‘Select’ > ‘Modify’ > ‘Feather’ and enter a radius value. What you’ll find is that it’s only the ‘horizon’ edge of the selection – the one that doesn’t touch the edges of the canvas – that is feathered. You can see this feathered edge if you use the ‘Q’ key to toggle in and out of Quickmask mode. If you’d drawn a similar selection – but just inside the edges of the canvas, you’d find your feathering would be applied on all edges of the selection. Try it and see.

So, in summary: if a selection touches an edge, it isn’t modified on that edge*. This behaviour is often helpful – a nice feature when you understand what’s going on.


This behaviour continues to be applied when you ‘select all’. In one sense it’s perfectly logical – ‘select all’ is a selection that touches an edge. But in this case the selection touches all edges – so there are no edges left to modify – so all the modify commands (*border excepted) are greyed out.

In this situation I don’t think this behaviour is helpful – just the opposite in fact. The option to contract a full canvas selection is the obvious one. That’s a handy function – and it’s prevented for no good reason as far as I can see.

So, how can you work around this?

Here’s my recommended solution if you want to contract a ‘select all’ selection:

Hit the ‘Q’ key to switch into Quick mask mode.
[Menu] Select > All
[Menu] Edit > Stroke
In the stroke dialog, enter the ‘desired contract value’ in the ‘width’ field, set the colour to black, and select the ‘inside’ location radio button. Click OK to apply the stroke.
Hit the ‘Q’ key to switch out of Quick mask mode.

You’ve now got a clean contracted selection.

Here’s a simple action to run this method. Enjoy.