A downloadable tool for Windows and Linux

Buy Now$9.99 USD or more

Spritify is a tool for the fast and easy generation of 2D sprites. It transforms simple input images consisting of smart pixels into many distinct output images with varying properties, such as gradient, noise and color which can then be exported and used in your projects.


Demo version

There's a demo version of Spritify that you can get for free to evaluate it. In the demo some of the import and export functions are disabled. Also many of the sizes and factors are greatly limited (Palette, Canvas, Sprite counts, Scaling factors, ...). All other features are available.


Quick overview


Note that several functions can also be performed via hotkeys. Hover your cursor over functions to see if there's a hotkey mapped to it.


On the canvas you can draw your input image which is then used to generate your sprites. The canvas displays both the color and behavior of individual pixels. The color is displayed as a pixel's color, the behavior as a character (More under Brushes). You can left click to draw single pixels, drag while holding the left mouse button to draw a path or right click to flood fill.


By default the canvas is filled with the Background color and None behavior


When hovering with your cursor, the currently active brush will be displayed


The canvas after drawing several pixels

The Preview

Below the canvas there's a preview of the sprite. It will display the same result you'd receive by performing an export. Please note that the preview's pixels are scaled to always use all available space, your exported result will likely have smaller pixels.


The sidebar contains all of Spritify's settings and controls. The sidebar is split in groups which can be expanded and collapsed by clicking a group's header.

Import | Export

Here you can save and load projects and export your sprites.

  • Load Import a previously saved Spritify project
  • You can also import projects by opening the files with Spritify or using drag&drop

  • Save Save your current project
  • Result.zip Export your sprite as .zip archive containing the individual .bmp images
  • Result.bmp Export your sprite as a single .bmp image (What you see in the preview)


Your current brush and pixels on the canvas consist of a color and behavior. The different brushes are described below.

Color brushes

The color brushes set the color a pixel will have.

