Getting started with Aseprite: pixel art for beginners.
Aseprite is the pixel art editor that most professionals use. It costs about $20, it runs on everything, and it does exactly one thing very well: making pixel art and animating sprites. This guide walks through the interface, the essential tools, and the process of creating your first sprite from a blank canvas to an exported file.
Why Aseprite and not Photoshop
You can make pixel art in Photoshop, GIMP, or even MS Paint. People have been doing it for decades. But Aseprite is purpose-built for pixel work, and the difference shows up in small ways that add up fast. The pencil tool places exactly one pixel with no anti-aliasing. The palette system is designed for limited colour counts. The animation timeline treats each frame as a discrete cel rather than a layer effect. The export options include sprite sheets, GIF animation, and indexed PNG with exact colour control.
Photoshop fights you on pixel art because it was designed for photography and print graphics. It anti-aliases by default, it smooths edges, it works in floating-point colour rather than indexed palettes. You can turn all of that off, but you're constantly working against the tool's defaults. Aseprite's defaults are your defaults. Everything is pixel-aligned from the start.
Aseprite costs $19.99 on Steam or from the official site. There is no subscription. You buy it once and it works forever. If you want it for free, the source code is available on GitHub and you can compile it yourself, which takes about ten minutes on any platform.
The interface: what you're looking at
When you open Aseprite for the first time, the interface looks like it was designed by someone who thinks in grids. That's accurate. Here's what each section does:
The canvas is the large central area where your sprite lives. It shows your art at the current zoom level. Scroll to zoom in and out. At high zoom levels, the pixel grid becomes visible and each pixel is individually clickable.
The toolbar is on the left side. It contains the drawing tools: pencil, eraser, bucket fill, line, rectangle, ellipse, selection tools, and the eyedropper. The pencil tool (shortcut: B) is the one you'll use 90% of the time. It places a single pixel in the current colour. No feathering, no anti-aliasing, no pressure sensitivity. Just a pixel.
The colour palette is at the bottom. It shows the active palette as a grid of swatches. Click a swatch to select that colour as your foreground colour. Right-click to set the background colour. You can load pre-made palettes (Aseprite ships with several, including classic console palettes like NES, Game Boy, and SNES) or build your own.
The timeline is at the bottom of the screen (toggle it with Tab if it's not visible). It shows frames (for animation) and layers. If you're making a static sprite, you'll work on a single frame and possibly multiple layers. If you're animating, each column in the timeline is a frame.
Creating your first sprite
File > New Sprite. Set the canvas size. For your first project, use 32x32 pixels. This is the classic sprite size for many retro games and it's large enough to hold a recognisable character while being small enough to fill quickly. Set the colour mode to Indexed and choose a palette (start with the DB32 palette, which has 32 well-chosen colours that cover most needs).
Start simple. Draw a circle for a head using the ellipse tool, or just place pixels manually with the pencil. Add two eyes, a mouth, a body. At 32x32, every pixel counts. A character's expression can change completely by moving a single eye pixel one position to the left.
Some practical tips for your first sprite:
- Work in layers. Put the outline on one layer and the fill colours on another. This lets you adjust colours without redrawing the outline.
- Limit your colours. Professional pixel art uses surprisingly few colours. A good 32x32 character sprite might use 6-10 colours total. More colours doesn't mean better art; it often means muddier art.
- Avoid pure black for outlines. Use a very dark version of the adjacent fill colour instead. A dark brown outline next to brown skin, a dark blue outline next to a blue shirt. This creates a softer, more cohesive look.
- Zoom out frequently. Your sprite will be displayed at 1x or 2x size in most contexts. If it doesn't read clearly at that size, the details you're adding at 800% zoom don't matter.
Animation basics
Sprite animation in Aseprite works on a simple frame-by-frame model. Each frame is a separate drawing, and the timeline plays them in sequence. There are no tweens, no motion paths, no automatic interpolation. Every frame is drawn by hand, which is both the challenge and the charm of pixel animation.
To add a frame, click the "New Frame" button in the timeline or press Alt+N. The new frame will be a copy of the current frame, which is usually what you want. Then modify the copy: move an arm, shift the eyes, adjust the position by a pixel or two.
For a simple idle animation (the character breathing or bobbing slightly), four frames is enough:
- Frame 1: neutral position
- Frame 2: body shifted up by 1 pixel
- Frame 3: neutral position again (copy of frame 1)
- Frame 4: body shifted down by 1 pixel
Loop those four frames at about 200ms per frame and you have a character that feels alive. The subtlety matters. Big movements look cartoonish. Small, 1-2 pixel movements feel organic.
For walk cycles, the standard is 4-8 frames. Each frame adjusts the leg and arm positions by small increments. The key frames are: contact (foot hitting the ground), passing (legs crossing), and push-off (back foot leaving the ground). Start by drawing the two contact poses, then fill in the frames between them.
Export settings
When your sprite is done, export it correctly or the work is wasted. Aseprite offers several export options:
PNG (static sprites): File > Export As > PNG. Make sure "Scale" is set to 1x unless you specifically want an upscaled version. Use indexed colour mode to keep the file size tiny and the colours exact.
GIF (animated sprites): File > Export As > GIF. This preserves the animation and frame timing. Good for sharing online, posting to social media, or embedding in a website.
Sprite sheet (for game engines): File > Export Sprite Sheet. This lays out all your animation frames in a single image, either as a horizontal strip or a grid. Most game engines (Unity, Godot, GameMaker) import sprite sheets and slice them automatically. Set the layout to "Horizontal Strip" for simple animations or "By Rows" for complex ones with multiple animation states.
Keyboard shortcuts worth memorising
Aseprite is fastest when you keep your hands on the keyboard for tool switching and use the mouse only for drawing. Here are the shortcuts that save the most time:
- B = Pencil tool (your default)
- E = Eraser
- G = Paint bucket
- I = Eyedropper (or just hold Alt while using the pencil)
- M = Marquee selection
- L = Line tool
- U = Rectangle / Ellipse
- X = Swap foreground and background colours
- Ctrl+Z = Undo (use it constantly, no shame)
- Alt+N = New frame
- . and , = Next frame / Previous frame
Aseprite also supports custom brush shapes, tiling mode (for making seamless patterns and tiles), onion skinning (ghosting previous and next frames to help with animation), and scripting via Lua. Those are all intermediate-to-advanced features that you can explore once you're comfortable with the basics.