A downloadable tool for Windows, macOS, and Linux

Buy Now$5.00 USD or more

Tweencel - Advanced Tweening and Animation Control for Aseprite

Tweencel  is an Aseprite extension inspired by Godot’s tweening system, bringing a familiar and powerful workflow into pixel art animation.

It lets you create smooth transitions between frames with advanced controls for precision. Adjusting position, rotation, scale, or even color (HSLA).

While tools like Tween Machine and others also explore tweening in Aseprite, Tweencel was built to capture the flexibility of Godot’s approach, making your animations more fluid and dynamic.




✨Key Features


 🌀 Easing Options

Choose from various easing functions like Linear, Ease In/Out, Bounce, Elastic, or custom swaying to control how the animations transition between frames.


📐 Transform Tween

  • Tween Position: Interpolates the position of your sprite between frames.
  • Tween Size: Gradually adjusts the size of your sprite.
  • Tween Rotation: Smoothly transitions the rotation of your sprite.


Note: Rotating big images takes few seconds to process, so just wait for it to load.


🪄 Motion Path Options

Choose how your sprite moves between frames, beyond just straight lines:

  • Straight - Basic linear interpolation.
  • Arc - Adds a jumping arc or bounce feel to the motion.
  • Wave - Wavy sinusoidal movement in any direction.
  • Triangle (Zigzag) - Sharp snappy zigzag patterns using triangle waves.
  • Shake - Random jitter for camera shake or chaotic motion.



 🏀 Squash & Stretch Support

Add cartoony energy and elasticity to your tweens. Enable squash and stretch to exaggerate motion dynamically, automatically adapting to the direction of movement:

  • Horizontal motion - wider and flatter stretch
  • Vertical motion - taller and thinner squash

This adds personality and physics-inspired realism to your sprite animations.


🏳️‍🌈 Color Tween

Use the slider to directly adjust the image, just like how you use Hue/Saturation in the default settings.

  • Tween Hue: Adjusts the hue values of the sprite for color shifts.
  • Tween Saturation: Gradually increases or decreases color intensity.
  • Tween Lightness: Controls brightness transitions.
  • Tween Alpha: Tweens the sprite's transparency.



⚙️ Extra Settings

  • Expand Canvas:  Expand canvas to give you more space to do tweening off original canvas size
  • Reverse Order: Reverses the tweening sequence, letting you create effects in reverse.
  • New Layer: Places the generated tween cels in a new layer, keeping your original layer untouch.



🛠️ Create and Update Tween Buttons

  • Create Tween Cel: Generates intermediate frames based on your tweening settings.
  • Update Tween Cel: Modifies existing cels or tweens or updates their properties without starting over.




🔧 How to Use:

  1. Open Tweencel - Navigate to Edit>Tweencel in the top menu
  2. Choose from one of the easing options
  3. Select Your Cels:
    1.     You can select a specific range of cels.
    2.     Alternatively, select an entire layer to include all its cels.
  4. Prepare the First and Last Frames:
    1.     Ensure there is an image in both the first and last frames of your selection.
    2.     These two cels will act as the start and end points for your animation.
  5. Apply Tween:
    1.     Create Tween Cel Button:
      Tweencel will automatically generate the in-between frames based on your selected tween option.
    2.  Update Tween Cel Button:
       Allows you to modify an existing range of tweened cels without starting from scratch. This is perfect for making adjustments to your animation after it has been created.




💬 Feedback & Support

I’d love to hear your thoughts and see how you’re using Tweencel in your projects! Drop a comment or contact me directly for questions, suggestions, or just to share your amazing art.

Rate

If you find this tool helpful, I'd really appreciate if you could take a moment to leave a rating. Thanks a lot!




📜 See Also



🎨 Art Assets





Tweencel License Agreement