The currently active brush is highlighted with [> You'll notice that each name here has its distinct color. These colors are also placed on the canvas when drawing with that brush.

  • Background Drawing pixels with the background color (similar to erasing pixels) You can set the background color in the Colors controls
  • Fixed Drawing pixels with the fixed color Pixels using this color will always have the same color. You can define which color to use in Colors
  • Dynamic Drawing pixels with the dynamic color Pixels using this color will vary in color. They might each end up with a different color, noise and shading in your final sprite. Many settings affect how these pixels behave, see more under FlagsShadingNoise and Palette
  • Dynamic | Background Pixels will randomly either become a Dynamic or Background pixel with a 50/50 chance
  • Fixed | Background Pixels will randomly either become a Fixed or Background pixel with a 50/50 chance
  • Fixed | Dynamic Pixels will randomly either become a Fixed or Dynamic pixel with a 50/50 chance
  • Fixed | Dynamic | Background Pixels will randomly either become a FixedDynamic or Background pixel with a 33/33/33 chance

Behavior brushes

The behavior brushes define the behavior of a pixel during the generation process.

The currently active brush is highlighted with [> You'll notice that the first character of each brush is highlighted. That's the character that is being placed onto the canvas if you use this brush.

  • None This is basically the 'background' or 'off' of the behaviors. Pixels of this type are considered to not exist at all during the simulation
  • Static This is basically the 'on' of the behaviors. Pixels of this type are always active and considered to be present during the simulation
  • If Pixels of this type are considered to be Static if they have a neighbor, otherwise they are considered to the None. With these pixels you can define areas that all turn on or off together
  • Walker These pixels will leave a trail on the canvas by following a random path. They'll stop randomly or if they hit something. They behave similar to the Snake game
  • Filler Pixels of this type will fill their surrounding area to a random degree. They are similar to the Walker pixels but instead of creating a trail, they create more radial shapes like drops of ink
  • Jiggler Jigglers will move randomly to a neighbor position or remain where they are
  • Any Chooses any of the other behaviors randomly

In this example you can see two groups of If pixels and a group of Filler pixels. In the result you'll notice that the If groups are either present entirely or not at all. Whenever one of the Filler pixels 'reached' one of the groups, the entire group got activated. (One of the If pixels activates due to having a neighbor, which then can activate another If pixel until the entire group is active)


Here you can find various functions to edit the canvas.

  • <- Undo the last canvas action (drawing, resizing)
  • -> Redo the last canvas action (drawing, resizing)
  • ++ Zoom in, displaying the canvas with larger pixels
  • -- Zoom out, displaying the canvas with smaller pixels
  • + Increase the size of the canvas by adding a row or column depending on the location of the button
  • - Decrease the size of the canvas by removing a row or column depending on the location of the button
  • 7x6 The current size is displayed at the center
  • ClearI Clear the canvas resetting all invisible pixels (outside of current drawing area) 
  • ClearA Clear the canvas resetting all pixels  


In this group you can find multiple flags to control the sprite generation.

  • Mirror right Mirror all pixels drawn onto the canvas to the right
  • Mirror down Mirror all pixels drawn onto the canvas downwards
  • Edge If the right or bottom edge should also be mirrored
  • Outline Outline the final result with Fixed pixels
  • Remove lonely Remove pixels without any neighbours


Below some examples explaining the mirroring flags:  

All mirroring is disabled and there's 4 pixels drawn to the bottom right of the canvas


Mirroring to the right is enabled, the edge is not mirrored. In addition to the 4 pixels we now see two of them being mirrored


Now both mirroring to the right and edge mirroring is enabled. There's now 8 pixels visible since all 4 input pixels were mirrored  

Additionally downwards mirroring is now enabled (no edge)


When this is active the Fixed color is used to outline the generated images. This usually only makes sense when also setting the Scaling to > 1, since otherwise most pixels will be overwritten.

Here the Outline setting is disabled

Here the Outline setting is enabled

Remove lonely

Removal of lonely pixels disabled, there's pixels without any neighbours in the output

Removal of lonely pixels enabled, there's no pixels without any neighbours in the output

Sprite counts

Here you can set the number of images your sprite will have. 

  • Count in x Number of images per row
  • Count in y Number of image rows


In this group you can configure the shading. 

  • Enable shading Here you can toggle the shading
  • Brightness Sets the brightness of the shading
  • Specific direction Enable this if you want to set a specific shading direction for all your sprite images. Otherwise a random direction is chosen per image
  • Direction Sets the shading direction if Specific direction is enabled Below some example shading configurations:

Here shading is disabled. There's no brightness gradient within the images

Shading is enabled, the brightness is set to high

In this image shading is enabled, the brightness set to low  

Here the shading direction is set to down


  • Strength Sets the strength of the noise (how noisy the sprite will be)

A low noise value  

A high value is set for the noise


You can scale your output image, creating several output pixels per input pixel. Be careful when combining this with high sprite counts since the sprite generation can then use a lot of memory and time. Also avoid setting high values for both scaling factors, since their multiplication affects the performance (both set to 10 -> ~100x worse)

  • Factor before This factor is applied before the simulation having an impact on it (more pixels with different values) This has a huge impact on the performance
  • Factor after This factor is applied at the end, only affecting the size of the output (pixels duplicated with their values) This has less impact on the performance, but still must be used with caution

A scaling (before) factor of one. Every input pixel creates an output pixel

A scaling (before) factor of two. Every input pixel creates 2x2 (4) output pixels

Scaled with a factor (before) of 16. Creating 16x16 (256) output pixels per input pixel


  • Fixed The color of Fixed pixels
  • Background The color of the background


The default color configuration of black Fixed pixels and a white background  

Using different colors


Here you can choose an image that will be used as source for Dynamic pixel colors. If you don't choose an image, random colors are used. Otherwise your image's pixels are used as input. 

  • Reset Unset the image and use random colors instead
  • Load Load an image as color source 

An image of a fire being used as palette

An image of the sky used as palette


Here you can define a seed used for the random generation. Changing this seed has a huge impact on the generated outcome.

  • Edit Text You can use the text field to set a specific seed
  • Roll Click to use a randomly chosen seed

Result with a specific seed

Using another seed but the same configuration and input yielding a different result


Buy Now$9.99 USD or more

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

SpritifyLinuxFull-1-13-0.zip 74 MB
SpritifyWinFull-1-13-0.zip 75 MB
SpritifyLinuxFull-1-13-0.zip.gpg 566 bytes
SpritifyWinFull-1-13-0.zip.gpg 566 bytes

Download demo

SpritifyLinuxDemo-1-13-0.zip 74 MB
SpritifyWinDemo-1-13-0.zip 75 MB
SpritifyLinuxDemo-1-13-0.zip.gpg 566 bytes
SpritifyWinDemo-1-13-0.zip.gpg 566 bytes

Development log