Skip to content

exporting data from pixelorama (en)

nklbdev edited this page Mar 21, 2026 · 3 revisions

About importing data from Pixelorama

en ru

Logo

Pixelorama is a pixel art editor built on the Godot engine. A great example of how Godot can be used not only as a game engine, but also as a desktop application development tool. This software is open source and licensed under the MIT license. The repository is on GitHub.

Pixelorama out of the box allows you to use:

  • Layers
  • Timeline (table of frames and layers)
  • Tags on the timeline, indicating sections of individual animations
  • Editable palettes
  • Tools assigned to the left and right mouse buttons
  • And much more

<p-align="center"> Screenshot

Pixelorama timeline tags are used to export a series of animations from a Pixelorama document (*.pxo). Unfortunately, they cannot separately specify the playback direction and the number of animation repetitions. Therefore, to specify these parameters, use the suffixes added at the end of the tag name:

<animation_name> [-d:<direction>] [-r:<repeat_count>]

Where:

  • direction - animation direction. Possible values:
    • f (forward) - forward (default)
    • r (reverse) - back
    • pp (ping-pong) - forward and then back
    • ppr (ping-pong reverse) - first back and then forward
  • repeat_count - the number of repetitions of the animation (default 1). If 0 is specified, the animation will loop indefinitely.

For example:

Idle -r:0
Run -r:0
Jump
Crouch
Hurt
Die
Special -d:pp -r:0

<p-align="center"> Screenshot

Split layers

By default, Importality composites all visible layers into a single sprite per frame. Enabling the Split layers import option creates a separate set of animations for each visible pixel layer. The resulting animation names follow the pattern:

<layer_name>/<tag_name>

This is useful when you have several character animations drawn on different layers simultaneously so that you can see them all at once in Pixelorama.

Per-layer canvas offset

When working with split layers, each layer may be drawn at a different position on the canvas. To correctly position sprites after import, you can specify a per-layer canvas offset using the -o:x,y parameter. The offset shifts the layer content so that the point (x, y) on the canvas becomes the origin (0, 0) in the exported sprite.

You can specify the offset in two ways — the layer name takes priority over user data:

In the layer name:

My Layer -o:64,0

In the layer User Data field (available in layer properties):

-o:64,0

Both x and y may be negative. Pixels outside the canvas bounds after the shift are clipped automatically.

Clone this wiki locally