By downloading or using the Tweencel extension, you agree to the following terms:

  1. Personal and Professional Use: You may use Tweencel freely for personal, professional, and commercial projects.
  2. Restrictions:
    • You may not re-sell, copy, transfer, or distribute this extension, in whole or in part, without explicit written permission from the creator.
    • You may not modify and re-distribute the extension or claim ownership of the extension or any of its parts.
  3.  Liability: The creator of Tweencel is not liable for any damages or data loss resulting from the use of this extension. Use it at your own risk. By using the script included with this file, you understand that you are using it AS IS with no guarantees. Although the extension is not intended to cause harm, no warranty is provided. Please remember to save your work regularly.
  4.  Attribution: If you share content created using Tweencel, attribution is appreciated but not required.
  5. Modifications: You are free to modify the extension for personal use only. Sharing or distributing modified versions is prohibited.
  6. License Revisions: Devkidd reserves the right to revise this license as needed. Revisions apply to new downloads or updates only and do not retroactively alter terms for previous users.

Simple Usage License / Rights © Devkidd 2024-2025. All Rights Reserved.

Updated 1 day ago
StatusReleased
CategoryTool
PlatformsWindows, macOS, Linux
Rating
Rated 4.3 out of 5 stars
(6 total ratings)
AuthorDevkidd
Made withAseprite
Tags2D, Animation, Aseprite, Drawing, extension, Game Design, Pixel Art, plugin, Sprites, tween

Purchase

Buy Now$5.00 USD or more

In order to download this tool you must purchase it at or above the minimum price of $5 USD. You will get access to the following files:

Tweencel v2.2.2 - Released 12 kB
Tweencel v2.2.1 - Released 11 kB

Development log

Comments

Log in with itch.io to leave a comment.

Testing this with a simple sliding door. On frame 1 the door is closed. On frame 12, the door is offset 45 pixels to the right. Frames 2 through 11 are empty. I select the 12 frames, and create a straight tween. The result is that it creates frames 2 through 11 in which the image moves 2 pixels per frame, which is obviously not enough. I'm not sure what I'm missing.

(1 edit)

Hi werzaque, thanks for the detailed explanation. The setup you described is actually correct. It should read the cel in Frame 1, read the cel in Frame 12 (offset 45px), and generate proper in-between frames that smoothly interpolate the movement.

Since I’m currently away from my computer, I can’t test this exact case right now, but based on recent reports from other users, this behavior may be related to Aseprite version changes.

Tweencel was developed and tested on Aseprite v1.3.14-beta1, and some changes introduced in v1.3.15 may affect how cel positions are read by scripts. If you’re on 1.3.15 or higher, this could explain why the interpolation is incorrect.

When I get back to my machine, I’ll test your exact scenario and update Tweencel if needed.

In the meantime, could you let me know which version of Aseprite you’re using? That will help me confirm whether it’s a version-related issue.

Thanks again for reporting this,  your feedback is a huge help.

Hi Werzaque, I tested your exact setup on my end using both Aseprite v1.3.15.5 and Aseprite v1.3.14-beta1 to confirm, and Tweencel is generating the correct in-between frames.

Here’s the setup I used:

  • 12 frames total
  • Frame 1: door image (closed)
  • Frames 2–11: empty
  • Frame 12: same door image moved +45px to the right
  • Applied Position Straight Tween → Hit "Create" button

The tween interpolated the movement correctly from Frame 1 to Frame 12.

I also recorded a GIF demo to show how it looks on my end. https://postimg.cc/3ycWCZG5


Since things are working correctly here, your setup might be behaving differently for a reason I can’t see yet.

Could you share a short GIF of how you’re doing it on your side? And also let me know which Aseprite version you’re using?

Seeing your exact steps will help me understand what’s causing the different result.

Thanks again for reporting this, I appreciate your help in improving the tool!

Thanks for the reply. Hmmm... can't see to view your GIF. But in any case, I got it to work when I kept the selection marquee turned on (instead of pressing Esc to deselect after copying it to frame 12) and in that case it did work.

EDIT: I'm trying again today and it works now exactly as advertised and I can't seem to reproduce my earlier problem... Will report again if I bump into it, but maybe I didn't reboot Aseprite after loading your script. Not sure if that makes sense but... 

