
As you may be aware, Krita doesn't have any built-in method to create a long shadow effect yet, but graphic designers love to use long shadows for all sorts of things, and even GIMP has a long shadow filter. For a moment I thought: oh no, that means Krita is worse than GIMP, how could that be? I couldn't allow that to happen, so I decided to create my own long shadow effect using only Krita's built-in layer types and masks.
For the record: I'm not saying you should do it this way. You should probably just use Photopea instead because it has this effect built-in. What I am saying is that if you ask me whether Krita can create a long shadow effect, I'll tell you that it can, because I made one with Krita. If you really want to keep things in Krita, I recommend creating a separate document just for this effect, and then copy pasting the result.
This method works for infinite long shadows, so long as you have infinite RAM.
To create an infinite diagonal long shadow effect in Krita, follow the following steps:
1: create a simple project structure for our filter, by placing the layer or layer group you want to apply the long shadow effect to inside a group layer called "Source," cloning the "Source" group layer, and placing it inside a separate layer group below the Source called Effect. In this example, we'll be adding the long shadow effect to a piece of text, so it starts like this:
Source
- Text
Effect
- Clone of Source
2: add a Color Overlay layer style effect to the Effect group, and make it change the color of all pixels in the group to black. This will be your shadow color. If you don't want black, choose a different color.
3: Using the Move tool, move the Clone of Source 1 pixel to the right, and 1 pixel to the bottom. You want to use the Move tool for this, NOT the Transform tool. You can move the layer pixel by pixel by using the arrow keys, although you probably want to familiarize yourself with the Tool Options docker for the Move tool, since you can directly change the position of the layer by typing its X, Y coordinates in there.
4: create a clone layer of Clone of Source, place it right above Clone of Source, and move it 1px to the right, and 1px to the bottom.
You should have a very not-long long shadow now. What we are going to do is essentially repeat this process a dozen times until we have a long shadow long enough to be called a long shadow.
Unfortunately, there is one tiny problem.
If we simply keep cloning the source and moving it 1 pixel by 1 pixel, not only is this insanely tedious, it's also going to eat through all our RAM very quickly.
We need to optimize the memory consumption of our long shadow program, and fortunately there is one simple trick we can use to achieve this.
5: rename the second clone layer to "+1px."
6: place both the first clone layer and the second clone layer inside a group layer, and call the group layer "2px."
7: create a clone layer of "2px," call it "+2px," and move it 2 pixels to the right and 2 pixels to the bottom.
Effect
- +2px (Clone of 2px)
- 2px
--- +1px (Clone of Clone of Source)
--- Clone of Source
8: select both 2px and +2px and place it in a group called 4px, clone 4px, call the clone +4px, move the clone 4px to the right and to the bottom, and then repeat this process until you have a long shadow long enough.

Now if you edit the source, the whole drop shadow effect is going to be redrawn automatically.
It's just going to take two whole minutes to render it.
And for the record it takes 879.3 mebibytes just to render a 512px long shadow of a piece of text for me. This is most bloated long shadow ever made. It's probably more efficient to do in Minecraft than in Krita.
Note: it seems upon reloading it takes only 54.3 mebibytes, so maybe it's not that bad! It still takes ages to render, though.
But it's doable, for free, locally, non-destructively, and, most importantly, in Krita, not in GIMP, and that's what really matters.
On the minus side, you can't really make it any other angle than diagonal, but on the plus side, nobody ever makes it any other angle other than diagonal.
Tip: you can make your drop shadow effect cooler by removing the Color Overlay effect from the topmost layer and adding different color overlays to different layers. If you add them to the 2px level, the color alternates every 2px. In this case, you might want to change the order of the layers so that the "+" clones are under their clonee's, otherwise the effect will appear inverted.
Tip: if you want to make edits to the drop shadow, it might be a good idea to make some of the clone layers invisible first so that Krita doesn't spend 2 minutes rendering the effect every time you touch anything.
Hybrid Method Using a Vector Layer
There is an alternative method you can use which is not non-destructive but gets the job done using less resources.
First you use the method above for a few pixels to figure out the direction shadow, then you use a vector layer to create the shadow using a shape. Simply start by tracing over the shadow and then extend it while keeping the shape aligned to the first pixels.