Aseprite Scripts Collection

wow, love this script! Thank you for making and sharing!

1 Like

it does not work :frowning: Annotation 2020-08-18 164935

@AseAseAse I have just tried that script and it works perfectly. Are you using the last version of Aseprite? Have you downloaded the correct file?

When downloading scripts from github repositories you must right click on “raw” button and then choose “save as” to get the correct file, if not you could be saving an “html” file instead of the “lua” file that you need.

I hope it helps! :slight_smile:

I will try, I’m new in aseprite, thanks!

1 Like

No problem! And welcome to Aseprite community! ^_^/

I made a tool for animate an image (multi-layer allowed) according a desired path, gif mini tutorial included, enjoy!:grinning_face_with_smiling_eyes:
Github repository: here
This tank was done with ‘path_animator.lua’ (caterpillar pads, tank vibration, tree shadow) and ‘rotar.lua’ (the wheels):
The most very basic tutorial of this tool:
You can report issues on


oh, wow, this is very impressive! thanks for sharing.

1 Like

Oh wow this is great. Good work.

1 Like

Merge All Tabs

It will just combine all your open tabs into 1 spritesheet.
Someone please tell me if there’s a built in way to do this…


In the throes of my beginner stages, I assembled various animations from an existing spritesheet into layers on top of each other. Is there a way to export each layer as its own GIF? The Export option lets you select a layer to export, but is there a script that will automate the rest (similar to the Export All Layers as PNG script)?

Pic related, I would want Idle.gif, Stand 1.gif, Stand 2.gif, etc. without the layers overlapping (so it would have to reveal and hide the layers one by one during the procedure). I searched and couldn’t find a script that did this. Thanks for any help.

welcome Tenome!
it seems to me there are two options:

  1. use export layers as png and then drag’n’drop all files to aseprite. aseprite will ask you if you want to import files as sequence. check the option “do the same for other files” and you’ll get all your sequences as separated sprites, which you can export as gif.

  2. in export layers as png script at the line 59:
    sprite:saveCopyAs(pathPrefix .. layerName .. pathSufix .. ".png")
    change png to gif. note that you’ll have to create the subfolder manually - if the name of your sprite is file the subfolder has to have a same name, otherwise you’ll get an error Error saving file: Cannot save file file in the given location. i don’t know why.
    all exported files with multiple frames will have a suffix _. if you don’t want that change at the line 102: multipleFrames = "_" to multipleFrames = "" or remove whole

    if (#sprite.frames > 1) then multipleFrames = "_" end

I’ll try that, thanks. In the future, would it be better to have each animation as its own Aseprite file? I thought that would be cluttered hence me putting them all in one file. Lesson learned.

i guess it depends on your workflow, i have everything related to one sprite or asset crammed in one source file too. not sure if it’s a good habit or not. :]]

Made a script to display the total number of non-empty cels from visible layers. Or, in naive terms, the total frame count.
It’s ugly but it works.

-- Made 2021/01/17 00:32-02:14 by Unknow0059. For version of commit 9f88508 and higher.
tally = 0
for index, layer in ipairs(app.activeSprite.layers) do
    if layer.isVisible then
        for index, cel in ipairs(layer.cels) do
            if not cel.image:isEmpty() then
                tally = tally + 1

Hi, I created script for perlin noise generation, that can be used for water/clouds textures. Scritp for generation of normal maps is in repository as well. GitHub - Ondra09/AseWave: Water/Clouds generation plugin for Aseprite editor

1 Like

I’ve been toying with some scripts, just some simple bits and pieces that I put together for my own amusement.

  • Ghost Images : Animation effect similar to onion skinning. The script will generate a new layer containing a number of ‘Ghosts’ of previous frames.
  • Layer Transition : Generates a new layer with a simple transition effect between two existing layers.
  • Load Palette From CSV : Load a palette from a CSV file with red, green, blue, alpha columns.
  • Save Palette To CSV : Save current palette To CSV file with red, green, blue, alpha columns.
  • Selected Pixel Count : Counts the number of pixels in an arbitrary shaped selection.

They’re up on github

Hopefully they maybe of use to someone.


A new extension for Aseprite: MSX image file import.


Hi everyone, thanks for all these scripts. :slightly_smiling_face: I’m having trouble finding one that does the exact thing I need, or knowing the terminology for it…

Is there a script that can scan an indexed color image and tell me if I’ve used more than X palette colours in a single pixel height horizontal line? I’m working on Amiga copper backdrops and have a 3 colours (+ transparent/black) per line limitation to work around and it’s surprisingly difficult to do it by eye. Even better if it could highlight the lines somehow?

Here try this script: eg_palrowmax.lua - Google Drive :slight_smile:
You may edit value of MAX_COLORS_IN_ROW at 5th row inside script if you want some other max count.


Thank you so much! :smiley:

… I don’t quite understand how it works, sorry! haha,. When I run it in file/scripts it pops up “All OK!” but i don’t know if it did anything… It says All OK! whatever picture I try it on? I’m maybe doing it wrong. I’m on Aseprite 1.2.27