I have the outline of an icon to which I want to apply a 3D effect to match macOS system icons.

I have experimented with filters, but they all come out pretty bad. So far I have used an inner shadow.

Anyone has an idea how to find a suiting filter for that effect? (On macOS some filter preview seems not to work:/)

I know how to apply some blur effects by hand, but it would be nice to have a one-for-all filter solution.


enter image description here


Any ideas are welcome!


1 Answer 1


Here's my attempt at replicating this style with custom filters created by using Inkscape's filter editor:

Replicated Icon

First give your shape a gradient so that approximately one third at the top is fully white, then fades to gray towards the bottom like this:

First Gradient Example

Now open the 'Filters → Filter Editor...' panel, add a new filter and apply it to the shape by checking the box next to the filter name.

On the right add a 'Morphology' effect and connect the triangle to 'Source Alpha' instead of 'Source Graphic'. In the parameters keep the 'Operator' at 'Erode' and set a radius of about '6.5'. Add an 'Offset' effect and set the 'Delta Y' slider to '-15'. Then add a 'Composite' effect, connect the upper triangle to the 'Morphology' element and set the 'Operator' to 'Out'.

It should now look like this (ignore the 'filter2005', that's just the drop-shadow of the background):

Partial Reflection Filter Example

Next add a 'Gaussian Blur' effect with the 'Standard Deviation' slider set to '9'. Finally add another 'Composite' element, connect the upper input to 'Source Graphic' and set the 'Operator' to 'Out' again.

Now you should have this:

Reflection Filter Example

Duplicate your shape with Ctrl-D and use 'Filters → Remove Filters' to get a solid shape again. Edit the gradient so that the upper two thirds are solid gray, then fades to white this time:

Second Gradient Example

Create and apply another filter in the filter editor, add an 'Gaussian Blur' with 'Standard Deviation' of 10 and another 'Composite' effect with the upper input connected to 'Source Graphic' and 'Operator' set to 'Out' again.

That should result in this:

Inset Shadow Filter

Lastly add a drop-shadow by duplicating the shape again (Ctrl-D), removing all filters, setting the fill to solid black this time and lowering it on the z-axis below the two other paths. Change the opacity of the shape to something like 30% and apply another new filter in the editor.

Add a 'Gaussian Blur' with '4' as the parameter, then add an 'Offset' effect with 'Delta Y' of positive '4'. Since we don't want the black to show through the "reflection", finally add the last 'Composite' with 'Out' effect, this time connecting the lower input to 'Source Graphic'.

What it should look like now:

Dropshadow Filter

And that's it. Once you've done it once, you can apply the same filters and linear gradients to many other objects. You just need to stack three duplicates and maybe adjust the gradients to fit the new shapes.

You can check out this file here. Right-click the 'Raw' button and save-as to open it inside Inkscape and play around with the parameters.

  • Wow great stuff!! Commented Dec 9, 2021 at 12:16

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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