Resizing images by batch


I was wondering if anyone has any tips on re-sizing a batch of images in Aseprite.

I’ve created a set of 7,000 images in png format. The problem is that they are 32x32 pixels so very small.

I would like to re-size them 1000% larger so each image is 320x320 pixels, however the only way that I’ve found to do this is to open each file one by one and re-size and save the images individually.

If anyone has a better way to do this like doing batches of files at once it would be very helpful!


Aseprite doesn’t have batch functionality built-in, so if you want to batch an action, you would need to do a bit of scripting, either within Aseprite in Lua (cycle through open documents, export with 10x scale), or with a shell script that iterates a folder of images and uses the Aseprite CLI to export 10x-scaled versions.
The latter would look something like this Bash script:

aseprite="C:/Program Files (x86)/Steam/steamapps/common/Aseprite/aseprite.exe"
for file in D:/PATH_LOAD/*.png ; do
  $aseprite -b $file --scale 10 --save-as D:/PATH_SAVE/{name}

You’ll need to plug in your Aseprite location and paths where the files are located and where to save them.
This does an export, since it’s generally a bad idea to completely overwrite 1x files with 10x files, and because the CLI has no plain save, only save-as. However, you may be able to set the same directory for input and output, Aseprite might let you silently overwrite files in CLI mode, I haven’t tried xP

If this is for a game, consider doing the scaling automatically in-engine. Simply upscaling the source pixel art makes no difference to the final output and just wastes space, so with pixel art, it’s usually much more efficient to use the 1x image and do the scaling in-engine, just about every framework and engine supports nearest neighbour scaling.