Hi, I have a problem with all the color tweens ( Hue,Saturation etc), it doesn't seem to create the inbetweens, here's an example I recorded : https://postimg.cc/RJRcYybY

(1 edit)

Hi Chroniker99, thanks a lot for sharing the report and the video! 🙏

This might be related to how Aseprite handles color data between frames.

I’ve tested Tweencel on Aseprite v1.3.14-beta1, so knowing your version will help me check if it’s a compatibility issue. Could you let me know which version you’re using? I’ll try to reproduce it on my end and see what’s causing it.

My version is the v2.2.1, I tried with the V2.2 and V2.1 they had the same issue

Sorry, i mean what version of Aseprite you're using.

My Aesprite version is v1.3.15.4-X64

I just installed the latest Aseprite update (v1.3.15.4) and was able to reproduce the issue , it seems there’s a compatibility problem with the color tweening. Rest assured, I’ll release an update soon to fix it. 👍

Hi Chroniker99, thank you for your patience and understanding. I wanted to let you know that I’ve created and uploaded a new patch update for Tweencel (v2.2.2) to address the color tweening issue on the latest version of Aseprite (v1.3.15).

You can now download the updated version, and it should work smoothly with the new Aseprite release.

Thanks again for your support!

alpha tweening not working. it doesnt create the inbetweens and when tweaking the bar its laggish and stuck. also if you crank it up or down it deforms the layer

(3 edits)

Hi Nohazure, thanks for the feedback! 🙏

The lag or “stuck” feeling when adjusting the alpha bar happens because the slider directly updates and applies the image alpha in real time. I recommend clicking along the slider instead of dragging it to quickly jump to your desired value.

Also, unchecking “Tween Alpha” will undo the alpha changes on the currently selected cel image.

https://postimg.cc/9rczRK79

When you select an entire layer, the alpha update is applied to all cels in that layer.

So if you only want to fade a specific cel, make sure to select that cel only before changing its alpha.


🔹 To fade out:

  1. Select the last cel image.
  2. Adjust its alpha value.
  3. Once you have the desired transparency, select all cels from first to last, then click “Create” to generate the in-between frames.

https://postimg.cc/N509CZjj

🔹 To fade in:

  1. Select the first cel image.
  2. Adjust its alpha value.
  3. Once you have the desired transparency, select all cels from first to last, tick “Reverse order,” and click “Create.”

https://postimg.cc/t1d44z4h


edit: added GIF link for the demo. seems like gif no longer works in the comments

Hi Nohazure, I just installed the latest Aseprite update (v1.3.15.4) today and was able to reproduce the issue, it seems there’s a compatibility problem with the color tweening. Rest assured, I’ll release an update soon to fix it. 👍

Hey! Thank you for the response.

I couldnt answer before, but thanks a lot for the notice!

I assumed it was something related with recent updates.

Thank u!

Hi Nohazure, thank you for your patience and understanding. I wanted to let you know that I’ve created and uploaded a new patch update for Tweencel (v2.2.2) to address the color tweening issue on the latest version of Aseprite (v1.3.15).

You can now download the updated version, and it should work smoothly with the new Aseprite release.

Thanks again for your support!

Does not work as intended


I used it as described to try and make an ibetween for my Tween animation and it generated images that were just roatated and deformed jumping out of the canvas. Tried lowering the Squish? Still did it. Gave it more frames to see if that was issue; nope it just multiplied its broken frame

Hi kumniver, thanks for trying it out and for sharing your experience 🙏 I understand how frustrating it can feel when the result doesn’t match the examples.

Could you share a short video or GIF of what’s happening on your end? That way I can properly assess the situation and see what might be causing it.

Hey
is there anyway you can put an HSV bar option too?.. RIght now we only have the HSL option

Hey! Thanks for the suggestion. I’ll look into adding an HSV bar option alongside HSL in a future update.

Thank you.

Great work on the tools btw…

does someone have a alt download link? itch isnt letting me download it

Deleted 330 days ago
(+2)

Hi Erans, were you able to download it? Please try again or maybe use a different browser. Thank you.