[Extension] Isoflip - turn front-view pixel art into isometric (free, runs in your browser)

isoflip-demo

Hi all. I made Isoflip, a free tool that turns front-view (or top-view) pixel art into isometric pixel art, and a small Aseprite extension that sends your current frame to it with one menu click.

Drawing every chest, crate and piece of furniture twice, once front-on and once isometric, is slow. Isoflip gives you a pixel-for-pixel starting point for the isometric one. You still clean it up in Aseprite afterwards.

How it works

  1. In Aseprite, File > Open in Isoflip.
  2. The script flattens the current frame (visible layers only) into a temporary PNG, puts it inside a link, and opens that link in your default browser.
  3. Isoflip shows the isometric version next to your drawing. Adjust it, then export a PNG.

Nothing is uploaded. The PNG travels in the part of the link after the #, and a browser never sends that part to any server, so Isoflip reads your drawing on your machine and the conversion runs in the browser. Your sprite is never modified, and the temporary file is deleted right after the browser starts.

Heads-up: the website is the tested part and works. The extension is brand new and hasn’t been tried on many setups yet, so it may misbehave. If it does, export your frame as a PNG (File > Export) and drop it on the site instead, and please tell me what went wrong.

Install (extension)

  1. Download https://www.isoflip.app/isoflip.aseprite-extension
  2. Drag it into Aseprite, or go to Edit > Preferences > Extensions > Add Extension and pick the file. Restart Aseprite if it asks.
  3. File > Open in Isoflip appears (greyed out until a sprite is open).

Install (plain script)

  1. Download isoflip.lua from the same place (swap the end of the link above for isoflip.lua) and put it in your scripts folder (File > Scripts > Open Scripts Folder shows where it is).
  2. File > Scripts > Rescan Scripts Folder.
  3. File > Scripts > isoflip runs it on the current sprite.

The first time, Aseprite asks whether the script may write and read a temporary file, run a command (to start the browser) and delete the file. Those are the only things it does.

What you can adjust in Isoflip

  • Shape: Box (the drawing is the front of a solid), Round (every row becomes a 2:1 ellipse, for barrels, pots and such) or Floor (a top view becomes a 2:1 diamond with thickness). It guesses one from your drawing and Reset returns to the guess.
  • Depth and facing, plus which side is the lighter one.
  • Outline on or off.
  • Draw on either side with pencil, eraser, fill, lines and so on, before you export.
  • Spritesheets: opened as a sheet, each object is converted on its own and laid out again in the same rows and columns.
  • Animated GIFs: open as a sheet of their frames, and Export GIF puts them back together.

Known limits

  • Sprites up to 512x512 only, and only the current frame is sent. For animation, export a GIF or spritesheet from Aseprite and drop it into Isoflip yourself.
  • The frame travels inside a link, so there is a size cap. The script refuses links over 60,000 characters (about 45 KB of PNG) on macOS and Linux, and over 8,000 characters (a few KB of PNG) on Windows, because the command that starts the browser is shorter there. A 32x32 sprite is fine everywhere; a big or very detailed one may not be. In that case the script tells you, and you can export a PNG and drop it into Isoflip.
  • It is a starting point for a hand-finished isometric sprite, not a magic button. Complex organic shapes will need cleanup.
  • Needs a browser and an internet connection to load the page (once loaded, the conversion itself is local).
  • It is new, so reports from different Aseprite versions and systems are very welcome.

Link

https://www.isoflip.app (free, no account, English)

Feedback

This is version 0.1.0 and I would like to hear what breaks. Especially useful: sprites that convert badly (a screenshot of the input helps), platforms where the browser does not open, and whether it would be more useful as a dialog inside Aseprite or if the browser step is fine. Thanks for reading!