A downloadable extension for Windows, macOS, and Linux

Download NowName your own price

FX is a collection of effects for Aseprite packed into an extension. They can be found under Edit > FX and include:

  • Drop Shadow
  • LCD Screen
  • Neon*
  • Parallax**

This effect works only for a single cel/frame

** Please beware that opening multiple long animations in Aseprite can fill up RAM and cause it to crush


The effect dialog window is slipt into separate sections:

  • Distance - dictates for far is the layer from a virtual camera, the higher the distance, the slower the layer will move.
    Note: Using fractions will make a layer go faster, while negative values will make the layer move in the opposite direction.
  • Movement - dictates how fast the layers will move on both axes, before correcting for distance.
  • Preview - a slider that shows how layers will move in subsequent frames.
  • Output - dictates parameters applied to the output sprite, e.g. the number of frames.

See also

PlatformsWindows, macOS, Linux
Rated 5.0 out of 5 stars
(11 total ratings)
AuthorKacper Woźniak
TagsAseprite, Effects, extension, fx, gfx, Pixel Art, plugin, script


Download NowName your own price

Click download now to get access to the following files:

FX v2.0.1 11 kB
FX v2.0.0 11 kB
FX v1.0.0 6 kB

Development log


Log in with itch.io to leave a comment.

(1 edit) (+1)

first of all thanks for making such a perfect plugin! could you post the details of the maths behind the parallax layer speeds please? im trying to figure out how to balance layers so everything comes back to the same starting point, but ive not worked out how the speeds and the image size need to divide to make this happen.

i think ive got it. is it: (global speed)  ÷ (local speed) = pixels moved per frame?

It works exactly as you described, I’m working on an update that’s going to introduce an alternate mode where you can input speed of a layer directly - it looks like I overcomplicated it a bit with the “distance”. ✌

I'm a bit confused about using parallax.  Can you explain it a bit more?

Sure, for the start you’ll need an Aseprite file with multiple layers, it can have multiple frames as well if you want some (or all) of your layers to be animated.

Then you got to the Edit > FX > Parallax and a new window pops up, there you can see a list of all of your layers. Each one of them has a Distance value specified, just as in real life - layers that are further away (higher distance value) move slower than the layers that are closer (smaller distance value). Note that layers with their Distance set to 0 will stay static and won’t move at all.

To change how fast, and in what directions the layers will move in the generated animation, there are two values for Speed in the Movement section.

You can see how layers will align in motion by moving the Shift slider in the Preview section.

Finally, you can specify how many frames do you want to generate in the output animation, currently, there’s no option to generate perfect loops automatically but it is planned for the future.

All of this is shown in the last image from the description, if you’d have any further questions - let me know. ✌️

Hi! I have a problem with installing. I use Steam the last version and a Windows 10. This appears when I doubleclick the extension file.

I have a problem with Parallax. I made a drawing with several layers and tested the effect to see how it looked. I closed the new sprite without saving and made some changes to the drawings and recreated the effect. When I run the effect, the layers it shows me are two different (the changed one and the one before the change) making it look weird, like for example one of the layers gives a jump (I lowered it a little to make it look better) or a mountain looks without shadows (previous version) and continues with the shadows and starts again. What do I do?

I’ll investigate this issue, sounds odd as Parallax doesn’t hold any data, especially not previous versions of the sprite. 🤔

I’ll see if I can reproduce this, could you confirm the steps are:

  1. Create a sprite with multiple layers (original sprite)
  2. Generate the Parallax FX (correctly)
  3. Close the generated sprite
  4. Make changes to the original sprite, modifying the layers (but not adding new ones, or removing the old ones)
  5. Generate the Parallax FX (incorrectly, the result uses old version of layers from the original sprite)

"5. Generate the Parallax FX (incorrectly, the result uses old version of layers from the original sprite)"

Uses the old and new version of the layer. Both two. It puts it one after the other. I believe the rest of the steps are correct. 

In fact, I close Aseprite, open it again, try again and I get the same error. Restarting the PC as well. 

Also, I copy the layers into a new document and try the effect and I still get the same error. It is as if the layers themselves keep a history of changes.

(Maybe I can send you both documents? The Aseprite one and the parallax effect one) 

That would be very helpful, you can DM me on Twitter or email me at kac.wozniak[at]gmail.com.

PROBLEM SOLVED! (Thanks Kacper =D) 

If someone has the same problem, just trimming the canvas, checking "Trim content outside the canvas", will solve it. It seems that in the process something similar to the "tiles" option was created (or maybe I did it unintentionally). 

You're a living legend Kacper!

That’s way too kind, thank you ✌️

(1 edit)

anytime i try to open up the aseprite extension file. it gives me an error. can you please help me? (this is my first time trying to import one of your tools)

Could you provide what the text of the error is? Or perhaps a screenshot of it?

(3 edits)

the error just says it can't load the path of where the aseprite extension file is, idk if you're supposed to put the file in the scripts folder and run it

You shouldn’t need to put the file in the scripts folder.

It does sound like a file access issue, can you load any other files into Aseprite that are on the same drive or in the same folder as the extension file?

Just routinely I’ll ask as well - what Aseprite version and OS version are you running?

1. No, I cannot

2. I think i run on the newest version of aseprite and I'm on windows 11.

If I understand correctly, you cannot access any other file in the same place as the extension file. This would point to this definitely being a file access/permissions issue.

You should try moving it to a different place, or change the permissions of the file so it’s executable by the current user.

LCD Screen saves me a lot of work. Thank you so much for creating such cool extensions.

Hello! I can't add this plugin. I've already tried everything, but it doesn't install. Can you help me?

Of course, could you provide some more information? What are the steps that you’re trying? Does the extension appear in the Extensions tab in Preferences? Do you get any kind of error message?

I duble clicked icon FX.aseprite-extension and select Install and click OK and after that I restart Aseprite, but it doesn't appear. 

Yes, it appears in the Extensions, but it doesn't appear in Edit > FX so that I can use it.

It sounds similar to an issue that others reported, you might find some help in this thread, summarised in this tweet, as well as this one.

Let me know if any of these help your situation.

Awesome stuff as always 🙂

Thank you, that means a lot! ✌️

You rock Kacper.

I second that. :)


Thank you both! 🥲


Hello! I tried out v1.0.0, and it didn’t seem to work. When I disabled and enabled the extension, it said that there was a unexpected < in the extension.lua file at line 6. So I removed the <const> from both lines and that made it work. I’m running aseprite 1.3-beta6. Maybe it has a different lua version?


The extension was tested with version 1.2.35, that’s interesting that the beta branch doesn’t support the const tag.

Thank you for reporting this issue, I’ll look into it as I don’t currently know if and how the beta branch differs in it’s Lua interpretation.

more super cool and nifty tools!

thank you for making and sharing all of these!

You’re welcome ✌️