Learning how to make 16-bit pixel art comes down to a few habits: work on a small canvas, limit your colours, place every pixel on purpose, and keep the image sharp when it reaches the screen. This guide walks through what “16-bit” really means, which sprite sizes and palettes to start with, how to draw and shade a character by hand, how to animate it, and how to turn AI art or photos into clean, grid-true pixel art when you need assets fast.
What does “16-bit” actually mean in pixel art?
Pixel art is digital art built from individual pixels, where each one is placed deliberately. It is closely associated with the low-resolution graphics of 8-bit and 16-bit era computers and consoles, which could only show a limited number of pixels and colours at once. Those limits forced artists to make every dot count, and the resulting look stuck around long after the hardware stopped needing it.
Today, “16-bit” is a style label, not a technical setting. You do not save your file in a special 16-bit format; you save an ordinary PNG. What the label promises is a recognisable look:
- Small sprites. A sprite is a two-dimensional bitmap placed into a larger scene, which is how most 2D game characters and objects are drawn. In 16-bit style these are usually somewhere around 16 to 64 pixels tall.
- Limited palettes. A palette is the fixed set of colours you allow yourself. 16-bit style uses more colours than 8-bit, but still few enough that each one is a decision.
- Real shading. Compared with 8-bit art, which often relies on flat colour and strong outlines, 16-bit art adds shading ramps, highlights and some texture.
- Visible pixels. The image is scaled up for display, but every pixel stays a crisp square.
So when you ask how to make 16-bit pixel art, you are really asking how to work inside a set of self-imposed limits that create that look. The rest of this article is about choosing those limits well.
Choosing a canvas size and palette for 16-bit sprites
The two choices that shape everything else are resolution and colour count. Get these right before you draw a single line.
Canvas size
Your canvas size is the actual pixel dimensions of the sprite before any scaling. Smaller canvases are faster to draw and easier to keep consistent; larger ones allow faces, hands and clothing detail.
| Sprite size | Good for | Trade-off |
|---|---|---|
| 16x16 | Items, icons, tiny overworld characters, first practice pieces | Faces are a few pixels; readability depends on silhouette |
| 32x32 | Top-down RPG characters, platformer heroes, enemies | The common middle ground; room for shading without huge workload |
| 48x48 to 64x64 | Fighting-game style characters, bosses, portraits | Every animation frame takes much longer to draw |
A practical rule: pick the smallest size that lets your character read clearly, and keep every character in the same game at a consistent scale. A 32x32 hero standing next to a 64x64 villager drawn at the same pixel density looks fine; mixing pixel densities (a sprite scaled 2x next to one scaled 3x) does not.
Palette
Start with a small palette, roughly 16 to 32 colours for a whole scene, and only a handful per sprite. Organise colours into ramps: a ramp is a sequence of shades of one hue, from darkest shadow to brightest highlight. Three to five steps per ramp is plenty for 16-bit style.
Two tips make ramps look professional. First, shift the hue as you go: shadows lean slightly toward blue or purple, highlights lean toward yellow, instead of just mixing in black and white. Second, share colours between ramps, so the darkest skin shade doubles as the dark outline of a brown belt. Shared colours make a sprite look unified.

How to make 16-bit pixel art by hand: the core steps
Any editor with a one-pixel hard brush, a grid and nearest-neighbour resizing will work, whether that is Aseprite, Photoshop, Procreate or a free browser editor. In Photoshop, use the Pencil tool rather than the Brush tool, because the brush anti-aliases its edges. In Procreate, set up a small canvas and use a hard square brush with smoothing turned off. Then follow the same sequence every time.
1. Block the silhouette
Fill the character’s outer shape in one dark colour. If you cannot tell what it is from the silhouette alone, no amount of shading will save it. Exaggerate: bigger heads, wider stances and oversized weapons read better at small sizes.
2. Fill flat colours
Split the silhouette into regions (skin, hair, tunic, boots) and fill each with the middle shade of its ramp. Do not shade yet. Check that neighbouring regions contrast enough to stay distinct when the sprite is small on screen.
3. Shade from one light source
Pick a light direction, usually top-left or top-front, and stick to it for every sprite and tile in the game. Add the darker shade where forms turn away from the light, then a highlight on the surfaces facing it. Shade in clusters, groups of same-coloured pixels that describe a form, rather than scattering lone pixels, which reads as noise.
4. Refine outlines
Many 16-bit sprites use a dark outline that is slightly coloured to match the area it borders (dark red around a red cape, not pure black). Some artists drop the outline on the lit side, called selective outlining, to make the sprite feel lit.
5. Clean jaggies and stray pixels
Jaggies are uneven steps in a line, such as a run of 3 pixels then 1 then 2. Smooth curves step in consistent patterns (3, 2, 1 or 2, 2, 1, 1). Remove doubled pixels where a line turns into an L-shaped corner, and delete orphan pixels that do not belong to any cluster.
6. Use anti-aliasing and dithering sparingly
Manual anti-aliasing means placing an in-between colour where two shapes meet to soften a jagged edge. Dithering means a checkerboard of two colours to suggest a third. Both are useful at 16-bit sizes but get overused by beginners; if a sprite looks blurry or busy, remove some.
That six-step loop is the honest answer to how to make 16-bit pixel art by hand. It is slow at first, and that is normal: the learning is in the clean-up passes.
Animating a 16-bit sprite and building a sprite sheet
A static sprite is half the job. Games need idle, walk, attack and hurt animations, and they need them packed into a sprite sheet: one image that holds every frame in a grid. In technical terms a sprite sheet is a texture atlas, a single image containing many smaller images, which lets a game engine load one file and cut frames out of it.
Keep animations short in 16-bit style. A walk cycle of 4 to 6 frames and an idle of 2 to 4 frames is typical and looks right for the era. A few rules keep frames consistent:
- Same canvas size for every frame. If the attack frame needs extra room for a sword swing, enlarge all frames, not just that one.
- Anchor the feet. The character’s base should sit on the same row in every frame, or it will jitter in-game.
- Use onion skinning. Most pixel editors can show the previous frame faintly under the current one, so you can move parts by a pixel or two at a time.
- Change silhouettes, not just colours. A walk reads because limbs and the head bob change the outline.
Lay the frames out left to right in a single row per animation, with no gaps, so an engine can slice them by frame width and height. If you want a faster route to animated characters, Auto-Sprite v2 creates game-ready 2D sprites for any character, animation and art style, which you can then bring into a pixel-art workflow.





